Changeset 358


Ignore:
Timestamp:
08/26/10 05:43:49 (18 months ago)
Author:
antonbatenev.ya.ru
Message:
  • Исправление ошибки с работой прокси-сервера ( http://rsdn.ru/forum/janus/3933985.1.aspx);
  • Частичное приведение форматирования макросов к единому виду;
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/form_main.cpp

    r344 r358  
    6060        connect(m_menu_service_settings,               SIGNAL(triggered()), this, SLOT(menu_service_settings_triggered())); 
    6161 
    62         #ifdef AVALON_USE_ZLIB 
     62#ifdef AVALON_USE_ZLIB 
    6363        connect(m_menu_service_storage_compress,       SIGNAL(triggered()), this, SLOT(menu_service_storage_compress_triggered())); 
    6464        connect(m_menu_service_storage_uncompress,     SIGNAL(triggered()), this, SLOT(menu_service_storage_uncompress_triggered())); 
    65         #endif 
     65#endif 
    6666 
    6767        // 
     
    8484        connect(m_tool_bar_forward,      SIGNAL(triggered()), this, SLOT(tool_bar_forward_triggered())); 
    8585 
    86  
    8786        // интерфейсы 
    8887        m_forum_tree->setMainForm(this); 
     
    10099        // т.к. из перезагрузки выполняется управление включением/выключением возможных действий (см. IFormMain::setEnabledAction) 
    101100        m_forum_tree->reload(); 
     101 
     102        // установка прокси для отображения сообщений 
     103        m_message_view->View->page()->networkAccessManager()->setProxy(FormRequest::defaultProxy()); 
    102104 
    103105        // таймер периодической синхронизации 
     
    743745                // перезагрузка дерева форумов 
    744746                m_forum_tree->reload(); 
     747 
     748                // переустановка прокси для отображения сообщений 
     749                m_message_view->View->page()->networkAccessManager()->setProxy(FormRequest::defaultProxy()); 
    745750 
    746751                // таймер синхронизации 
     
    898903        form->exec(); 
    899904} 
    900 #endif   // #ifdef AVALON_USE_ZLIB 
     905#endif   // AVALON_USE_ZLIB 
    901906//---------------------------------------------------------------------------------------------- 
    902907 
     
    937942        form->exec(); 
    938943} 
    939 #endif   // #ifdef AVALON_USE_ZLIB 
     944#endif   // AVALON_USE_ZLIB 
    940945//---------------------------------------------------------------------------------------------- 
    941946 
  • trunk/form_main.h

    r246 r358  
    8282                void menu_service_settings_triggered               (); /*!< \brief Сервис / Настройки */ 
    8383 
    84                 #ifdef AVALON_USE_ZLIB 
     84#ifdef AVALON_USE_ZLIB 
    8585                void menu_service_storage_compress_triggered       (); /*!< \brief Сервис / Хранилище / Упаковать   */ 
    8686                void menu_service_storage_uncompress_triggered     (); /*!< \brief Сервис / Хранилище / Распаковать */ 
    87                 #endif 
     87#endif 
    8888 
    8989                // 
     
    116116}; 
    117117 
    118 #endif 
     118#endif   // _avalon_form_main_h_ 
  • trunk/form_request.cpp

    r354 r358  
    2323        m_hack = 0; 
    2424 
     25        QNetworkProxy proxy = defaultProxy(); 
     26 
     27        if (proxy.type() != QNetworkProxy::NoProxy) 
     28                m_http.setProxy(proxy); 
     29 
    2530        m_http.setHost(host, port); 
    26         m_http.setProxy(QNetworkProxy::applicationProxy()); 
    2731 
    2832        QHttpRequestHeader request_header(header); 
     
    4145 
    4246        connect(m_button_cancel, SIGNAL(clicked()), this, SLOT(reject())); 
     47} 
     48//---------------------------------------------------------------------------------------------- 
     49 
     50QNetworkProxy FormRequest::defaultProxy () 
     51{ 
     52        QSettings settings; 
     53 
     54        QNetworkProxy proxy; 
     55 
     56        if (settings.value("proxy/enabled", false).toInt() != false) 
     57        { 
     58                QString proxy_type = settings.value("proxy/type", "HTTP").toString(); 
     59 
     60                if (proxy_type == "HTTP") 
     61                        proxy.setType(QNetworkProxy::HttpCachingProxy); 
     62                else if (proxy_type == "SOCKS 5") 
     63                        proxy.setType(QNetworkProxy::Socks5Proxy); 
     64                else if (proxy_type == "CONNECT") 
     65                        proxy.setType(QNetworkProxy::HttpProxy); 
     66                else 
     67                        proxy.setType(QNetworkProxy::DefaultProxy); 
     68 
     69                proxy.setHostName (settings.value("proxy/host",     "").toString()); 
     70                proxy.setPort     (settings.value("proxy/port",     0 ).toInt()); 
     71                proxy.setUser     (settings.value("proxy/login",    "").toString()); 
     72                proxy.setPassword (settings.value("proxy/password", "").toString()); 
     73        } 
     74        else 
     75        { 
     76                proxy.setType     (QNetworkProxy::NoProxy); 
     77                proxy.setHostName (""); 
     78                proxy.setPort     (0); 
     79                proxy.setUser     (""); 
     80                proxy.setPassword (""); 
     81        } 
     82 
     83        return proxy; 
    4384} 
    4485//---------------------------------------------------------------------------------------------- 
  • trunk/form_request.h

    r231 r358  
    5757                QString getResponseHeader (); 
    5858 
     59                /*! 
     60                 * \brief Возвращает прокси-сервер по умолчанию 
     61                 * \return Описатель прокси-сервера 
     62                 */ 
     63                static QNetworkProxy defaultProxy (); 
     64 
    5965        private: 
    6066 
     
    109115}; 
    110116 
    111 #endif 
     117#endif   // _avalon_form_request_h_ 
  • trunk/form_request_ui.h

    r226 r358  
    3636}; 
    3737 
    38 #endif 
     38#endif   // _avalon_form_request_ui_h_ 
  • trunk/form_settings.cpp

    r356 r358  
    7474        if (text == "MySQL") 
    7575                e = true; 
    76          
     76 
    7777        m_text_database_host->setEnabled(e); 
    7878        m_text_database_port->setEnabled(e); 
     
    116116        settings.setValue("mysql/login",    m_text_database_login->text()); 
    117117        settings.setValue("mysql/password", m_text_database_password->text()); 
    118          
     118 
    119119        settings.setValue("sqlite/file", m_text_database_file->text()); 
    120120 
     
    129129        settings.setValue("ui/tagline",              m_text_tagline->text()); 
    130130 
    131         #ifdef AVALON_USE_ZLIB 
     131#ifdef AVALON_USE_ZLIB 
    132132        settings.setValue("storage/compression", (m_check_compression->checkState() == Qt::Checked ? 1 : 0)); 
    133         #endif 
    134  
    135         #ifdef AVALON_USE_ASPELL 
     133#endif 
     134 
     135#ifdef AVALON_USE_ASPELL 
    136136        settings.setValue("ui/spellchecker", (m_check_spellchecker->checkState() == Qt::Checked ? 1 : 0)); 
    137         #endif 
     137#endif 
    138138} 
    139139//---------------------------------------------------------------------------------------------- 
     
    188188                m_combo_database_type->setCurrentIndex(0); 
    189189 
    190         #ifdef Q_WS_WIN 
    191                 m_text_database_host->setText(settings.value("mysql/host", "127.0.0.1").toString()); 
    192                 m_text_database_port->setText(settings.value("mysql/port", "3306"     ).toString()); 
    193         #else 
    194                 m_text_database_host->setText(settings.value("mysql/host", "localhost"      ).toString()); 
    195                 m_text_database_port->setText(settings.value("mysql/port", "/tmp/mysql.sock").toString()); 
    196         #endif 
    197                  
     190#ifdef Q_WS_WIN 
     191        m_text_database_host->setText(settings.value("mysql/host", "127.0.0.1").toString()); 
     192        m_text_database_port->setText(settings.value("mysql/port", "3306"     ).toString()); 
     193#else 
     194        m_text_database_host->setText(settings.value("mysql/host", "localhost"      ).toString()); 
     195        m_text_database_port->setText(settings.value("mysql/port", "/tmp/mysql.sock").toString()); 
     196#endif 
     197 
    198198        m_text_database_name->setText     (settings.value("mysql/name",     "avalon").toString()); 
    199199        m_text_database_login->setText    (settings.value("mysql/login",    "root"  ).toString()); 
    200200        m_text_database_password->setText (settings.value("mysql/password", ""      ).toString()); 
    201          
     201 
    202202        m_text_database_file->setText(settings.value("sqlite/file", QDir::homePath() + "/avalon/avalon.db").toString()); 
    203203 
     
    222222                m_combo_colorer->setCurrentIndex(0); 
    223223 
    224         #ifdef AVALON_USE_ZLIB 
     224#ifdef AVALON_USE_ZLIB 
    225225        bool compression = settings.value("storage/compression", false).toInt(); 
    226226 
     
    229229        else 
    230230                m_check_compression->setCheckState(Qt::Unchecked); 
    231         #endif 
    232  
    233         #ifdef AVALON_USE_ASPELL 
     231#endif 
     232 
     233#ifdef AVALON_USE_ASPELL 
    234234        bool spellchecker = settings.value("ui/spellchecker", true).toInt(); 
    235235 
     
    238238        else 
    239239                m_check_spellchecker->setCheckState(Qt::Unchecked); 
    240         #endif 
     240#endif 
    241241 
    242242        m_text_rsdn_host->setFocus(); 
  • trunk/form_settings.h

    r354 r358  
    6161}; 
    6262 
    63 #endif 
     63#endif   // _avalon_form_settings_h_ 
  • trunk/form_settings_ui.cpp

    r356 r358  
    136136        m_combo_proxy_type->insertItem(0, "SOCKS 5"); 
    137137        m_combo_proxy_type->insertItem(0, "HTTP"); 
     138        // TODO: default прокси для Windows и Mac 
    138139        m_layout_text_network->addWidget(m_combo_proxy_type); 
    139140 
     
    198199        m_label_database_host->setText(QString::fromUtf8("хост")); 
    199200        m_layout_label_storage->addWidget(m_label_database_host); 
    200          
     201 
    201202        m_label_database_port = new QLabel(this); 
    202203        m_label_database_port->setText(QString::fromUtf8("порт / сокет")); 
     
    204205 
    205206        m_label_database_name = new QLabel(this); 
    206         m_label_database_name->setText(QString::fromUtf8("схема"));  
     207        m_label_database_name->setText(QString::fromUtf8("схема")); 
    207208        m_layout_label_storage->addWidget(m_label_database_name); 
    208209 
     
    321322        m_layout_label_ui->addWidget(m_label_tagline); 
    322323 
    323         #ifdef AVALON_USE_ZLIB 
     324#ifdef AVALON_USE_ZLIB 
    324325        m_label_compression = new QLabel(this); 
    325326        m_label_compression->setText(QString::fromUtf8("")); 
    326327        m_layout_label_ui->addWidget(m_label_compression); 
    327         #endif 
    328  
    329         #ifdef AVALON_USE_ASPELL 
     328#endif 
     329 
     330#ifdef AVALON_USE_ASPELL 
    330331        m_label_spellchecker = new QLabel(this); 
    331332        m_label_spellchecker->setText(QString::fromUtf8("")); 
    332333        m_layout_label_ui->addWidget(m_label_spellchecker); 
    333         #endif 
     334#endif 
    334335 
    335336        // 
     
    372373        m_layout_text_ui->addWidget(m_text_tagline); 
    373374 
    374         #ifdef AVALON_USE_ZLIB 
     375#ifdef AVALON_USE_ZLIB 
    375376        m_check_compression = new QCheckBox(this); 
    376377        m_check_compression->setText(QString::fromUtf8("сжатие тел сообщений")); 
    377378        m_layout_text_ui->addWidget(m_check_compression); 
    378         #endif 
    379  
    380         #ifdef AVALON_USE_ASPELL 
     379#endif 
     380 
     381#ifdef AVALON_USE_ASPELL 
    381382        m_check_spellchecker = new QCheckBox(this); 
    382383        m_check_spellchecker->setText(QString::fromUtf8("проверка орфографии")); 
    383384        m_layout_text_ui->addWidget(m_check_spellchecker); 
    384         #endif 
     385#endif 
    385386 
    386387        // 
  • trunk/form_settings_ui.h

    r356 r358  
    9595                                  QLabel* m_label_colorer;                /*!< \brief Подсветка синтаксиса                 */ 
    9696                                  QLabel* m_label_tagline;                /*!< \brief Tagline                              */ 
    97                                   #ifdef AVALON_USE_ZLIB 
     97#ifdef AVALON_USE_ZLIB 
    9898                                  QLabel* m_label_compression;            /*!< \brief Включить сжатие тел сообщений        */ 
    99                                   #endif 
    100                                   #ifdef AVALON_USE_ASPELL 
     99#endif 
     100#ifdef AVALON_USE_ASPELL 
    101101                                  QLabel* m_label_spellchecker;           /*!< \brief Включить проверку орфографии         */ 
    102                                   #endif 
     102#endif 
    103103                               QVBoxLayout* m_layout_text_ui;             /*!< \brief Layout для текстовых полей           */ 
    104104                                  QLineEdit* m_text_mark_as_read_timer;   /*!< \brief Время пометки как прочитанное        */ 
     
    107107                                  QComboBox* m_combo_colorer;             /*!< \brief Подсветка синтаксиса                 */ 
    108108                                  QLineEdit* m_text_tagline;              /*!< \brief Tagline                              */ 
    109                                   #ifdef AVALON_USE_ZLIB 
     109#ifdef AVALON_USE_ZLIB 
    110110                                  QCheckBox* m_check_compression;         /*!< \brief Включить сжатие тел сообщений        */ 
    111                                   #endif 
    112                                   #ifdef AVALON_USE_ASPELL 
     111#endif 
     112#ifdef AVALON_USE_ASPELL 
    113113                                  QCheckBox* m_check_spellchecker;        /*!< \brief Включить проверку орфографии         */ 
    114                                   #endif 
     114#endif 
    115115                               QVBoxLayout* m_layout_button_ui;           /*!< \brief Layout для кнопок                    */ 
    116116                                  QPushButton* m_button_ok_ui;            /*!< \brief OK                                   */ 
     
    126126}; 
    127127 
    128 #endif 
     128#endif   // _avalon_form_settings_ui_h_ 
  • trunk/global.cpp

    r354 r358  
    4545{ 
    4646        QSettings settings; 
    47  
    48         // настройки прокси 
    49         bool use_proxy = settings.value("proxy/enabled", false).toInt(); 
    50  
    51         QNetworkProxy proxy; 
    52  
    53         if (use_proxy == false) 
    54                 proxy.setType(QNetworkProxy::NoProxy); 
    55         else 
    56         { 
    57                 QString proxy_type = settings.value("proxy/type", "HTTP").toString(); 
    58  
    59                 if (proxy_type == "HTTP") 
    60                         proxy.setType(QNetworkProxy::HttpCachingProxy); 
    61                 else if (proxy_type == "SOCKS 5") 
    62                         proxy.setType(QNetworkProxy::Socks5Proxy); 
    63                 else if (proxy_type == "CONNECT") 
    64                         proxy.setType(QNetworkProxy::HttpProxy); 
    65                 else 
    66                         proxy.setType(QNetworkProxy::DefaultProxy); 
    67  
    68                 proxy.setHostName (settings.value("proxy/host",     "").toString()); 
    69                 proxy.setPort     (settings.value("proxy/port",     0 ).toInt()); 
    70                 proxy.setUser     (settings.value("proxy/login",    "").toString()); 
    71                 proxy.setPassword (settings.value("proxy/password", "").toString()); 
    72         } 
    73  
    74         QNetworkProxy::setApplicationProxy(proxy); 
    7547 
    7648        // простые настройки 
Note: See TracChangeset for help on using the changeset viewer.