Дневник

Главная » 2010 » Август » 11 » Функция проверки обновления для программы
Функция проверки обновления для программы
08:25
При необходимости переделать под себя!

void QSpeedTest::_checkForProgramUpdates()
{
    QNetworkAccessManager manager;
    QNetworkReply *download;
    QEventLoop loop;
    int remoteVersion;

    _w.slotLog(trUtf8("Checking online for an updated version of %1").arg(PROGRAMNAME));
    QTimer::singleShot(UPDATECHECKTIMEOUTSECS * 1000, &loop, SLOT(quit()));
    download = manager.get(QNetworkRequest(QUrl(PROJECTVERSIONURL)));    // From here on, download pointer does not require manual deletion!
    connect(download, SIGNAL(finished()), &loop, SLOT(quit()));
    loop.exec();

    if(download->isRunning() || download->error())
    {
        download->abort();
        _w.slotLog(trUtf8("Update site unreachable"));
        return;
    }

    if((remoteVersion = download->readLine().mid(1).toInt()) > PROJECTVERSION.mid(1).toInt())
    {
        _w.slotLog(trUtf8("%1 update available, remote version: r%2").arg(PROGRAMNAME).arg(remoteVersion));
        int reply = QMessageBox::question(&_w, trUtf8("Update available"), trUtf8("An updated version of %1 (r%2) is available online.").arg(PROGRAMNAME).arg(remoteVersion) + "\n\n" + trUtf8("Would you like to open the download page in your browser?"), QMessageBox::Yes, QMessageBox::No);

        if(reply == QMessageBox::Yes)
        {
            _w.slotLog(trUtf8("Opening download page %1").arg(PROJECTDOWNLOADURL));
            QDesktopServices::openUrl(QUrl(PROJECTDOWNLOADURL));
        }
    }
    else {
        _w.slotLog(trUtf8("You are using the latest version of %1").arg(PROGRAMNAME));
    }
}
Просмотров: 1385 | Добавил: qt-boy | Теги: Функция проверки обновления для про | Рейтинг: 0.0/0 |
Всего комментариев: 1
1 Славик  
0
Пытаюсь прикрутить себе и есть вопрос по переменной PROJECTVERSION это QByteArray или ???

Имя *:
Email *:
Код *:
Форма входа
3D Облако
Мини-чат
Облако
About Qt Qtractor 0.4.2 QList QListView git-репозиторий Qt Жасмин Бланшет QFileDialog QtCreator 1.1 Qt Solutions Qt Extended Динамическое приведение QObject Пишем собственный веб броузер библиотеки Qt 4.5.1 Установка иконки приложения на плат QMessageBox Вышли бета-версии библиотеки Qt 4.7 Сохранение отзывчивости графическог qtcreator QT Указание кодировки строк в исходном qt sdk qt quick QInputDialog Singleton для Qt Стандартные алгоритмы для работы с QColorDialog Примеры использования класса QEvent QFontDialog gif Анимация в QLabel Открытие ссылки в браузере установл Добавление итемов в QTableWidget QMap итератор Помещаем окно посередине экрана Выставляем флаги для окон Отловить нажатие клавиши на QLabel Определить какой именно контрол был Показать на время курсор с песочным Сделать окно модальным Удаление из QlistWidget строки Написание DLL на С++ Диалог открытия файла работа с реестром QMessageBox подтверждение удаления Текстовый кодек Пример пересылки от клиента к серве Алгоритм сортировки (не очень оптим Вставка текста из буфера обмена(при Удаление повторяющихся элементов в Проверить существует ли файл Распечатка текста из QTextEdit Вывести текст из QTextEdit в диалог Интересное о QFileInfo Отловить событие закрытие окна Устанавливаем иконку для окна Функция центрирования окна по серед Функция проверки обновления для про Иконка для QPushButton Выдрать IP и порт из строки Получение списка всех файлов в дире Окно поверх всех Ввод пароля в QLineEdit Ввод в QLineEdit только цифр и точк Сортировка QListWidget Скачать файл по Ftp Пример использования оператора fore Пример использования класса QDir Получить список папок Кодирование/Декодирвоание Base64 Оставить у диалога только кнопку за Сохранение настроек приложения в ре Экран заставка SplashScreen Drop Добавление эффекта выделяющего прям Получение информации о свободном пр Запись структуры(пользовательского Функция Sleep Получение информации о свободном ди Простой пример использования QProce Как унаследоваться от QObject Отрисовать виджет по форме картинки Перемещение виджета вслед за мышкой Сделать диалог поверх всех окон/поз Повернуть изображение Установка кодеков(русский текст) дл QSignalMapper - как пользоваться Qt приведение типа QFileSystemWatcher следим за директ Добавление сигнала clicked() в QLab Удаление директории с поддиректория QWheelEvent определить направление Отловить завершение работы системы Валидация на ввод только цифр Центрирование виджета посередине ро styleSheet QLabel простой пример styleSheet QTableWidget красим заго QTableWidgetItem текст по центу Проверка сокета Выход из вложенных циклов Сортировка QTableWidget по дате
Наш опрос
Оцените мой сайт
Всего ответов: 93
Поиск
Календарь
«  Август 2010  »
Пн Вт Ср Чт Пт Сб Вс
      1
2345678
9101112131415
16171819202122
23242526272829
3031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0