Changeset 356


Ignore:
Timestamp:
08/25/10 22:43:36 (18 months ago)
Author:
antonbatenev.ya.ru
Message:

Замента драйвера MySQL на ODBC для Windows (перед тестированием)

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/form_settings.cpp

    r354 r356  
    7070void FormSettings::combo_database_type_current_index_changed (const QString& text) 
    7171{ 
    72         QSettings settings; 
     72        bool e = false; 
    7373 
    7474        if (text == "MySQL") 
    75         { 
    76                 m_text_database_host->setEnabled(true); 
    77                 m_text_database_name->setEnabled(true); 
    78                 m_text_database_login->setEnabled(true); 
    79                 m_text_database_password->setEnabled(true); 
    80                 m_text_database_file->setEnabled(false); 
    81                 m_button_database_file->setEnabled(false); 
    82  
    83                 m_text_database_host->setText     (settings.value("mysql/host",     "localhost").toString()); 
    84                 m_text_database_name->setText     (settings.value("mysql/name",     "avalon"   ).toString()); 
    85                 m_text_database_login->setText    (settings.value("mysql/login",    "root"     ).toString()); 
    86                 m_text_database_password->setText (settings.value("mysql/password", ""         ).toString()); 
    87         } 
    88         else if (text == "SQLite") 
    89         { 
    90                 m_text_database_host->setEnabled(false); 
    91                 m_text_database_name->setEnabled(false); 
    92                 m_text_database_login->setEnabled(false); 
    93                 m_text_database_password->setEnabled(false); 
    94                 m_text_database_file->setEnabled(true); 
    95                 m_button_database_file->setEnabled(true); 
    96  
    97                 m_text_database_file->setText(settings.value("sqlite/file", QDir::homePath() + "/avalon/avalon.db").toString()); 
    98         } 
     75                e = true; 
     76         
     77        m_text_database_host->setEnabled(e); 
     78        m_text_database_port->setEnabled(e); 
     79        m_text_database_name->setEnabled(e); 
     80        m_text_database_login->setEnabled(e); 
     81        m_text_database_password->setEnabled(e); 
     82        m_text_database_file->setEnabled(!e); 
     83        m_button_database_file->setEnabled(!e); 
    9984} 
    10085//---------------------------------------------------------------------------------------------- 
     
    124109        // 
    125110 
    126         QString database_type = m_combo_database_type->currentText(); 
    127  
    128         settings.setValue("storage/type", database_type); 
    129  
    130         if (database_type == "MySQL") 
    131         { 
    132                 settings.setValue("mysql/host",     m_text_database_host->text()); 
    133                 settings.setValue("mysql/name",     m_text_database_name->text()); 
    134                 settings.setValue("mysql/login",    m_text_database_login->text()); 
    135                 settings.setValue("mysql/password", m_text_database_password->text()); 
    136         } 
    137         else if (database_type == "SQLite") 
    138         { 
    139                 settings.setValue("sqlite/file", m_text_database_file->text()); 
    140         } 
     111        settings.setValue("storage/type", m_combo_database_type->currentText()); 
     112 
     113        settings.setValue("mysql/host",     m_text_database_host->text()); 
     114        settings.setValue("mysql/port",     m_text_database_port->text()); 
     115        settings.setValue("mysql/name",     m_text_database_name->text()); 
     116        settings.setValue("mysql/login",    m_text_database_login->text()); 
     117        settings.setValue("mysql/password", m_text_database_password->text()); 
     118         
     119        settings.setValue("sqlite/file", m_text_database_file->text()); 
    141120 
    142121        // 
     
    209188                m_combo_database_type->setCurrentIndex(0); 
    210189 
     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                 
     198        m_text_database_name->setText     (settings.value("mysql/name",     "avalon").toString()); 
     199        m_text_database_login->setText    (settings.value("mysql/login",    "root"  ).toString()); 
     200        m_text_database_password->setText (settings.value("mysql/password", ""      ).toString()); 
     201         
     202        m_text_database_file->setText(settings.value("sqlite/file", QDir::homePath() + "/avalon/avalon.db").toString()); 
     203 
    211204        combo_database_type_current_index_changed(m_combo_database_type->currentText()); 
    212205 
     
    215208        // 
    216209 
    217         m_text_mark_as_read_timer->setText   (settings.value("ui/mark_as_read_timer",   "1500"       ).toString()); 
     210        m_text_mark_as_read_timer->setText   (settings.value("ui/mark_as_read_timer",   "500"        ).toString()); 
    218211        m_text_max_topic_to_show->setText    (settings.value("ui/max_topic_to_show",    "0"          ).toString()); 
    219212        m_text_synchronize_interval->setText (settings.value("ui/synchronize_interval", "0"          ).toString()); 
  • trunk/form_settings_ui.cpp

    r355 r356  
    198198        m_label_database_host->setText(QString::fromUtf8("хост")); 
    199199        m_layout_label_storage->addWidget(m_label_database_host); 
     200         
     201        m_label_database_port = new QLabel(this); 
     202        m_label_database_port->setText(QString::fromUtf8("порт / сокет")); 
     203        m_layout_label_storage->addWidget(m_label_database_port); 
    200204 
    201205        m_label_database_name = new QLabel(this); 
    202         m_label_database_name->setText(QString::fromUtf8("схема")); 
     206        m_label_database_name->setText(QString::fromUtf8("схема"));  
    203207        m_layout_label_storage->addWidget(m_label_database_name); 
    204208 
     
    229233        m_text_database_host = new QLineEdit(this); 
    230234        m_layout_text_storage->addWidget(m_text_database_host); 
     235 
     236        m_text_database_port = new QLineEdit(this); 
     237        m_layout_text_storage->addWidget(m_text_database_port); 
    231238 
    232239        m_text_database_name = new QLineEdit(this); 
  • trunk/form_settings_ui.h

    r354 r356  
    6666                                  QLabel* m_label_database_type;          /*!< \brief Тип хранилища                        */ 
    6767                                  QLabel* m_label_database_host;          /*!< \brief Хост БД                              */ 
     68                                  QLabel* m_label_database_port;          /*!< \brief Порт/сокет БД                        */ 
    6869                                  QLabel* m_label_database_name;          /*!< \brief Имя базы                             */ 
    6970                                  QLabel* m_label_database_login;         /*!< \brief Логин БД                             */ 
     
    7374                                  QComboBox* m_combo_database_type;       /*!< \brief Тип базы хранилища                   */ 
    7475                                  QLineEdit* m_text_database_host;        /*!< \brief Хост БД                              */ 
     76                                  QLineEdit* m_text_database_port;        /*!< \brief Порт/сокет БД                        */ 
    7577                                  QLineEdit* m_text_database_name;        /*!< \brief Имя базы                             */ 
    7678                                  QLineEdit* m_text_database_login;       /*!< \brief Логин БД                             */ 
  • trunk/storage/mysql_database.cpp

    r355 r356  
    4949        QString database_password = settings.value("mysql/password").toString(); 
    5050 
    51         bool is_socket = false; 
    52         int database_port_i = database_port.toInt(&is_socket); 
    53  
     51        bool is_port_number    = false; 
     52        int  database_port_int = database_port.toInt(&is_port_number); 
     53         
    5454        #ifdef Q_WS_WIN 
    55                 // http://www.connectionstrings.com/mysql#p31 
    5655                QString connection_string; 
    5756 
    5857                connection_string += "Driver={MySQL ODBC 5.1 Driver};"; 
    59                 connection_string += "Server=" + database_host + ";"; 
    60                 connection_string += "Port=" + database_port + ";"; 
    61                 connection_string += "Database=" + database_name + ";"; 
    62                 connection_string += "User=" + database_login + ";"; 
     58                connection_string += "charset=UTF8;"; 
     59                connection_string += "Server="   + database_host    + ";"; 
     60                connection_string += "Database=" + database_name     + ";"; 
     61                connection_string += "User="     + database_login    + ";"; 
    6362                connection_string += "Password=" + database_password + ";"; 
     63 
     64                if (is_port_number == true) 
     65                { 
     66                        if (database_port_int != 0) 
     67                                connection_string += "Port=" + QString(database_port_int) + ";"; 
     68                } 
     69                else if (database_port.length() != 0) 
     70                        connection_string += "Socket=" + database_port + ";"; 
     71                         
     72                ADatabase::setDatabaseName(connection_string); 
    6473        #else 
    6574                ADatabase::setHostName(database_host); 
    66                 ADatabase::setPort(database_port); 
    6775                ADatabase::setDatabaseName(database_name); 
    6876                ADatabase::setUserName(database_login); 
    6977                ADatabase::setPassword(database_password); 
     78                 
     79                if (is_port_number == true) 
     80                { 
     81                        if (database_port_int != 0) 
     82                                ADatabase::setPort(database_port_int); 
     83                } 
     84                else if (database_port.length() != 0) 
     85                        ADatabase::setConnectOptions("UNIX_SOCKET=" + database_port); 
    7086        #endif 
    7187 
  • trunk/version.h

    r355 r356  
    2020 * \brief Дата билда (заменяется автоматически при каждом билде в version.h, что и приводит к смене номера ревизии) 
    2121 */ 
    22 #define AVALON_DATE "Срд Авг 25 19:19:26 MSD 2010" 
     22#define AVALON_DATE "Срд Авг 25 22:02:22 MSD 2010" 
    2323 
    2424#endif 
Note: See TracChangeset for help on using the changeset viewer.