std::shared_ptr<ewol::Widget> ewol::widget::Container::getWidgetAtPos(const vec2& _pos) { if (false == isHide()) { if (nullptr!=m_subWidget) { return m_subWidget->getWidgetAtPos(_pos); } } return nullptr; };
void UpdateInfoDialog::CheckUpdate() { int os_num = 0; #if defined(Q_OS_WIN32) if(QT_POINTER_SIZE == 4){ os_num = OS_NUM_WIN_32; }else{ os_num = OS_NUM_WIN_64; } #elif defined(Q_OS_MAC) if(QT_POINTER_SIZE == 4){ os_num = OS_NUM_MAC_32; }else{ os_num = OS_NUM_MAC_64; } #else if(QT_POINTER_SIZE == 4){ os_num = OS_NUM_LINUX_32; }else{ os_num = OS_NUM_LINUX_64; } #endif // qDebug() << "check update"; QNetworkAccessManager *net = new QNetworkAccessManager(this); connect(net, &QNetworkAccessManager::finished, [this](QNetworkReply *reply) { if(reply->error() == QNetworkReply::NoError){ QJsonDocument json = QJsonDocument::fromJson(reply->readAll()); bool exist = json.object().value(KEY_UPDATE_EXIST).toBool(); // qDebug() << "download " << json.object().value(KEY_DOWNLOAD_URL).toString(); // qDebug() << "web " << json.object().value(KEY_WEBPAGE_URL).toString(); // qDebug() << "exist " << exist; // qDebug() << "ver " << json.object().value(KEY_NEW_VERSION).toString(); // qDebug() << "ver code " << json.object().value(KEY_NEW_VERSION_CODE).toDouble() << "<=" << KANMEMO_VERSION_CODE; //バージョンコード m_newVersionCode = static_cast<int>(json.object().value(KEY_NEW_VERSION_CODE).toDouble()); if(isHide(m_newVersionCode) && !m_force){ m_force = true; //1度通ったらはユーザー操作なので強制表示 return; //非表示 } if(exist){ //ダイアログ表示 //Download QString download_url = json.object().value(KEY_DOWNLOAD_URL).toString(); QStringList url_list = download_url.split("|"); ui->downloadUrlLabel1->setText(QString("<a href='%1'>%1</a>").arg(url_list[0])); if(url_list.count() > 1){ ui->downloadUrlLabel2->setText(QString("<a href='%1'>%1</a>").arg(url_list[1])); }else{ ui->downloadUrlLabel2->clear(); } //WebPage ui->webpageUrlLabel->setText(QString("<a href='%1'>%1</a>").arg(json.object().value(KEY_WEBPAGE_URL).toString())); //Version Number ui->versionNumberLabel->setText(json.object().value(KEY_NEW_VERSION).toString()); //message ui->messageTextEdit->setPlainText(json.object().value(KEY_MESSAGE).toString()); //必ずチェックを外す ui->hideNextUpdatecheckBox->setChecked(false); show(); }else if(m_force){ //更新なし QMessageBox::information(this , tr("Kan Memo") , tr("There was no update.") , QMessageBox::Yes); } m_force = true; //1度通ったらはユーザー操作なので強制表示 } }); //プロキシ if(m_settings != NULL){ QNetworkProxy *proxy = new QNetworkProxy(); bool enable = m_settings->value(SETTING_GENERAL_PROXY_ENABLE, false).toBool(); QString host = m_settings->value(SETTING_GENERAL_PROXY_HOST).toString(); if(host.length() > 0 && enable){ proxy->setType(QNetworkProxy::HttpProxy); proxy->setHostName(host); proxy->setPort(m_settings->value(SETTING_GENERAL_PROXY_PORT, 8888).toInt()); net->setProxy(*proxy); }else{ net->setProxy(QNetworkProxy::NoProxy); } } //アクセス開始 net->get(QNetworkRequest(CHECK_UPDATE_URL .arg(KANMEMO_VERSION) .arg(KANMEMO_VERSION_CODE) .arg(os_num) .arg(QLocale::system().name()))); }
bvec2 ewol::Widget::canExpand() { if (false == isHide()) { return m_userExpand; } return bvec2(false,false); }
vec2 ewol::Widget::getSize() { if (false == isHide()) { return m_size; } return vec2(0,0); }
vec2 ewol::Widget::getCalculateMaxSize() { if (false == isHide()) { return m_maxSize; } return vec2(ULTIMATE_MAX_SIZE,ULTIMATE_MAX_SIZE); }
vec2 ewol::Widget::getCalculateMinSize() { if (false == isHide()) { return m_minSize; } return vec2(0,0); }