Initial commit from SigLAB codebase
94
.clang-format
Normal file
@ -0,0 +1,94 @@
|
||||
# Copyright (C) 2016 Olivier Goffart <ogoffart@woboq.com>
|
||||
#
|
||||
# You may use this file under the terms of the 3-clause BSD license.
|
||||
# See the file LICENSE from this package for details.
|
||||
|
||||
# This is the clang-format configuration style to be used by Qt,
|
||||
# based on the rules from https://wiki.qt.io/Qt_Coding_Style and
|
||||
# https://wiki.qt.io/Coding_Conventions
|
||||
|
||||
---
|
||||
# Webkit style was loosely based on the Qt style
|
||||
BasedOnStyle: WebKit
|
||||
|
||||
Standard: Cpp11
|
||||
|
||||
# Leave the line breaks up to the user.
|
||||
# Note that this may be changed at some point in the future.
|
||||
ColumnLimit: 0
|
||||
# How much weight do extra characters after the line length limit have.
|
||||
# PenaltyExcessCharacter: 4
|
||||
|
||||
# Disable reflow of qdoc comments: indentation rules are different.
|
||||
# Translation comments are also excluded.
|
||||
CommentPragmas: "^!|^:"
|
||||
|
||||
# We want a space between the type and the star for pointer types.
|
||||
PointerBindsToType: false
|
||||
|
||||
# We use template< without space.
|
||||
SpaceAfterTemplateKeyword: false
|
||||
|
||||
# We want to break before the operators, but not before a '='.
|
||||
BreakBeforeBinaryOperators: All
|
||||
|
||||
# Braces are usually attached, but not after functions or class declarations.
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterClass: true
|
||||
AfterControlStatement: true
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: true
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
BeforeCatch: true
|
||||
BeforeElse: true
|
||||
IndentBraces: false
|
||||
|
||||
BreakBeforeTernaryOperators: true
|
||||
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
|
||||
# Indent initializers by 3 spaces
|
||||
ConstructorInitializerIndentWidth: 3
|
||||
|
||||
# No indentation for namespaces.
|
||||
NamespaceIndentation: None
|
||||
|
||||
# Horizontally align arguments after an open bracket.
|
||||
# The coding style does not specify the following, but this is what gives
|
||||
# results closest to the existing code.
|
||||
AlignAfterOpenBracket: true
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
|
||||
# Ideally we should also allow less short function in a single line, but
|
||||
# clang-format does not handle that.
|
||||
AllowShortFunctionsOnASingleLine: Inline
|
||||
|
||||
# The coding style specifies some include order categories, but also tells to
|
||||
# separate categories with an empty line. It does not specify the order within
|
||||
# the categories. Since the SortInclude feature of clang-format does not
|
||||
# re-order includes separated by empty lines, the feature is not used.
|
||||
SortIncludes: false
|
||||
|
||||
# macros for which the opening brace stays attached.
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ]
|
||||
|
||||
IndentCaseLabels: true
|
||||
|
||||
IndentPPDirectives: AfterHash
|
||||
|
||||
AlignAfterOpenBracket: Align
|
||||
|
||||
AccessModifierOffset: -3
|
||||
|
||||
IndentWidth: 3
|
||||
|
||||
#StatementMacros ['Q_OBJECT', 'Q_UNUSED']
|
||||
|
||||
ColumnLimit: 120
|
||||
|
||||
|
||||
|
30
.gitignore
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
# Qt project file
|
||||
*.pro.user
|
17
.travis.yml
Normal file
@ -0,0 +1,17 @@
|
||||
language: cpp
|
||||
git:
|
||||
depth: 1
|
||||
root: required
|
||||
dist: xenial
|
||||
env:
|
||||
- VERSION="1.2.0"
|
||||
install:
|
||||
- bash ci-scripts/$TRAVIS_OS_NAME/install.sh
|
||||
script:
|
||||
- bash ci-scripts/$TRAVIS_OS_NAME/build.sh
|
||||
jobs:
|
||||
include:
|
||||
- os: osx
|
||||
osx_image: xcode10.1
|
||||
#- os: linux
|
||||
# compiler: gcc
|
21
LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
||||
# License
|
||||
|
||||
Copyright (c) 2020 [Alex Spataru](https://github.com/alex-spataru).
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
147
README.md
Normal file
@ -0,0 +1,147 @@
|
||||
<a href="#">
|
||||
<img width="192px" height="192px" src="doc/icon.png" align="right" />
|
||||
</a>
|
||||
|
||||
# Serial Studio
|
||||
|
||||
[![Build Status](https://api.travis-ci.org/serial-studio/Serial-Studio.svg?branch=master)](https://travis-ci.org/serial-studio/Serial-Studio)
|
||||
|
||||
Serial Studio is a multi-platform, multi-purpose serial data visualization program. The goal of this project is to allow embedded developers & makers to easily visualize, present & analyze the data generated by their projects and devices, without the need of writing specialized computer software for each project.
|
||||
|
||||
The need for this project arose during the development of the Ground Station Software for several CanSat-based competitions in which I participate. It's simply not sustainable to develop and maintain different GSS programs for each competition & project. The smart solution is to have one common Ground Station software and let each CanSat define how the data is presented to the end user by using an extensible communication protocol.
|
||||
|
||||
Furthermore, this approach can be extended to almost any type of project that involves some kind of data acquisition & measurement.
|
||||
|
||||
![Screenshot](doc/screenshot.png)
|
||||
|
||||
## Communication Protocol
|
||||
|
||||
The communication protocol is implemented through a JSON document. For example, my CanSat team uses the following template:
|
||||
|
||||
```
|
||||
{
|
||||
"t":"CanSat 2020", /* Project title */
|
||||
"g":[ /* Project data group array */
|
||||
{
|
||||
"t":"Mission Status", /* Group title */
|
||||
"d":[ /* Group dataset array */
|
||||
{
|
||||
"t":"Mission Time", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Packet Count", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Software State", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Battery Voltage", /* Dataset title */
|
||||
"v":"%s", /* Dataset value */
|
||||
"g":true, /* Graph dataset */
|
||||
"u":"mV" /* Dataset units */
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"t":"Sensor Readings", /* Group title */
|
||||
"d":[ /* Group dataset array */
|
||||
{
|
||||
"t":"Altitude", /* Dataset title */
|
||||
"v":"%s", /* Dataset value */
|
||||
"u":"m" /* Dataset units */
|
||||
},
|
||||
{
|
||||
"t":"Pressure", /* Dataset title */
|
||||
"v":"%s", /* Dataset value */
|
||||
"g":true, /* Graph dataset */
|
||||
"u":"KPa" /* Dataset units */
|
||||
},
|
||||
{
|
||||
"t":"Temperature", /* Dataset title */
|
||||
"v":"%s", /* Dataset value */
|
||||
"g":true, /* Graph dataset */
|
||||
"u":"ºC" /* Dataset units */
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"t":"GPS", /* GPS Group title */
|
||||
"d":[ /* Group dataset array */
|
||||
{
|
||||
"t":"UTC Time", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Longitude", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Latitude", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Altitude", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
},
|
||||
{
|
||||
"t":"Num. Sats", /* Dataset title */
|
||||
"v":"%s" /* Dataset value */
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
The `%s` values are replaced with real-time data from each sensor and subsystem. As you can see, the data frame contains the following information:
|
||||
|
||||
- Project title
|
||||
- Groups
|
||||
- Group title
|
||||
- Group data
|
||||
- Dataset title
|
||||
- Dataset value
|
||||
- Dataset unit
|
||||
- Dataset graph (or not)
|
||||
|
||||
This information is processed by Serial Studio, which builds the user interface according to the information contained in each frame. This information is also used to generate a CSV file with all the readings received from the serial device, the CSV file can be used for analysis and data-processing within MATLAB.
|
||||
|
||||
## Build instructions
|
||||
|
||||
##### Requirements
|
||||
|
||||
The only requirement to compile the application is to have [Qt](http://www.qt.io/download-open-source/) installed in your system. The desktop application will compile with Qt 5.15 or greater.
|
||||
|
||||
### Cloning this repository
|
||||
|
||||
This repository makes use of [`git submodule`](https://git-scm.com/docs/git-submodule). In order to clone it, you have two options:
|
||||
|
||||
One-liner:
|
||||
|
||||
git clone --recursive https://github.com/Serial-Studio/Serial-Studio
|
||||
|
||||
Normal procedure:
|
||||
|
||||
git clone https://github.com/Serial-Studio/Serial-Studio
|
||||
cd Serial-Studio
|
||||
git submodule init
|
||||
git submodule update
|
||||
|
||||
###### Compiling the application
|
||||
|
||||
Once you have Qt installed, open *Serial-Studio.pro* in Qt Creator and click the "Run" button.
|
||||
|
||||
Alternatively, you can also use the following commands:
|
||||
|
||||
qmake
|
||||
make -j4
|
||||
|
||||
## Licence
|
||||
|
||||
This project is released under the MIT license, for more information, check the [LICENSE](LICENSE.md) file.
|
||||
|
||||
|
||||
|
153
Serial-Studio.pro
Normal file
@ -0,0 +1,153 @@
|
||||
#
|
||||
# Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to deal
|
||||
# in the Software without restriction, including without limitation the rights
|
||||
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
# copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
# THE SOFTWARE.
|
||||
#
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Make options
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
UI_DIR = uic
|
||||
MOC_DIR = moc
|
||||
RCC_DIR = qrc
|
||||
OBJECTS_DIR = obj
|
||||
|
||||
CONFIG += c++11
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Qt configuration
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = serial-studio
|
||||
|
||||
CONFIG += qtc_runnable
|
||||
CONFIG += resources_big
|
||||
CONFIG += qtquickcompiler
|
||||
|
||||
QT += xml
|
||||
QT += svg
|
||||
QT += core
|
||||
QT += quick
|
||||
QT += charts
|
||||
QT += widgets
|
||||
QT += serialport
|
||||
QT += quickcontrols2
|
||||
|
||||
QTPLUGIN += qsvg
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Libraries
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
include(libs/QSimpleUpdater/QSimpleUpdater.pri)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Deploy options
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
win32* {
|
||||
TARGET = SerialStudio
|
||||
RC_FILE = deploy/windows/resources/info.rc
|
||||
}
|
||||
|
||||
macx* {
|
||||
TARGET = SerialStudio
|
||||
|
||||
ICON = deploy/macOS/icon.icns
|
||||
RC_FILE = deploy/macOS/icon.icns
|
||||
QMAKE_INFO_PLIST = deploy/macOS/info.plist
|
||||
|
||||
# DMG generation constants
|
||||
BUNDLE_FILENAME = $${TARGET}.app
|
||||
DMG_FILENAME = "SerialStudio.dmg"
|
||||
|
||||
# Target for pretty DMG generation
|
||||
dmg.commands += echo "Generate DMG";
|
||||
dmg.commands += macdeployqt $$BUNDLE_FILENAME -qmldir=$$PWD/assets/qml &&
|
||||
dmg.commands += create-dmg \
|
||||
--volname $${TARGET} \
|
||||
--background $${PWD}/deploy/macOS/dmg_bg.png \
|
||||
--icon $${BUNDLE_FILENAME} 150 218 \
|
||||
--window-pos 200 120 \
|
||||
--window-size 600 450 \
|
||||
--icon-size 100 \
|
||||
--hdiutil-quiet \
|
||||
--app-drop-link 450 218 \
|
||||
$${DMG_FILENAME} \
|
||||
$${BUNDLE_FILENAME}
|
||||
|
||||
QMAKE_EXTRA_TARGETS += dmg
|
||||
}
|
||||
|
||||
linux:!android {
|
||||
target.path = /usr/bin
|
||||
icon.path = /usr/share/pixmaps
|
||||
desktop.path = /usr/share/applications
|
||||
icon.files += deploy/linux/serial-studio.png
|
||||
desktop.files += deploy/linux/serial-studio.desktop
|
||||
|
||||
INSTALLS += target desktop icon
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Import source code
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
RESOURCES += \
|
||||
assets/assets.qrc
|
||||
|
||||
HEADERS += \
|
||||
src/AppInfo.h \
|
||||
src/Dataset.h \
|
||||
src/Export.h \
|
||||
src/GraphProvider.h \
|
||||
src/Group.h \
|
||||
src/JsonParser.h \
|
||||
src/ModuleManager.h \
|
||||
src/QmlBridge.h \
|
||||
src/SerialManager.h
|
||||
|
||||
SOURCES += \
|
||||
src/Dataset.cpp \
|
||||
src/Export.cpp \
|
||||
src/GraphProvider.cpp \
|
||||
src/Group.cpp \
|
||||
src/JsonParser.cpp \
|
||||
src/ModuleManager.cpp \
|
||||
src/QmlBridge.cpp \
|
||||
src/SerialManager.cpp \
|
||||
src/main.cpp
|
||||
|
||||
DISTFILES += \
|
||||
assets/qml/Components/Console.qml \
|
||||
assets/qml/Components/DataGrid.qml \
|
||||
assets/qml/Components/DeviceManager.qml \
|
||||
assets/qml/Components/GraphGrid.qml \
|
||||
assets/qml/Components/ToolBar.qml \
|
||||
assets/qml/UI.qml \
|
||||
assets/qml/Widgets/DataDelegate.qml \
|
||||
assets/qml/Widgets/GraphDelegate.qml \
|
||||
assets/qml/Widgets/GroupDelegate.qml \
|
||||
assets/qml/Widgets/LED.qml \
|
||||
assets/qml/Widgets/MapDelegate.qml \
|
||||
assets/qml/Widgets/Window.qml \
|
||||
assets/qml/main.qml \
|
||||
assets/qml/About.qml
|
56
assets/assets.qrc
Normal file
@ -0,0 +1,56 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>icons/ac-power.svg</file>
|
||||
<file>icons/arrow-right.svg</file>
|
||||
<file>icons/backspace.svg</file>
|
||||
<file>icons/battery.svg</file>
|
||||
<file>icons/bug.svg</file>
|
||||
<file>icons/code.svg</file>
|
||||
<file>icons/copy.svg</file>
|
||||
<file>icons/delete.svg</file>
|
||||
<file>icons/developer-board.svg</file>
|
||||
<file>icons/device-hub.svg</file>
|
||||
<file>icons/equalizer.svg</file>
|
||||
<file>icons/error.svg</file>
|
||||
<file>icons/ethernet.svg</file>
|
||||
<file>icons/fullscreen-exit.svg</file>
|
||||
<file>icons/fullscreen.svg</file>
|
||||
<file>icons/group.svg</file>
|
||||
<file>icons/help.svg</file>
|
||||
<file>icons/info.svg</file>
|
||||
<file>icons/link.svg</file>
|
||||
<file>icons/location-off.svg</file>
|
||||
<file>icons/location-on.svg</file>
|
||||
<file>icons/open.svg</file>
|
||||
<file>icons/power.svg</file>
|
||||
<file>icons/ram.svg</file>
|
||||
<file>icons/refresh.svg</file>
|
||||
<file>icons/right.svg</file>
|
||||
<file>icons/save.svg</file>
|
||||
<file>icons/scatter-plot.svg</file>
|
||||
<file>icons/schedule.svg</file>
|
||||
<file>icons/send.svg</file>
|
||||
<file>icons/settings.svg</file>
|
||||
<file>icons/tab.svg</file>
|
||||
<file>icons/terminal.svg</file>
|
||||
<file>icons/update.svg</file>
|
||||
<file>icons/usb.svg</file>
|
||||
<file>icons/warning.svg</file>
|
||||
<file>images/logo.svg</file>
|
||||
<file>qml/Components/Console.qml</file>
|
||||
<file>qml/Components/DataGrid.qml</file>
|
||||
<file>qml/Components/DeviceManager.qml</file>
|
||||
<file>qml/Components/ToolBar.qml</file>
|
||||
<file>qml/main.qml</file>
|
||||
<file>qml/UI.qml</file>
|
||||
<file>qml/Widgets/DataDelegate.qml</file>
|
||||
<file>qml/Widgets/GraphDelegate.qml</file>
|
||||
<file>qml/Widgets/GroupDelegate.qml</file>
|
||||
<file>qml/Widgets/LED.qml</file>
|
||||
<file>qml/Widgets/MapDelegate.qml</file>
|
||||
<file>qml/Widgets/Window.qml</file>
|
||||
<file>icons/chart.svg</file>
|
||||
<file>icons/visibility.svg</file>
|
||||
<file>qml/About.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
1
assets/icons/ac-power.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M16.01 7L16 3h-2v4h-4V3H8v4h-.01C7 6.99 6 7.99 6 8.99v5.49L9.5 18v3h5v-3l3.5-3.51v-5.5c0-1-1-2-1.99-1.99z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 243 B |
1
assets/icons/arrow-right.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"/></svg>
|
After Width: | Height: | Size: 194 B |
1
assets/icons/backspace.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 14 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z"/></svg>
|
After Width: | Height: | Size: 351 B |
1
assets/icons/battery.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4z"/></svg>
|
After Width: | Height: | Size: 265 B |
1
assets/icons/bug.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2h4v2z"/></svg>
|
After Width: | Height: | Size: 512 B |
1
assets/icons/chart.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M5 9.2h3V19H5zM10.6 5h2.8v14h-2.8zm5.6 8H19v6h-2.8z"/></svg>
|
After Width: | Height: | Size: 189 B |
1
assets/icons/code.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>
|
After Width: | Height: | Size: 230 B |
1
assets/icons/copy.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm-1 4l6 6v10c0 1.1-.9 2-2 2H7.99C6.89 23 6 22.1 6 21l.01-14c0-1.1.89-2 1.99-2h7zm-1 7h5.5L14 6.5V12z"/></svg>
|
After Width: | Height: | Size: 274 B |
1
assets/icons/delete.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3v10zM14 5h-3l-1-1H6L5 5H2v2h12z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 247 B |
1
assets/icons/developer-board.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M22 9V7h-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2v-2h-2V9h2zm-4 10H4V5h14v14zM6 13h5v4H6zm6-6h4v3h-4zM6 7h5v5H6zm6 4h4v6h-4z"/><path d="M0 0h24v24H0zm0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 322 B |
1
assets/icons/device-hub.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M17 16l-4-4V8.82C14.16 8.4 15 7.3 15 6c0-1.66-1.34-3-3-3S9 4.34 9 6c0 1.3.84 2.4 2 2.82V12l-4 4H3v5h5v-3.05l4-4.2 4 4.2V21h5v-5h-4z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 308 B |
1
assets/icons/equalizer.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M7 18h2V6H7v12zm4 4h2V2h-2v20zm-8-8h2v-4H3v4zm12 4h2V6h-2v12zm4-8v4h2v-4h-2z"/></svg>
|
After Width: | Height: | Size: 214 B |
1
assets/icons/error.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1 4h-2v-2h2v2z"/></svg>
|
After Width: | Height: | Size: 250 B |
1
assets/icons/ethernet.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z"/></svg>
|
After Width: | Height: | Size: 322 B |
1
assets/icons/fullscreen-exit.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"/></svg>
|
After Width: | Height: | Size: 215 B |
1
assets/icons/fullscreen.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg>
|
After Width: | Height: | Size: 216 B |
1
assets/icons/group.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM8 17.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zM9.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5S9.5 9.38 9.5 8zm6.5 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>
|
After Width: | Height: | Size: 453 B |
1
assets/icons/help.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M11 18h2v-2h-2v2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"/></svg>
|
After Width: | Height: | Size: 381 B |
1
assets/icons/info.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1-8h-2V7h2v2z"/></svg>
|
After Width: | Height: | Size: 289 B |
1
assets/icons/link.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>
|
After Width: | Height: | Size: 349 B |
1
assets/icons/location-off.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06c-1.13.12-2.19.46-3.16.97l1.5 1.5C10.16 5.19 11.06 5 12 5c3.87 0 7 3.13 7 7 0 .94-.19 1.84-.52 2.65l1.5 1.5c.5-.96.84-2.02.97-3.15H23v-2h-2.06zM3 4.27l2.04 2.04C3.97 7.62 3.25 9.23 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c1.77-.2 3.38-.91 4.69-1.98L19.73 21 21 19.73 4.27 3 3 4.27zm13.27 13.27C15.09 18.45 13.61 19 12 19c-3.87 0-7-3.13-7-7 0-1.61.55-3.09 1.46-4.27l9.81 9.81z"/></svg>
|
After Width: | Height: | Size: 578 B |
1
assets/icons/location-on.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M20.94 11c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"/></svg>
|
After Width: | Height: | Size: 365 B |
1
assets/icons/open.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"/></svg>
|
After Width: | Height: | Size: 268 B |
1
assets/icons/power.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M13 3h-2v10h2V3zm4.83 2.17l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01-4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2.74-1.23-5.18-3.17-6.83z"/></svg>
|
After Width: | Height: | Size: 346 B |
1
assets/icons/ram.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M15 9H9v6h6V9zm-2 4h-2v-2h2v2zm8-2V9h-2V7c0-1.1-.9-2-2-2h-2V3h-2v2h-2V3H9v2H7c-1.1 0-2 .9-2 2v2H3v2h2v2H3v2h2v2c0 1.1.9 2 2 2h2v2h2v-2h2v2h2v-2h2c1.1 0 2-.9 2-2v-2h2v-2h-2v-2h2zm-4 6H7V7h10v10z"/></svg>
|
After Width: | Height: | Size: 331 B |
1
assets/icons/refresh.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 364 B |
1
assets/icons/right.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"/></svg>
|
After Width: | Height: | Size: 174 B |
1
assets/icons/save.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"/></svg>
|
After Width: | Height: | Size: 280 B |
1
assets/icons/scatter-plot.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><g><circle cx="7" cy="14" r="3"/><circle cx="11" cy="6" r="3"/><circle cx="16.6" cy="17.6" r="3"/></g></svg>
|
After Width: | Height: | Size: 230 B |
1
assets/icons/schedule.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/><path d="M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"/></svg>
|
After Width: | Height: | Size: 333 B |
1
assets/icons/send.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
After Width: | Height: | Size: 175 B |
1
assets/icons/settings.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24"><g><path d="M0,0h24v24H0V0z" fill="none"/><path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"/></g></svg>
|
After Width: | Height: | Size: 1.0 KiB |
1
assets/icons/tab.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M11.59 7.41L15.17 11H1v2h14.17l-3.59 3.59L13 18l6-6-6-6-1.41 1.41zM20 6v12h2V6h-2z"/></svg>
|
After Width: | Height: | Size: 220 B |
74
assets/icons/terminal.svg
Normal file
@ -0,0 +1,74 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 31.586 31.586" style="enable-background:new 0 0 31.586 31.586;" xml:space="preserve">
|
||||
<g>
|
||||
<path d="M29.328,2.255H2.256C1.01,2.255,0,3.264,0,4.51v22.564c0,1.245,1.01,2.256,2.256,2.256h27.072
|
||||
c1.244,0,2.258-1.012,2.258-2.256V4.51C31.586,3.264,30.572,2.255,29.328,2.255z M7.333,3.949c0.622,0,1.128,0.502,1.128,1.128
|
||||
c0,0.623-0.506,1.125-1.128,1.125c-0.626,0-1.131-0.502-1.131-1.125C6.202,4.451,6.707,3.949,7.333,3.949z M3.947,3.949
|
||||
c0.623,0,1.127,0.502,1.127,1.128c0,0.623-0.504,1.125-1.127,1.125c-0.624,0-1.129-0.502-1.129-1.125
|
||||
C2.818,4.451,3.323,3.949,3.947,3.949z M29.328,27.075H2.256V7.92h27.072C29.328,7.92,29.328,27.075,29.328,27.075z"/>
|
||||
<polygon points="12.645,12.556 5.4,9.243 5.4,10.84 11.003,13.235 11.003,13.266 5.4,15.66 5.4,17.256 12.645,13.943 "/>
|
||||
<rect x="16.056" y="12.488" width="3.946" height="1.522"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
1
assets/icons/update.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24" viewBox="0 0 24 24" width="24"><g><rect fill="none" height="24" width="24" x="0"/></g><g><g><g><path d="M21,10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-0.1c-2.73,2.71-2.73,7.08,0,9.79s7.15,2.71,9.88,0 C18.32,15.65,19,14.08,19,12.1h2c0,1.98-0.88,4.55-2.64,6.29c-3.51,3.48-9.21,3.48-12.72,0c-3.5-3.47-3.53-9.11-0.02-12.58 s9.14-3.47,12.65,0L21,3V10.12z M12.5,8v4.25l3.5,2.08l-0.72,1.21L11,13V8H12.5z"/></g></g></g></svg>
|
After Width: | Height: | Size: 506 B |
1
assets/icons/usb.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M15 7v4h1v2h-3V5h2l-3-4-3 4h2v8H8v-2.07c.7-.37 1.2-1.08 1.2-1.93 0-1.21-.99-2.2-2.2-2.2-1.21 0-2.2.99-2.2 2.2 0 .85.5 1.56 1.2 1.93V13c0 1.11.89 2 2 2h3v3.05c-.71.37-1.2 1.1-1.2 1.95 0 1.22.99 2.2 2.2 2.2 1.21 0 2.2-.98 2.2-2.2 0-.85-.49-1.58-1.2-1.95V15h3c1.11 0 2-.89 2-2v-2h1V7h-4z"/></svg>
|
After Width: | Height: | Size: 422 B |
1
assets/icons/visibility.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>
|
After Width: | Height: | Size: 347 B |
1
assets/icons/warning.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M2.73 21h18.53c.77 0 1.25-.83.87-1.5l-9.27-16c-.39-.67-1.35-.67-1.73 0l-9.27 16c-.38.67.1 1.5.87 1.5zM13 18h-2v-2h2v2zm-1-4c-.55 0-1-.45-1-1v-2c0-.55.45-1 1-1s1 .45 1 1v2c0 .55-.45 1-1 1z"/></svg>
|
After Width: | Height: | Size: 327 B |
122
assets/images/logo.svg
Normal file
@ -0,0 +1,122 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
width="914.25946"
|
||||
height="251.09822"
|
||||
viewBox="0 0 9142.5946 2510.9822"
|
||||
preserveAspectRatio="xMidYMid meet"
|
||||
id="svg48"
|
||||
sodipodi:docname="logo_transparent.svg"
|
||||
inkscape:version="1.0.1 (c497b03c, 2020-09-10)">
|
||||
<metadata
|
||||
id="metadata54">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs52" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1074"
|
||||
inkscape:window-height="744"
|
||||
id="namedview50"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:zoom="0.67833333"
|
||||
inkscape:cx="503.41024"
|
||||
inkscape:cy="163"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="23"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg48" />
|
||||
<g
|
||||
id="layer101"
|
||||
fill="#5da0a2"
|
||||
stroke="none"
|
||||
transform="translate(-965.89759,-4370)">
|
||||
<path
|
||||
d="m 1975,6855 c -51,-50 -21,-147 49,-161 97,-18 160,107 85,169 -33,27 -104,23 -134,-8 z"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m 2555,6826 c -67,-67 -22,-166 75,-166 39,0 90,47 90,84 0,88 -106,141 -165,82 z"
|
||||
id="path12" />
|
||||
<path
|
||||
d="m 1455,6626 c -13,-13 -27,-36 -31,-50 -15,-62 46,-124 111,-112 77,15 109,113 52,162 -39,33 -99,33 -132,0 z"
|
||||
id="path14" />
|
||||
<path
|
||||
d="m 3045,6535 c -60,-59 -12,-165 73,-165 33,0 45,6 66,31 30,35 33,67 11,109 -19,36 -43,50 -90,50 -25,0 -43,-8 -60,-25 z"
|
||||
id="path16" />
|
||||
<path
|
||||
d="m 1096,6179 c -36,-43 -35,-91 3,-130 22,-21 39,-29 66,-29 27,0 44,8 66,29 38,39 39,87 3,130 -21,26 -33,31 -69,31 -36,0 -48,-5 -69,-31 z"
|
||||
id="path18" />
|
||||
<path
|
||||
d="m 1003,5645 c -34,-24 -47,-76 -29,-118 17,-41 41,-57 88,-57 67,0 110,60 88,124 -14,45 -44,66 -90,66 -20,0 -45,-7 -57,-15 z"
|
||||
id="path20" />
|
||||
<path
|
||||
d="m 1173,5106 c -37,-31 -46,-69 -28,-113 13,-31 59,-63 90,-63 30,0 72,29 85,59 25,61 -12,123 -81,136 -29,5 -41,2 -66,-19 z"
|
||||
id="path22" />
|
||||
<path
|
||||
d="m 3163,4998 c -33,-16 -57,-74 -46,-111 24,-86 152,-92 184,-9 31,82 -57,159 -138,120 z"
|
||||
id="path24" />
|
||||
<path
|
||||
d="m 1592,4720 c -30,-13 -57,-70 -48,-105 19,-77 111,-101 168,-45 26,27 30,36 25,67 -11,67 -84,109 -145,83 z"
|
||||
id="path26" />
|
||||
<path
|
||||
d="m 2689,4631 c -56,-57 -27,-145 53,-158 46,-7 84,15 102,59 41,96 -80,174 -155,99 z"
|
||||
id="path28" />
|
||||
<path
|
||||
d="m 2127,4540 c -69,-55 -25,-170 65,-170 39,0 85,35 93,70 19,88 -88,155 -158,100 z"
|
||||
id="path30" />
|
||||
</g>
|
||||
<g
|
||||
id="layer102"
|
||||
fill="#f4f7f7"
|
||||
stroke="none"
|
||||
transform="translate(-965.89759,-4370)">
|
||||
<path
|
||||
d="m 6085,6579 c -78,-11 -176,-60 -215,-107 -29,-35 -59,-107 -48,-117 2,-3 40,-9 84,-15 43,-6 90,-12 104,-14 21,-4 28,2 43,34 24,52 71,80 133,80 63,0 106,-26 136,-82 19,-37 23,-62 26,-173 l 4,-130 -30,40 c -62,85 -129,118 -241,118 -151,0 -241,-79 -286,-250 -21,-78 -21,-288 -1,-366 35,-129 110,-221 203,-248 109,-32 249,-1 301,67 13,16 32,40 42,54 l 19,25 1,-62 c 0,-96 -3,-93 116,-93 h 104 v 428 c -1,444 -7,544 -38,616 -24,52 -74,111 -123,142 -74,46 -219,70 -334,53 z m 173,-539 c 22,-14 43,-40 60,-78 25,-53 27,-66 27,-192 0,-128 -1,-138 -28,-187 -71,-137 -222,-130 -283,12 -40,93 -26,326 23,401 41,63 136,84 201,44 z"
|
||||
id="path33" />
|
||||
<path
|
||||
d="m 3765,6239 c -163,-17 -281,-95 -341,-223 -28,-61 -30,-86 -6,-86 9,-1 59,-7 110,-14 l 93,-13 16,39 c 19,47 79,101 132,116 49,15 149,15 207,1 63,-16 104,-65 104,-125 0,-89 -51,-126 -249,-179 -74,-19 -163,-49 -199,-66 -129,-62 -189,-158 -180,-288 6,-82 33,-136 92,-188 149,-132 501,-133 635,-3 53,52 120,188 94,191 -5,0 -55,6 -112,12 l -105,12 -26,-49 c -34,-67 -89,-96 -177,-96 -113,0 -173,44 -173,127 0,67 41,104 156,138 250,75 289,90 348,130 49,33 68,54 94,106 32,60 34,69 30,144 -5,96 -39,168 -103,221 -95,77 -262,113 -440,93 z"
|
||||
id="path35" />
|
||||
<path
|
||||
d="m 4620,6155 v -75 h 160 160 v -295 -295 h -115 -115 v -75 -75 h 230 230 v 370 370 h 145 145 v 75 75 h -420 -420 z"
|
||||
id="path37" />
|
||||
<path
|
||||
d="m 7010,5675 v -555 h 115 115 l 2,463 3,462 253,3 252,2 v 90 90 h -370 -370 z"
|
||||
id="path39" />
|
||||
<path
|
||||
d="m 8002,6211 c 2,-11 82,-261 178,-555 l 175,-536 140,3 139,2 178,545 c 98,300 178,548 178,553 0,4 -52,7 -115,7 h -114 l -21,-72 c -12,-40 -29,-100 -38,-133 l -18,-60 -190,-3 -190,-2 -38,135 -39,135 h -114 c -108,0 -114,-1 -111,-19 z m 628,-438 c 0,-3 -25,-94 -54,-202 -30,-108 -60,-218 -67,-244 -6,-26 -13,-46 -15,-44 -6,5 -134,473 -134,486 0,7 46,11 135,11 74,0 135,-3 135,-7 z"
|
||||
id="path41" />
|
||||
<path
|
||||
d="m 9260,5674 v -556 l 268,4 c 219,4 277,8 321,22 72,23 119,56 153,107 33,50 42,90 36,169 -7,104 -72,177 -193,216 -15,5 -5,10 37,20 162,38 242,142 224,292 -19,157 -124,251 -308,272 -45,6 -185,10 -310,10 h -228 z m 539,358 c 66,-35 92,-140 55,-218 -28,-59 -76,-76 -231,-82 l -133,-5 v 162 161 h 138 c 114,0 143,-3 171,-18 z m -39,-499 c 36,-33 51,-87 39,-140 -4,-22 -21,-50 -39,-65 -29,-27 -34,-28 -150,-28 h -120 v 130 130 h 120 c 116,0 121,-1 150,-27 z"
|
||||
id="path43" />
|
||||
<path
|
||||
d="m 4940,5095 v -85 h 115 115 v 85 85 h -115 -115 z"
|
||||
id="path45" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.9 KiB |
128
assets/qml/About.qml
Normal file
@ -0,0 +1,128 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Window 2.0
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
import "Widgets" as Widgets
|
||||
import "Components" as Components
|
||||
|
||||
ApplicationWindow {
|
||||
id: window
|
||||
flags: Qt.Dialog
|
||||
title: qsTr("About")
|
||||
minimumWidth: 320
|
||||
maximumWidth: 320
|
||||
minimumHeight: 480
|
||||
maximumHeight: 480
|
||||
|
||||
background: Rectangle {
|
||||
color: Qt.darker(palette.base)
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: app.spacing
|
||||
anchors.margins: 2 * app.spacing
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize.width: parent.width
|
||||
source: "qrc:/images/logo.svg"
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
}
|
||||
|
||||
Label {
|
||||
opacity: 0.5
|
||||
font.pixelSize: 18
|
||||
Layout.fillWidth: true
|
||||
font.family: app.monoFont
|
||||
horizontalAlignment: Text.AlignRight
|
||||
text: qsTr("Version %1").arg(CppAppVersion)
|
||||
}
|
||||
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
|
||||
Label {
|
||||
opacity: 0.8
|
||||
Layout.fillWidth: true
|
||||
wrapMode: Label.WrapAtWordBoundaryOrAnywhere
|
||||
text: qsTr("Copyright © 2020 %1, released under the MIT License.").arg(CppAppOrganization)
|
||||
}
|
||||
|
||||
Label {
|
||||
opacity: 0.8
|
||||
font.pixelSize: 12
|
||||
Layout.fillWidth: true
|
||||
color: palette.highlightedText
|
||||
wrapMode: Label.WrapAtWordBoundaryOrAnywhere
|
||||
text: "The program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE."
|
||||
}
|
||||
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Contact author")
|
||||
onClicked: Qt.openUrlExternally("mailto:alex_spataru@outlook.com")
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Report bug")
|
||||
onClicked: Qt.openUrlExternally("https://github.com/Serial-Studio/Serial-Studio/issues")
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Latest releases")
|
||||
onClicked: Qt.openUrlExternally("https://github.com/Serial-Studio/Serial-Studio/releases/latest")
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("SigLAB/MCU communication tutorial")
|
||||
onClicked: Qt.openUrlExternally("https://github.com/Serial-Studio/Serial-Studio/wiki")
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
Button {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Close")
|
||||
onClicked: window.close()
|
||||
}
|
||||
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
}
|
||||
}
|
123
assets/qml/Components/Console.qml
Normal file
@ -0,0 +1,123 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import "../Widgets" as Widgets
|
||||
|
||||
Widgets.Window {
|
||||
id: window
|
||||
|
||||
//
|
||||
// Window properties
|
||||
//
|
||||
implicitHeight: 256
|
||||
title: qsTr("Console")
|
||||
icon.source: "qrc:/icons/code.svg"
|
||||
|
||||
//
|
||||
// Set the CppSerialManager's text document pointer so that the console
|
||||
// ouput is handled automatically by the CppSerialManager
|
||||
//
|
||||
Component.onCompleted: CppSerialManager.setTextDocument(_console.textDocument)
|
||||
|
||||
//
|
||||
// Controls
|
||||
//
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
spacing: app.spacing
|
||||
anchors.margins: app.spacing * 1.5
|
||||
|
||||
//
|
||||
// Console display
|
||||
//
|
||||
TextField {
|
||||
id: _cont
|
||||
readOnly: true
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
palette.base: Qt.rgba(8/255, 22/255, 18/255, 1)
|
||||
|
||||
ScrollView {
|
||||
id: _scrollView
|
||||
clip: true
|
||||
anchors.fill: parent
|
||||
contentWidth: parent.width
|
||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||
|
||||
TextArea {
|
||||
id: _console
|
||||
readOnly: true
|
||||
font.pixelSize: 12
|
||||
color: app.consoleColor
|
||||
wrapMode: TextEdit.Wrap
|
||||
textFormat: Text.RichText
|
||||
font.family: app.monoFont
|
||||
width: _scrollView.contentWidth
|
||||
placeholderText: qsTr("No data received so far...")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Data-write controls
|
||||
//
|
||||
RowLayout {
|
||||
Layout.fillWidth: true
|
||||
|
||||
TextField {
|
||||
id: _tf
|
||||
height: 24
|
||||
font.pixelSize: 12
|
||||
Layout.fillWidth: true
|
||||
color: app.consoleColor
|
||||
font.family: app.monoFont
|
||||
enabled: CppSerialManager.readWrite
|
||||
palette.base: Qt.rgba(8/255, 22/255, 18/255, 1)
|
||||
placeholderText: qsTr("Send data to device") + "..."
|
||||
Keys.onReturnPressed: {
|
||||
CppSerialManager.sendData(_tf.text)
|
||||
_tf.clear()
|
||||
}
|
||||
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
}
|
||||
|
||||
Button {
|
||||
height: 24
|
||||
icon.color: palette.text
|
||||
opacity: enabled ? 1 : 0.5
|
||||
icon.source: "qrc:/icons/send.svg"
|
||||
enabled: CppSerialManager.readWrite
|
||||
onClicked: {
|
||||
CppSerialManager.sendData(_tf.text)
|
||||
_tf.clear()
|
||||
}
|
||||
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
470
assets/qml/Components/DataGrid.qml
Normal file
@ -0,0 +1,470 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import Group 1.0
|
||||
import Dataset 1.0
|
||||
|
||||
import "../Widgets"
|
||||
|
||||
Item {
|
||||
id: dataGrid
|
||||
|
||||
property string title: ""
|
||||
|
||||
//
|
||||
// Group/dataset updating
|
||||
//
|
||||
Connections {
|
||||
target: CppQmlBridge
|
||||
function onUpdated() {
|
||||
dataGrid.title = CppQmlBridge.projectTitle
|
||||
if (groupGenerator.model !== CppQmlBridge.groupCount) {
|
||||
var list = []
|
||||
for (var i = 0; i < CppQmlBridge.groupCount; ++i)
|
||||
list.push(true)
|
||||
|
||||
groupGenerator.model = 0
|
||||
viewOptions.groups = list
|
||||
groupGenerator.model = CppQmlBridge.groupCount
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Graph data updating
|
||||
//
|
||||
Connections {
|
||||
target: CppGraphProvider
|
||||
function onDataUpdated() {
|
||||
if (graphGenerator.model !== CppGraphProvider.graphCount) {
|
||||
var list = []
|
||||
for (var i = 0; i < CppGraphProvider.graphCount; ++i)
|
||||
list.push(true)
|
||||
|
||||
graphGenerator.model = 0
|
||||
viewOptions.graphs = list
|
||||
graphGenerator.model = CppGraphProvider.graphCount
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Main layout
|
||||
//
|
||||
ColumnLayout {
|
||||
x: 2 * app.spacing
|
||||
anchors.fill: parent
|
||||
spacing: app.spacing * 2
|
||||
anchors.margins: app.spacing * 2
|
||||
|
||||
//
|
||||
// Group data & graphs
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
//
|
||||
// View options
|
||||
//
|
||||
Window {
|
||||
id: viewOptions
|
||||
title: qsTr("View")
|
||||
Layout.fillHeight: true
|
||||
Layout.minimumWidth: 240
|
||||
icon.source: "qrc:/icons/visibility.svg"
|
||||
borderColor: Qt.rgba(45/255, 96/255, 115/255, 1)
|
||||
backgroundColor: Qt.rgba(18 / 255, 18 / 255, 24 / 255, 1)
|
||||
|
||||
property var groups: []
|
||||
property var graphs: []
|
||||
|
||||
ScrollView {
|
||||
clip: true
|
||||
contentWidth: -1
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
|
||||
ColumnLayout {
|
||||
x: app.spacing
|
||||
width: parent.width - 10 - 2 * app.spacing
|
||||
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
|
||||
//
|
||||
// Horizontal range title
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
visible: graphGenerator.count > 0
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(18, 18)
|
||||
source: "qrc:/icons/scatter-plot.svg"
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
color: palette.text
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.bold: true
|
||||
text: qsTr("Horizontal Range") + ":"
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Horizontal range slider
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
visible: graphGenerator.count > 0
|
||||
|
||||
Slider {
|
||||
id: slider
|
||||
to: 100
|
||||
from: 1
|
||||
live: false
|
||||
Layout.fillWidth: true
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
value: CppGraphProvider.displayedPoints
|
||||
onValueChanged: CppGraphProvider.displayedPoints = value
|
||||
}
|
||||
|
||||
Label {
|
||||
font.family: app.monoFont
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
text: Math.ceil(slider.position * (slider.to))
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
|
||||
//
|
||||
// Group title
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
visible: groupGenerator.count > 0
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(18, 18)
|
||||
source: "qrc:/icons/group.svg"
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
color: palette.text
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.bold: true
|
||||
text: qsTr("Data Groups") + ":"
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Semi-spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing / 2
|
||||
}
|
||||
|
||||
//
|
||||
// Group switches
|
||||
//
|
||||
Repeater {
|
||||
model: groupGenerator.model
|
||||
delegate: Switch {
|
||||
Layout.fillWidth: true
|
||||
Component.onCompleted: checked = true
|
||||
text: CppQmlBridge.getGroup(index).title
|
||||
palette.highlight: Qt.rgba(215/255, 45/255, 96/255, 1)
|
||||
onCheckedChanged: {
|
||||
viewOptions.groups[index] = checked
|
||||
viewOptions.groupsChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing
|
||||
}
|
||||
|
||||
//
|
||||
// Graphs title
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
visible: groupGenerator.count > 0
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(18, 18)
|
||||
source: "qrc:/icons/chart.svg"
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
color: palette.text
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.bold: true
|
||||
text: qsTr("Data Plots") + ":"
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Semi-spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing / 2
|
||||
}
|
||||
|
||||
//
|
||||
// Graph switches
|
||||
//
|
||||
Repeater {
|
||||
model: graphGenerator.model
|
||||
delegate: Switch {
|
||||
Layout.fillWidth: true
|
||||
Component.onCompleted: checked = true
|
||||
text: CppGraphProvider.getDataset(index).title
|
||||
palette.highlight: Qt.rgba(215/255, 45/255, 96/255, 1)
|
||||
onCheckedChanged: {
|
||||
viewOptions.graphs[index] = checked
|
||||
viewOptions.graphsChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Data grid
|
||||
//
|
||||
Window {
|
||||
id: dataWin
|
||||
title: qsTr("Data")
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.minimumWidth: 240
|
||||
icon.source: "qrc:/icons/scatter-plot.svg"
|
||||
borderColor: Qt.rgba(45/255, 96/255, 115/255, 1)
|
||||
backgroundColor: Qt.rgba(18 / 255, 18 / 255, 24 / 255, 1)
|
||||
|
||||
Rectangle {
|
||||
z: 1
|
||||
color: dataWin.borderColor
|
||||
height: dataWin.borderWidth
|
||||
|
||||
anchors {
|
||||
leftMargin: 5
|
||||
rightMargin: 5
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
z: 0
|
||||
id: _sv
|
||||
clip: false
|
||||
contentWidth: -1
|
||||
anchors.fill: parent
|
||||
anchors.rightMargin: 10
|
||||
anchors.margins: app.spacing * 2
|
||||
anchors.leftMargin: app.spacing * 2 + 10
|
||||
|
||||
ColumnLayout {
|
||||
width: _sv.width - 2 * app.spacing
|
||||
|
||||
Item {
|
||||
Layout.minimumHeight: 10
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
rowSpacing: 0
|
||||
columnSpacing: 0
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
columns: Math.floor(width / 224)
|
||||
|
||||
Repeater {
|
||||
id: groupGenerator
|
||||
|
||||
delegate: Item {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.minimumHeight: groupDelegate.visible ? 196 : 0
|
||||
|
||||
Behavior on Layout.minimumHeight {NumberAnimation{}}
|
||||
|
||||
GroupDelegate {
|
||||
id: groupDelegate
|
||||
groupIndex: index
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
group: CppQmlBridge.getGroup(index)
|
||||
enabled: viewOptions.groups[groupIndex]
|
||||
|
||||
Connections {
|
||||
target: viewOptions
|
||||
function onGroupsChanged() {
|
||||
groupDelegate.enabled = viewOptions.groups[groupDelegate.groupIndex]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
id: graphGenerator
|
||||
|
||||
delegate: Item {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
Layout.minimumHeight: graphDelegate.visible ? 196 : 0
|
||||
|
||||
Behavior on Layout.minimumHeight {NumberAnimation{}}
|
||||
|
||||
GraphDelegate {
|
||||
id: graphDelegate
|
||||
graphId: index
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
enabled: viewOptions.graphs[graphId]
|
||||
|
||||
Connections {
|
||||
target: viewOptions
|
||||
function onGraphsChanged() {
|
||||
graphDelegate.enabled = viewOptions.graphs[graphDelegate.graphId]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.minimumHeight: 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Title
|
||||
//
|
||||
Rectangle {
|
||||
radius: 5
|
||||
height: 32
|
||||
Layout.fillWidth: true
|
||||
color: Qt.rgba(45/255, 96/255, 115/255, 1)
|
||||
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
leftMargin: app.spacing
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(24, 24)
|
||||
source: "qrc:/icons/arrow-right.svg"
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
anchors.fill: parent
|
||||
color: palette.brightText
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.bold: true
|
||||
font.pixelSize: 16
|
||||
text: dataGrid.title
|
||||
color: palette.brightText
|
||||
font.family: app.monoFont
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.family: app.monoFont
|
||||
color: palette.brightText
|
||||
text: CppSerialManager.receivedBytes
|
||||
|
||||
anchors {
|
||||
right: parent.right
|
||||
rightMargin: app.spacing
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
243
assets/qml/Components/DeviceManager.qml
Normal file
@ -0,0 +1,243 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import Qt.labs.settings 1.0
|
||||
|
||||
import "../Widgets" as Widgets
|
||||
|
||||
Widgets.Window {
|
||||
//
|
||||
// Window properties
|
||||
//
|
||||
implicitWidth: 256
|
||||
title: qsTr("Device Manager")
|
||||
icon.source: "qrc:/icons/usb.svg"
|
||||
|
||||
//
|
||||
// Save settings
|
||||
//
|
||||
Settings {
|
||||
category: "Device Manager"
|
||||
property alias dmParity: parity.currentIndex
|
||||
property alias dmStopBits: stopBits.currentIndex
|
||||
property alias dmBaudRate: baudRate.currentIndex
|
||||
property alias dmDataBits: dataBits.currentIndex
|
||||
property alias dmFlowControl: flowControl.currentIndex
|
||||
}
|
||||
|
||||
//
|
||||
// Control arrangement
|
||||
//
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing * 1.5
|
||||
spacing: app.spacing / 2
|
||||
|
||||
//
|
||||
// COM port selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("COM Port") + ":"
|
||||
} ComboBox {
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.portList
|
||||
currentIndex: CppSerialManager.portIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.portIndex !== currentIndex)
|
||||
CppSerialManager.portIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Baud rate selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Baud Rate") + ":"
|
||||
} ComboBox {
|
||||
id: baudRate
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.baudRateList
|
||||
currentIndex: CppSerialManager.baudRateIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.baudRateIndex !== currentIndex)
|
||||
CppSerialManager.baudRateIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
height: app.spacing * 2
|
||||
}
|
||||
|
||||
//
|
||||
// Data bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Data Bits") + ":"
|
||||
} ComboBox {
|
||||
id: dataBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.dataBitsList
|
||||
currentIndex: CppSerialManager.dataBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.dataBitsIndex !== currentIndex)
|
||||
CppSerialManager.dataBitsIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Parity selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Parity") + ":"
|
||||
} ComboBox {
|
||||
id: parity
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.parityList
|
||||
currentIndex: CppSerialManager.parityIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.parityIndex !== currentIndex)
|
||||
CppSerialManager.parityIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Stop bits selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Stop Bits") + ":"
|
||||
} ComboBox {
|
||||
id: stopBits
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.stopBitsList
|
||||
currentIndex: CppSerialManager.stopBitsIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.stopBitsIndex !== currentIndex)
|
||||
CppSerialManager.stopBitsIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Flow control selector
|
||||
//
|
||||
Label {
|
||||
text: qsTr("Flow Control") + ":"
|
||||
} ComboBox {
|
||||
id: flowControl
|
||||
Layout.fillWidth: true
|
||||
model: CppSerialManager.flowControlList
|
||||
currentIndex: CppSerialManager.flowControlIndex
|
||||
onCurrentIndexChanged: {
|
||||
if (CppSerialManager.flowControlIndex !== currentIndex)
|
||||
CppSerialManager.flowControlIndex = currentIndex
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
//
|
||||
// RX/TX LEDs
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
Widgets.LED {
|
||||
id: _rx
|
||||
enabled: false
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
|
||||
Connections {
|
||||
target: CppSerialManager
|
||||
function onRx() {
|
||||
_rx.flash()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: "RX"
|
||||
font.bold: true
|
||||
font.pixelSize: 18
|
||||
font.family: app.monoFont
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
color: _rx.enabled ? palette.highlight : _rx.offColor
|
||||
}
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(32, 32)
|
||||
source: "qrc:/icons/ethernet.svg"
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
anchors.fill: parent
|
||||
color: _rx.offColor
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: "TX"
|
||||
font.bold: true
|
||||
font.pixelSize: 18
|
||||
font.family: app.monoFont
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
color: _tx.enabled ? palette.highlight : _tx.offColor
|
||||
}
|
||||
|
||||
Widgets.LED {
|
||||
id: _tx
|
||||
enabled: false
|
||||
layoutDirection: Qt.RightToLeft
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
|
||||
Connections {
|
||||
target: CppSerialManager
|
||||
function onTx() {
|
||||
_tx.flash()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Spacer
|
||||
//
|
||||
Item {
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
}
|
170
assets/qml/Components/ToolBar.qml
Normal file
@ -0,0 +1,170 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
import Qt.labs.settings 1.0
|
||||
|
||||
ToolBar {
|
||||
id: toolbar
|
||||
height: 48
|
||||
|
||||
//
|
||||
// Custom properties
|
||||
//
|
||||
property alias devicesChecked: _devices.checked
|
||||
property alias consoleChecked: _console.checked
|
||||
property alias dataDisChecked: _dataDis.checked
|
||||
property alias fullscrChecked: _fullScr.checked
|
||||
|
||||
//
|
||||
// Dummy string to increase width of buttons
|
||||
//
|
||||
readonly property string _btSpacer: " "
|
||||
|
||||
//
|
||||
// Custom signals
|
||||
//
|
||||
signal aboutClicked()
|
||||
|
||||
//
|
||||
// Settings handler
|
||||
//
|
||||
Settings {
|
||||
category: "Toolbar"
|
||||
property alias devices: toolbar.devicesChecked
|
||||
property alias console: toolbar.consoleChecked
|
||||
property alias dataDis: toolbar.dataDisChecked
|
||||
}
|
||||
|
||||
//
|
||||
// Background gradient
|
||||
//
|
||||
Rectangle {
|
||||
border.width: 1
|
||||
color: Qt.rgba(33/255, 55/255, 63/255, 1)
|
||||
border.color: Qt.darker(color)
|
||||
|
||||
anchors {
|
||||
fill: parent
|
||||
topMargin: -border.width
|
||||
leftMargin: -border.width * 10
|
||||
rightMargin: -border.width * 10
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Toolbar icons
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
|
||||
Button {
|
||||
id: _devices
|
||||
flat: true
|
||||
checked: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
checkable: true
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
icon.source: "qrc:/icons/usb.svg"
|
||||
text: qsTr("Device Manager") + _btSpacer
|
||||
}
|
||||
|
||||
Button {
|
||||
id: _console
|
||||
flat: true
|
||||
checked: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
checkable: true
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
icon.source: "qrc:/icons/code.svg"
|
||||
text: qsTr("Console") + _btSpacer
|
||||
}
|
||||
|
||||
Button {
|
||||
id: _dataDis
|
||||
flat: true
|
||||
checked: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
checkable: true
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
icon.source: "qrc:/icons/equalizer.svg"
|
||||
text: qsTr("Data Display") + _btSpacer
|
||||
}
|
||||
|
||||
Button {
|
||||
id: _fullScr
|
||||
flat: true
|
||||
checkable: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
onCheckedChanged: checked ? app.showFullScreen() : app.showNormal()
|
||||
text: (checked ? qsTr("Exit Fullscreen") : qsTr("Enter Fullscreen")) + _btSpacer
|
||||
icon.source: checked ? "qrc:/icons/fullscreen-exit.svg" :
|
||||
"qrc:/icons/fullscreen.svg"
|
||||
}
|
||||
|
||||
Button {
|
||||
flat: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
text: qsTr("About")
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
onClicked: toolbar.aboutClicked()
|
||||
icon.source: "qrc:/icons/info.svg"
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Button {
|
||||
id: _openCsv
|
||||
flat: true
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
Layout.fillHeight: true
|
||||
icon.color: palette.text
|
||||
enabled: CppExport.isOpen
|
||||
opacity: enabled ? 1 : 0.5
|
||||
onClicked: CppExport.openCsv()
|
||||
icon.source: "qrc:/icons/open.svg"
|
||||
text: qsTr("Open CSV File") + _btSpacer
|
||||
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
216
assets/qml/UI.qml
Normal file
@ -0,0 +1,216 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import "Widgets" as Widgets
|
||||
import "Components" as Components
|
||||
|
||||
|
||||
Page {
|
||||
id: page
|
||||
|
||||
//
|
||||
// Toolbar
|
||||
//
|
||||
header: Components.ToolBar {
|
||||
id: toolbar
|
||||
onAboutClicked: about.show()
|
||||
}
|
||||
|
||||
//
|
||||
// Widgets
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
|
||||
//
|
||||
// Data display & console
|
||||
//
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
//
|
||||
// Data display widget
|
||||
//
|
||||
Widgets.Window {
|
||||
id: dataDis
|
||||
gradient: true
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
opacity: enabled ? 1 : 0
|
||||
title: qsTr("Data Display")
|
||||
enabled: toolbar.dataDisChecked
|
||||
|
||||
TabBar {
|
||||
id: tabBar
|
||||
contentHeight: 32
|
||||
palette.button: Qt.rgba(45/255, 96/255, 115/255, 1)
|
||||
visible: CppQmlBridge.gpsSupported
|
||||
enabled: CppQmlBridge.groupCount > 0
|
||||
opacity: CppQmlBridge.groupCount > 0 ? 1 : 0
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
|
||||
onVisibleChanged: dataButton.clicked()
|
||||
|
||||
anchors {
|
||||
leftMargin: 3
|
||||
rightMargin: 3
|
||||
topMargin: -2
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
TabButton {
|
||||
id: dataButton
|
||||
text: qsTr("Data")
|
||||
}
|
||||
|
||||
TabButton {
|
||||
text: qsTr("GPS Map")
|
||||
enabled: CppQmlBridge.gpsSupported
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
height: 1
|
||||
color: palette.base
|
||||
anchors {
|
||||
top: parent.top
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
leftMargin: dataDis.borderWidth
|
||||
rightMargin: dataDis.borderWidth
|
||||
}
|
||||
}
|
||||
|
||||
SwipeView {
|
||||
clip: true
|
||||
interactive: false
|
||||
anchors.fill: parent
|
||||
anchors.margins: dataDis.borderWidth
|
||||
anchors.topMargin: tabBar.visible ? tabBar.height : dataDis.borderWidth
|
||||
currentIndex: tabBar.currentIndex
|
||||
enabled: CppQmlBridge.groupCount > 0
|
||||
opacity: CppQmlBridge.groupCount > 0 ? 1 : 0
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
|
||||
Components.DataGrid {
|
||||
id: dataGrid
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
Widgets.MapDelegate {
|
||||
id: gpsMap
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing * 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
anchors.centerIn: parent
|
||||
enabled: CppQmlBridge.groupCount == 0
|
||||
opacity: CppQmlBridge.groupCount == 0 ? 1 : 0
|
||||
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
|
||||
Image {
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(128, 128)
|
||||
source: "qrc:/icons/warning.svg"
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
color: "#ffaa44"
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
font.pixelSize: 18
|
||||
text: qsTr("No data available")
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
}
|
||||
|
||||
Label {
|
||||
opacity: 0.5
|
||||
font.pixelSize: 14
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
text: CppSerialManager.connected ?
|
||||
qsTr("Check the serial console to troubleshoot the problem") :
|
||||
qsTr("No device connected, please select a COM port in the device manager pane")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Console
|
||||
//
|
||||
Components.Console {
|
||||
id: consoleWindow
|
||||
gradient: true
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
opacity: enabled ? 1 : 0
|
||||
enabled: toolbar.consoleChecked
|
||||
Layout.maximumHeight: !dataDis.enabled ? page.height : implicitHeight
|
||||
|
||||
Behavior on Layout.maximumHeight {NumberAnimation{}}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Devices hub
|
||||
//
|
||||
Components.DeviceManager {
|
||||
id: devMan
|
||||
gradient: true
|
||||
Layout.fillHeight: true
|
||||
opacity: enabled ? 1 : 0
|
||||
enabled: toolbar.devicesChecked
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// About window
|
||||
//
|
||||
About {
|
||||
id: about
|
||||
visible: false
|
||||
palette: app.palette
|
||||
}
|
||||
}
|
98
assets/qml/Widgets/DataDelegate.qml
Normal file
@ -0,0 +1,98 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import Dataset 1.0
|
||||
|
||||
Item {
|
||||
height: 14
|
||||
property Dataset dataset: null
|
||||
|
||||
Label {
|
||||
text: dataset.title
|
||||
elide: Label.ElideRight
|
||||
font.family: app.monoFont
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: Qt.rgba(230/255, 224/255, 178/255, 0.6)
|
||||
|
||||
anchors {
|
||||
leftMargin: 0
|
||||
left: parent.left
|
||||
right: center.left
|
||||
margins: app.spacing / 2
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: center
|
||||
width: sourceSize.width
|
||||
height: sourceSize.height
|
||||
sourceSize: Qt.size(18, 18)
|
||||
source: "qrc:/icons/ethernet.svg"
|
||||
|
||||
anchors {
|
||||
centerIn: parent
|
||||
}
|
||||
|
||||
ColorOverlay {
|
||||
source: parent
|
||||
anchors.fill: parent
|
||||
color: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
text: dataset.value
|
||||
elide: Label.ElideRight
|
||||
font.family: app.monoFont
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: Qt.rgba(230/255, 224/255, 178/255, 1)
|
||||
|
||||
anchors {
|
||||
left: center.right
|
||||
right: units.left
|
||||
margins: app.spacing / 2
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
id: units
|
||||
font.family: app.monoFont
|
||||
text: "[" + dataset.units + "]"
|
||||
visible: dataset.units.length > 0
|
||||
horizontalAlignment: Text.AlignRight
|
||||
color: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
|
||||
anchors {
|
||||
rightMargin: 0
|
||||
right: parent.right
|
||||
margins: app.spacing / 2
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
127
assets/qml/Widgets/GraphDelegate.qml
Normal file
@ -0,0 +1,127 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtCharts 2.3
|
||||
|
||||
import Dataset 1.0
|
||||
|
||||
Window {
|
||||
id: graphWindow
|
||||
|
||||
property int graphId: -1
|
||||
property real maximumValue: -Infinity
|
||||
property real minimumValue: +Infinity
|
||||
|
||||
spacing: -1
|
||||
showIcon: false
|
||||
visible: opacity > 0
|
||||
opacity: enabled ? 1 : 0
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
borderColor: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
title: CppGraphProvider.getDataset(graphId).title +
|
||||
" (" + CppGraphProvider.getDataset(graphId).units + ")"
|
||||
|
||||
Connections {
|
||||
target: CppGraphProvider
|
||||
function onDataUpdated() {
|
||||
// Cancel if window is not enabled
|
||||
if (!graphWindow.enabled)
|
||||
return
|
||||
|
||||
// Update maximum value (if required)
|
||||
maximumValue = CppGraphProvider.maximumValue(graphId)
|
||||
minimumValue = CppGraphProvider.minimumValue(graphId)
|
||||
|
||||
// Get central value
|
||||
var medianValue = Math.max(1, (maximumValue + minimumValue)) / 2
|
||||
if (maximumValue == minimumValue)
|
||||
medianValue = maximumValue
|
||||
|
||||
// Center graph verticaly
|
||||
var mostDiff = Math.max(Math.abs(minimumValue), Math.abs(maximumValue))
|
||||
var min = medianValue * (1 - 0.5) - Math.abs(medianValue - mostDiff)
|
||||
var max = medianValue * (1 + 0.5) + Math.abs(medianValue - mostDiff)
|
||||
if (minimumValue < 0)
|
||||
min = max * -1
|
||||
|
||||
// Update axes only if needed
|
||||
if (positionAxis.min !== min)
|
||||
positionAxis.min = min
|
||||
if (positionAxis.max !== max)
|
||||
positionAxis.max = max
|
||||
|
||||
// Draw graph
|
||||
CppGraphProvider.updateGraph(series, graphId)
|
||||
}
|
||||
}
|
||||
|
||||
ChartView {
|
||||
antialiasing: false
|
||||
anchors.fill: parent
|
||||
legend.visible: false
|
||||
backgroundRoundness: 0
|
||||
enabled: graphWindow.enabled
|
||||
visible: graphWindow.enabled
|
||||
backgroundColor: graphWindow.backgroundColor
|
||||
|
||||
margins {
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
}
|
||||
|
||||
ValueAxis {
|
||||
id: timeAxis
|
||||
min: 0
|
||||
labelFormat: " "
|
||||
lineVisible: false
|
||||
labelsVisible: false
|
||||
tickType: ValueAxis.TicksFixed
|
||||
labelsFont.family: app.monoFont
|
||||
max: CppGraphProvider.displayedPoints
|
||||
gridLineColor: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
}
|
||||
|
||||
ValueAxis {
|
||||
id: positionAxis
|
||||
min: 0
|
||||
max: 1
|
||||
lineVisible: false
|
||||
tickType: ValueAxis.TicksFixed
|
||||
labelsFont.family: app.monoFont
|
||||
labelsColor: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
gridLineColor: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
}
|
||||
|
||||
LineSeries {
|
||||
id: series
|
||||
width: 2
|
||||
axisX: timeAxis
|
||||
useOpenGL: true
|
||||
capStyle: Qt.RoundCap
|
||||
axisYRight: positionAxis
|
||||
color: Qt.rgba(230/255, 224/255, 178/255, 1)
|
||||
}
|
||||
}
|
||||
}
|
80
assets/qml/Widgets/GroupDelegate.qml
Normal file
@ -0,0 +1,80 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import Group 1.0
|
||||
import Dataset 1.0
|
||||
|
||||
Window {
|
||||
id: groupWindow
|
||||
|
||||
spacing: -1
|
||||
showIcon: false
|
||||
title: group.title
|
||||
visible: opacity > 0
|
||||
opacity: enabled ? 1 : 0
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
borderColor: Qt.rgba(81/255, 116/255, 151/255, 1)
|
||||
|
||||
property int groupIndex: 0
|
||||
property Group group: null
|
||||
|
||||
Connections {
|
||||
target: CppQmlBridge
|
||||
function onUpdated() {
|
||||
if (groupWindow.enabled)
|
||||
group = CppQmlBridge.getGroup(groupIndex)
|
||||
}
|
||||
}
|
||||
|
||||
ScrollView {
|
||||
id: _sv
|
||||
clip: true
|
||||
contentWidth: -1
|
||||
anchors.fill: parent
|
||||
anchors.margins: app.spacing
|
||||
|
||||
ScrollBar.vertical.z: 5
|
||||
enabled: contentHeight > parent.width
|
||||
ScrollBar.vertical.policy: ScrollBar.AlwaysOn
|
||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||
ScrollBar.vertical.visible: ScrollBar.vertical.size < 1
|
||||
|
||||
ColumnLayout {
|
||||
x: 0
|
||||
spacing: app.spacing
|
||||
width: _sv.width - (_sv.ScrollBar.vertical.visible ? 10 : 0)
|
||||
|
||||
Repeater {
|
||||
model: group.datasetCount
|
||||
delegate: DataDelegate {
|
||||
Layout.fillWidth: true
|
||||
dataset: group.getDataset(index)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
83
assets/qml/Widgets/LED.qml
Normal file
@ -0,0 +1,83 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
RowLayout {
|
||||
id: _led
|
||||
spacing: app.spacing
|
||||
|
||||
//
|
||||
// Custom properties
|
||||
//
|
||||
property alias label: _label
|
||||
property alias indicator: _dot
|
||||
property alias text: _label.text
|
||||
property alias font: _label.font
|
||||
property alias flashDuration: _timer.interval
|
||||
property color onColor: Qt.rgba(215/255, 45/255, 96/255, 1)
|
||||
property color offColor: Qt.rgba(45/255, 96/255, 115/255, 1)
|
||||
|
||||
//
|
||||
// Turns on the LED for a short period of time
|
||||
//
|
||||
function flash() {
|
||||
_led.enabled = true
|
||||
if (_timer.running)
|
||||
_timer.restart()
|
||||
else
|
||||
_timer.start()
|
||||
}
|
||||
|
||||
//
|
||||
// Used to allow the flash behavior
|
||||
//
|
||||
Timer {
|
||||
id: _timer
|
||||
interval: 50
|
||||
onTriggered: _led.enabled = false
|
||||
}
|
||||
|
||||
//
|
||||
// LED indicator
|
||||
//
|
||||
Rectangle {
|
||||
id: _dot
|
||||
width: 18
|
||||
height: 18
|
||||
radius: width / 2
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
color: _led.enabled ? _led.onColor : _led.offColor
|
||||
}
|
||||
|
||||
//
|
||||
// LED text
|
||||
//
|
||||
Label {
|
||||
id: _label
|
||||
font.family: app.monoFont
|
||||
color: palette.highlightedText
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
}
|
||||
}
|
190
assets/qml/Widgets/MapDelegate.qml
Normal file
@ -0,0 +1,190 @@
|
||||
/*
|
||||
* Copyright (c) 2018 Kaan-Sat <https://kaansat.com.mx/>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.0
|
||||
import QtLocation 5.11
|
||||
import QtPositioning 5.11
|
||||
import QtQuick.Layouts 1.0
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Controls.Universal 2.0
|
||||
|
||||
import Qt.labs.settings 1.0
|
||||
|
||||
ColumnLayout {
|
||||
id: gps
|
||||
spacing: app.spacing
|
||||
Component.onCompleted: centerMap()
|
||||
|
||||
//
|
||||
// Real-time GPS coordinates components
|
||||
//
|
||||
property real latitude: CppQmlBridge.gpsLatitude
|
||||
property real longitude: CppQmlBridge.gpsLongitude
|
||||
|
||||
//
|
||||
// Will be true if GPS coordinates are different from (0,0)
|
||||
//
|
||||
readonly property bool gpsWorking: latitude != 0 || longitude != 0
|
||||
|
||||
//
|
||||
// Location of Queretaro
|
||||
//
|
||||
readonly property var qroCoordinates: QtPositioning.coordinate(20.5846129, -100.385372)
|
||||
|
||||
//
|
||||
// Used to know if we need to center the map
|
||||
//
|
||||
property var oldCoordinates: QtPositioning.coordinate(0,0)
|
||||
|
||||
//
|
||||
// Real-time position
|
||||
//
|
||||
readonly property var gpsCoordinates: QtPositioning.coordinate(latitude, longitude)
|
||||
|
||||
//
|
||||
// Center map when connecting with CanSat
|
||||
//
|
||||
Connections {
|
||||
target: CppQmlBridge
|
||||
|
||||
function onUpdated() {
|
||||
if (oldCoordinates === QtPositioning.coordinate(0,0)) {
|
||||
map.center = gpsCoordinates
|
||||
oldCoordinates = gpsCoordinates
|
||||
}
|
||||
|
||||
gps.latitude = CppQmlBridge.gpsLatitude
|
||||
gps.longitude = CppQmlBridge.gpsLongitude
|
||||
}
|
||||
} Connections {
|
||||
target: CppSerialManager
|
||||
|
||||
function onPortChanged() {
|
||||
oldCoordinates = QtPositioning.coordinate(0,0)
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Centers the map to Queretaro if the GPS is not working,
|
||||
// otherwise, centers the map to the CanSat's position
|
||||
//
|
||||
function centerMap() {
|
||||
// GPS not responding, go to QRO
|
||||
if (!gpsWorking)
|
||||
map.center = qroCoordinates
|
||||
|
||||
// Show GPS position
|
||||
else
|
||||
map.center = gpsCoordinates
|
||||
}
|
||||
|
||||
//
|
||||
// Save settings between runs
|
||||
//
|
||||
Settings {
|
||||
property alias mapType: mapTypeSelector.currentIndex
|
||||
}
|
||||
|
||||
//
|
||||
// Controls
|
||||
//
|
||||
RowLayout {
|
||||
spacing: app.spacing
|
||||
Layout.fillWidth: true
|
||||
|
||||
ComboBox {
|
||||
id: mapTypeSelector
|
||||
textRole: "description"
|
||||
Layout.fillWidth: true
|
||||
model: map.supportedMapTypes
|
||||
onCurrentIndexChanged: map.activeMapType = map.supportedMapTypes[currentIndex]
|
||||
}
|
||||
|
||||
Button {
|
||||
text: qsTr("Re-center")
|
||||
icon.color: palette.buttonText
|
||||
icon.source: "qrc:/icons/location-on.svg"
|
||||
onClicked: centerMap()
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Map
|
||||
//
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
|
||||
border {
|
||||
width: 2
|
||||
color: "#646464"
|
||||
}
|
||||
|
||||
Map {
|
||||
id: map
|
||||
anchors.fill: parent
|
||||
copyrightsVisible: false
|
||||
color: Universal.background
|
||||
anchors.margins: parent.border.width
|
||||
zoomLevel: (map.minimumZoomLevel + map.maximumZoomLevel) * 0.8
|
||||
|
||||
MapQuickItem {
|
||||
sourceItem: Rectangle {
|
||||
id: dot
|
||||
width: 20
|
||||
height: 20
|
||||
opacity: 0.1
|
||||
color: "#f00"
|
||||
border.width: 2
|
||||
radius: width / 2
|
||||
border.color: "#fff"
|
||||
|
||||
Connections {
|
||||
target: CppSerialManager
|
||||
function onPacketReceived() {
|
||||
timer.restart()
|
||||
dot.opacity = 0.8
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on opacity { NumberAnimation { duration: 500 } }
|
||||
|
||||
Timer {
|
||||
id: timer
|
||||
repeat: true
|
||||
interval: 500
|
||||
Component.onCompleted: start()
|
||||
onTriggered: dot.opacity = CppSerialManager.connected ? 0.25 : 0.1
|
||||
}
|
||||
}
|
||||
|
||||
coordinate: gpsWorking ? gpsCoordinates : qroCoordinates
|
||||
anchorPoint: Qt.point(sourceItem.width / 2,
|
||||
sourceItem.height/ 2)
|
||||
}
|
||||
|
||||
plugin: Plugin {
|
||||
name: "mapboxgl"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
129
assets/qml/Widgets/Window.qml
Normal file
@ -0,0 +1,129 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
Page {
|
||||
clip: true
|
||||
id: window
|
||||
|
||||
|
||||
//
|
||||
// Custom properties
|
||||
//
|
||||
property int borderWidth: 3
|
||||
property alias icon: _bt.icon
|
||||
property bool gradient: false
|
||||
property alias showIcon: _bt.visible
|
||||
property color titleColor: palette.brightText
|
||||
property color borderColor: palette.highlight
|
||||
property color backgroundColor: Qt.darker(palette.base)
|
||||
property color gradientColor: window.gradient ? Qt.rgba(5/255, 139/255, 167/255, 1) : window.borderColor
|
||||
|
||||
//
|
||||
// Animations
|
||||
//
|
||||
Behavior on opacity {NumberAnimation{}}
|
||||
Behavior on Layout.preferredWidth {NumberAnimation{}}
|
||||
Behavior on Layout.preferredHeight {NumberAnimation{}}
|
||||
|
||||
//
|
||||
// Layout properties
|
||||
//
|
||||
visible: opacity > 0
|
||||
Layout.preferredWidth: enabled ? implicitWidth : 0
|
||||
Layout.preferredHeight: enabled ? implicitHeight : 0
|
||||
|
||||
//
|
||||
// Background widget
|
||||
//
|
||||
background: Rectangle {
|
||||
color: window.backgroundColor
|
||||
radius: window.borderWidth + 2
|
||||
border.width: window.borderWidth
|
||||
border.color: window.gradientColor
|
||||
}
|
||||
|
||||
//
|
||||
// Window title & controls
|
||||
//
|
||||
header: Rectangle {
|
||||
height: 32
|
||||
color: window.borderColor
|
||||
radius: window.borderWidth + 2
|
||||
|
||||
gradient: Gradient {
|
||||
GradientStop {
|
||||
position: 0
|
||||
color: window.borderColor
|
||||
}
|
||||
|
||||
GradientStop {
|
||||
position: 1
|
||||
color: window.gradientColor
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
z: 5
|
||||
color: window.gradientColor
|
||||
height: window.gradient ? 1 : parent.radius
|
||||
|
||||
anchors {
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
spacing: 0
|
||||
anchors.fill: parent
|
||||
|
||||
ToolButton {
|
||||
id: _bt
|
||||
flat: true
|
||||
enabled: false
|
||||
icon.width: 24
|
||||
icon.height: 24
|
||||
Layout.minimumWidth: 32
|
||||
Layout.maximumWidth: 32
|
||||
icon.color: window.titleColor
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
Layout.maximumHeight: parent.height
|
||||
Layout.minimumHeight: parent.height
|
||||
icon.source: "qrc:/icons/equalizer.svg"
|
||||
}
|
||||
|
||||
Label {
|
||||
font.bold: true
|
||||
text: window.title
|
||||
Layout.fillWidth: true
|
||||
color: window.titleColor
|
||||
Layout.alignment: Qt.AlignVCenter
|
||||
horizontalAlignment: window.showIcon ? Label.AlignLeft : Label.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
111
assets/qml/main.qml
Normal file
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (c) 2020 Alex Spataru <https://github.com/alex-spataru>
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
* THE SOFTWARE.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Window 2.0
|
||||
import QtQuick.Layouts 1.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
import Qt.labs.settings 1.0
|
||||
|
||||
import "Widgets" as Widgets
|
||||
|
||||
ApplicationWindow {
|
||||
id: app
|
||||
|
||||
//
|
||||
// Global properties
|
||||
//
|
||||
readonly property int spacing: 8
|
||||
readonly property color consoleColor: Qt.rgba(142/255, 205/255, 157/255, 1)
|
||||
readonly property string monoFont: {
|
||||
switch (Qt.platform.os) {
|
||||
case "osx":
|
||||
return "Menlo"
|
||||
case "windows":
|
||||
return "Consolas"
|
||||
default:
|
||||
return "Monospace"
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Window geometry
|
||||
//
|
||||
minimumWidth: 960
|
||||
minimumHeight: 640
|
||||
title: CppAppName + " " + CppAppVersion
|
||||
|
||||
//
|
||||
// Save/load settings
|
||||
//
|
||||
Settings {
|
||||
property alias mwX: app.x
|
||||
property alias mwY: app.y
|
||||
property alias mwWidth: app.width
|
||||
property alias mwHeight: app.height
|
||||
}
|
||||
|
||||
//
|
||||
// Set fusion palette
|
||||
//
|
||||
palette.base: Qt.rgba(33/255, 55/255, 63/255, 1)
|
||||
palette.text: Qt.rgba(255/255, 255/255, 255/255, 1)
|
||||
palette.link: Qt.rgba(64/255, 157/255, 160/255, 1)
|
||||
palette.button: Qt.rgba(33/255, 55/255, 63/255, 1)
|
||||
palette.window: Qt.rgba(33/255, 55/255, 63/255, 1)
|
||||
palette.highlight: Qt.rgba(64/255, 157/255, 160/255, 1)
|
||||
palette.buttonText: Qt.rgba(255/255, 255/255, 255/255, 1)
|
||||
palette.windowText: Qt.rgba(255/255, 255/255, 255/255, 1)
|
||||
palette.toolTipBase: Qt.rgba(230/255, 224/255, 178/255, 1)
|
||||
palette.toolTipText: Qt.rgba(230/255, 224/255, 178/255, 1)
|
||||
palette.brightText: Qt.rgba(255/255, 255/255, 255/255, 1)
|
||||
palette.highlightedText: Qt.rgba(230/255, 224/255, 178/255, 1)
|
||||
|
||||
//
|
||||
// User interface loader
|
||||
//
|
||||
Loader {
|
||||
anchors.fill: parent
|
||||
|
||||
onStatusChanged: {
|
||||
if (status == Loader.Ready)
|
||||
timer.start()
|
||||
}
|
||||
|
||||
sourceComponent: UI {
|
||||
anchors.fill: parent
|
||||
background: Rectangle {
|
||||
color: "#111"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Window loader timer
|
||||
//
|
||||
Timer {
|
||||
id: timer
|
||||
interval: 500
|
||||
onTriggered: app.visible = true
|
||||
}
|
||||
}
|
6
ci-scripts/linux/build.sh
Executable file
@ -0,0 +1,6 @@
|
||||
mkdir build
|
||||
cd build
|
||||
g++ --version
|
||||
qmake --version
|
||||
qmake ../*.pro
|
||||
make -j 4
|
12
ci-scripts/linux/install.sh
Executable file
@ -0,0 +1,12 @@
|
||||
sudo apt-get -qq update
|
||||
sudo apt-get -qq install libgl1-mesa-dev libxkbcommon-x11-0
|
||||
sudo apt-add-repository -y ppa:ubuntu-toolchain-r/test
|
||||
sudo add-apt-repository -y ppa:jonathonf/gcc-9
|
||||
sudo apt-get update
|
||||
sudo apt-get -qq install libc6-i386 build-essential libgl1-mesa-dev mesa-common-dev libgles2-mesa-dev libxkbcommon-x11-0 libxcb-icccm4-dev libxcb-xinerama0 libxcb-image0 libxcb-keysyms1
|
||||
sudo apt-get -qq install libxcb-*
|
||||
sudo apt-get -qq qtbase5-dev qt5-qmake qt5-default libqt5opengl5 qml-module-qtquick-controls2 libqt5charts5 libqt5charts5-dev
|
||||
sudo apt-get -qq remove gcc g++
|
||||
sudo apt-get install gcc-9 g++-9
|
||||
sudo ln -s /usr/bin/g++-9 /usr/bin/g++
|
||||
sudo ln -s /usr/bin/gcc-9 /usr/bin/gcc
|
9
ci-scripts/osx/build.sh
Executable file
@ -0,0 +1,9 @@
|
||||
export PATH="/usr/local/opt/qt/bin:$PATH"
|
||||
source ~/.bash_profile
|
||||
export LDFLAGS="-L/usr/local/opt/qt/lib"
|
||||
export CPPFLAGS="-I/usr/local/opt/qt/include"
|
||||
mkdir build
|
||||
cd build
|
||||
qmake ../*.pro
|
||||
make
|
||||
make dmg
|
4
ci-scripts/osx/install.sh
Executable file
@ -0,0 +1,4 @@
|
||||
brew install glew
|
||||
brew install clang-format
|
||||
brew install qt
|
||||
brew install create-dmg
|
9
deploy/linux/serial-studio.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=SigLAB
|
||||
Comment=Serial data processing & visualization software
|
||||
Exec=siglab
|
||||
Terminal=false
|
||||
Type=Application
|
||||
StartupNotify=true
|
||||
Categories=Electronics;Engineering;Science;
|
||||
Icon=siglab
|
BIN
deploy/linux/serial-studio.png
Normal file
After Width: | Height: | Size: 3.2 MiB |
BIN
deploy/macOS/dmg_bg.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
deploy/macOS/icon.icns
Normal file
30
deploy/macOS/info.plist
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>SerialStudio</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>Copyright © 2020 Alex Spataru</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.alexspataru.serial-studio</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Serial Studio</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<key>LSHasLocalizedDisplayName</key>
|
||||
<true/>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSSupportsSuddenTermination</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</plist>
|
BIN
deploy/windows/resources/icon.ico
Normal file
After Width: | Height: | Size: 1.1 MiB |
1
deploy/windows/resources/info.rc
Normal file
@ -0,0 +1 @@
|
||||
IDI_ICON1 ICON DISCARDABLE "icon.ico"
|
BIN
doc/Logo.xcf
Normal file
BIN
doc/icon.png
Normal file
After Width: | Height: | Size: 3.2 MiB |
BIN
doc/screenshot.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
1
libs/QSimpleUpdater/.gitattributes
vendored
Normal file
@ -0,0 +1 @@
|
||||
doc/* linguist-documentation
|
30
libs/QSimpleUpdater/.gitignore
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
# Qt project file
|
||||
*.pro.user
|
19
libs/QSimpleUpdater/.travis.yml
Normal file
@ -0,0 +1,19 @@
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
|
||||
dist: trusty
|
||||
sudo: required
|
||||
|
||||
before_install:
|
||||
- sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
|
||||
- sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa
|
||||
- sudo apt-get update -qq
|
||||
|
||||
install:
|
||||
- sudo apt-get install -y --force-yes build-essential g++-4.8 -y
|
||||
- sudo apt-get install -y --force-yes libudev-dev libts-dev libgl1-mesa-dev libglu1-mesa-dev libasound2-dev libpulse-dev -y
|
||||
- sudo apt-get install -y --force-yes qtbase5-dev qtdeclarative5-dev libqt5gui5 qttools5-dev-tools qttools5-dev qtmultimedia5-dev
|
||||
|
||||
script:
|
||||
- qmake -qt=qt5 QSimpleUpdater.pro
|
||||
- make -j4
|
27
libs/QSimpleUpdater/COPYING.md
Normal file
@ -0,0 +1,27 @@
|
||||
# DON'T BE A DICK PUBLIC LICENSE
|
||||
|
||||
> Version 1, December 2009
|
||||
|
||||
> Copyright (C) 2009 Philip Sturgeon <me@philsturgeon.uk>
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim or modified
|
||||
copies of this license document, and changing it is allowed as long
|
||||
as the name is changed.
|
||||
|
||||
> DON'T BE A DICK PUBLIC LICENSE
|
||||
> TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
1. Do whatever you like with the original work, just don't be a dick.
|
||||
|
||||
Being a dick includes - but is not limited to - the following instances:
|
||||
|
||||
1a. Outright copyright infringement - Don't just copy this and change the name.
|
||||
1b. Selling the unmodified original with no work done what-so-ever, that's REALLY being a dick.
|
||||
1c. Modifying the original work to contain hidden harmful content. That would make you a PROPER dick.
|
||||
|
||||
2. If you become rich through modifications, related works/services, or supporting the original work,
|
||||
share the love. Only a dick would make loads off this work and not buy the original work's
|
||||
creator(s) a pint.
|
||||
|
||||
3. Code is provided with no warranty. Using somebody else's code and bitching when it goes wrong makes
|
||||
you a DONKEY dick. Fix the problem yourself. A non-dick would submit the fix back.
|
47
libs/QSimpleUpdater/QSimpleUpdater.pri
Normal file
@ -0,0 +1,47 @@
|
||||
#
|
||||
# Copyright (c) 2014-2016 Alex Spataru <alex_spataru@outlook.com>
|
||||
#
|
||||
# This file is part of the QSimpleUpdater library, which is released under
|
||||
# the DBAD license, you can read a copy of it below:
|
||||
#
|
||||
# DON'T BE A DICK PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
|
||||
# AND MODIFICATION:
|
||||
#
|
||||
# Do whatever you like with the original work, just don't be a dick.
|
||||
# Being a dick includes - but is not limited to - the following instances:
|
||||
#
|
||||
# 1a. Outright copyright infringement - Don't just copy this and change the
|
||||
# name.
|
||||
# 1b. Selling the unmodified original with no work done what-so-ever, that's
|
||||
# REALLY being a dick.
|
||||
# 1c. Modifying the original work to contain hidden harmful content.
|
||||
# That would make you a PROPER dick.
|
||||
#
|
||||
# If you become rich through modifications, related works/services, or
|
||||
# supporting the original work, share the love.
|
||||
# Only a dick would make loads off this work and not buy the original works
|
||||
# creator(s) a pint.
|
||||
#
|
||||
# Code is provided with no warranty. Using somebody else's code and bitching
|
||||
# when it goes wrong makes you a DONKEY dick.
|
||||
# Fix the problem yourself. A non-dick would submit the fix back.
|
||||
|
||||
QT += gui
|
||||
QT += core
|
||||
QT += network
|
||||
QT += widgets
|
||||
|
||||
INCLUDEPATH += $$PWD/include
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/src/Updater.cpp \
|
||||
$$PWD/src/Downloader.cpp \
|
||||
$$PWD/src/QSimpleUpdater.cpp
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/include/QSimpleUpdater.h \
|
||||
$$PWD/src/Updater.h \
|
||||
$$PWD/src/Downloader.h
|
||||
|
||||
FORMS += $$PWD/src/Downloader.ui
|
||||
RESOURCES += $$PWD/etc/resources/qsimpleupdater.qrc
|
31
libs/QSimpleUpdater/QSimpleUpdater.pro
Normal file
@ -0,0 +1,31 @@
|
||||
#
|
||||
# Copyright (c) 2014-2016 Alex Spataru <alex_spataru@outlook.com>
|
||||
#
|
||||
# This file is part of the QSimpleUpdater library, which is released under
|
||||
# the DBAD license, you can read a copy of it below:
|
||||
#
|
||||
# DON'T BE A DICK PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION
|
||||
# AND MODIFICATION:
|
||||
#
|
||||
# Do whatever you like with the original work, just don't be a dick.
|
||||
# Being a dick includes - but is not limited to - the following instances:
|
||||
#
|
||||
# 1a. Outright copyright infringement - Don't just copy this and change the
|
||||
# name.
|
||||
# 1b. Selling the unmodified original with no work done what-so-ever, that's
|
||||
# REALLY being a dick.
|
||||
# 1c. Modifying the original work to contain hidden harmful content.
|
||||
# That would make you a PROPER dick.
|
||||
#
|
||||
# If you become rich through modifications, related works/services, or
|
||||
# supporting the original work, share the love.
|
||||
# Only a dick would make loads off this work and not buy the original works
|
||||
# creator(s) a pint.
|
||||
#
|
||||
# Code is provided with no warranty. Using somebody else's code and bitching
|
||||
# when it goes wrong makes you a DONKEY dick.
|
||||
# Fix the problem yourself. A non-dick would submit the fix back.
|
||||
|
||||
TEMPLATE = lib
|
||||
DEFINES += QSU_SHARED
|
||||
include ($$PWD/QSimpleUpdater.pri)
|
74
libs/QSimpleUpdater/README.md
Normal file
@ -0,0 +1,74 @@
|
||||
# QSimpleUpdater
|
||||
|
||||
[![Build Status](https://img.shields.io/travis/alex-spataru/QSimpleUpdater.svg?style=flat-square)](https://travis-ci.org/alex-spataru/QSimpleUpdater)
|
||||
|
||||
QSimpleUpdater is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the QSimpleUpdater allows you to check for updates for different "modules" of your application. Check the [WTFs Section](#wtfs-section) for more information.
|
||||
|
||||
Online documentation can be found [here](http://frc-utilities.github.io/documentation/qsimpleupdater/).
|
||||
|
||||
[![Downloading](etc/screenshots/downloading.png)](etc/screenshots/)
|
||||
|
||||
## Integrating QSimpleUpdater with your projects
|
||||
1. Copy the QSimpleUpdater folder in your "3rd-party" folder.
|
||||
2. Include the QSimpleUpdater project include (*pri*) file using the include() function.
|
||||
3. That's all! Check the [tutorial project](/tutorial) as a reference for your project.
|
||||
|
||||
## WTFs Section
|
||||
|
||||
### 1. How does the QSimpleUpdater check for updates?
|
||||
|
||||
The QSimpleUpdater downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).
|
||||
|
||||
After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.
|
||||
|
||||
An example update definition file can be found [here](https://github.com/alex-spataru/QSimpleUpdater/blob/master/tutorial/definitions/updates.json).
|
||||
|
||||
### 2. Can I customize the update notifications shown to the user?
|
||||
|
||||
Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the QSimpleUpdater.
|
||||
|
||||
```c++
|
||||
QString url = "https://MyBadassApplication.com/updates.json";
|
||||
|
||||
QSimpleUpdater::getInstance()->setNotifyOnUpdate (url, true);
|
||||
QSimpleUpdater::getInstance()->setNotifyOnFinish (url, false);
|
||||
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (url);
|
||||
```
|
||||
|
||||
### 3. Is the application able to download the updates directly?
|
||||
|
||||
Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:
|
||||
|
||||
```c++
|
||||
QString url = "https://MyBadassApplication.com/updates.json";
|
||||
QSimpleUpdater::getInstance()->setDownloaderEnabled (url, true);
|
||||
```
|
||||
|
||||
### 4. Why do I need to specify an URL for each function of the library?
|
||||
|
||||
The QSimpleUpdater allows you to use different updater instances, which can be accessed with the URL of the update definitions.
|
||||
While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.
|
||||
|
||||
Say that you are developing a game, in this case, you could use the following code:
|
||||
|
||||
```c++
|
||||
// Update the game textures
|
||||
QString textures_url = "https://MyBadassGame.com/textures.json"
|
||||
QSimpleUpdater::getInstance()->setModuleName (textures_url, "textures");
|
||||
QSimpleUpdater::getInstance()->setModuleVersion (textures_url, "0.4");
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (textures_url);
|
||||
|
||||
// Update the game sounds
|
||||
QString sounds_url = "https://MyBadassGame.com/sounds.json"
|
||||
QSimpleUpdater::getInstance()->setModuleName (sounds_url, "sounds");
|
||||
QSimpleUpdater::getInstance()->setModuleVersion (sounds_url, "0.6");
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (sounds_url);
|
||||
|
||||
// Update the client (name & versions are already stored in qApp)
|
||||
QString client_url = "https://MyBadassGame.com/client.json"
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (client_url);
|
||||
```
|
||||
|
||||
## License
|
||||
QSimpleUpdater is free and open-source software, it is released under the [DBAD](COPYING.md) license.
|
2479
libs/QSimpleUpdater/doc/config/doxyfile
Normal file
BIN
libs/QSimpleUpdater/doc/config/icon.png
Normal file
After Width: | Height: | Size: 12 KiB |
66
libs/QSimpleUpdater/doc/config/startpage.md
Normal file
@ -0,0 +1,66 @@
|
||||
# Introduction
|
||||
|
||||
QSimpleUpdater is an implementation of an auto-updating system to be used with Qt projects. It allows you to easily check for updates, download them and install them. Additionally, the QSimpleUpdater allows you to check for updates for different "modules" of your application. Check the WTFs for more information.
|
||||
|
||||
## Integrating QSimpleUpdater with your projects
|
||||
1. Copy the QSimpleUpdater folder in your "3rd-party" folder.
|
||||
2. Include the QSimpleUpdater project include (*pri*) file using the include() function.
|
||||
3. That's all! Check the tutorial project as a reference for your project.
|
||||
|
||||
## WTFs Section
|
||||
|
||||
### 1. How does the QSimpleUpdater check for updates?
|
||||
|
||||
The QSimpleUpdater downloads an update definition file stored in JSON format. This file specifies the latest version, the download links and changelogs for each platform (you can also register your own platform easily if needed).
|
||||
|
||||
After downloading this file, the library analyzes the local version and the remote version. If the remote version is greater than the local version, then the library infers that there is an update available and notifies the user.
|
||||
|
||||
### 2. Can I customize the update notifications shown to the user?
|
||||
|
||||
Yes! You can "toggle" which notifications to show using the library's functions or re-implement by yourself the notifications by "reacting" to the signals emitted by the QSimpleUpdater.
|
||||
|
||||
```
|
||||
QString url = "https://MyBadassApplication.com/updates.json";
|
||||
|
||||
QSimpleUpdater::getInstance()->setNotifyOnUpdate (url, true);
|
||||
QSimpleUpdater::getInstance()->setNotifyOnFinish (url, false);
|
||||
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (url);
|
||||
```
|
||||
|
||||
### 3. Is the application able to download the updates directly?
|
||||
|
||||
Yes. If there is an update available, the library will prompt the user if he/she wants to download the update. You can enable or disable the integrated downloader with the following code:
|
||||
|
||||
```
|
||||
QString url = "https://MyBadassApplication.com/updates.json";
|
||||
QSimpleUpdater::getInstance()->setDownloaderEnabled (url, true);
|
||||
```
|
||||
|
||||
### 4. Why do I need to specify an URL for each function of the library?
|
||||
|
||||
The QSimpleUpdater allows you to use different updater instances, which can be accessed with the URL of the update definitions.
|
||||
While it is not obligatory to use multiple updater instances, this can be useful for applications that make use of plugins or different modules.
|
||||
|
||||
Say that you are developing a game, in this case, you could use the following code:
|
||||
|
||||
```
|
||||
// Update the game textures
|
||||
QString textures_url = "https://MyBadassGame.com/textures.json"
|
||||
QSimpleUpdater::getInstance()->setModuleName (textures_url, "textures");
|
||||
QSimpleUpdater::getInstance()->setModuleVersion (textures_url, "0.4");
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (textures_url);
|
||||
|
||||
// Update the game sounds
|
||||
QString sounds_url = "https://MyBadassGame.com/sounds.json"
|
||||
QSimpleUpdater::getInstance()->setModuleName (sounds_url, "sounds");
|
||||
QSimpleUpdater::getInstance()->setModuleVersion (sounds_url, "0.6");
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (sounds_url);
|
||||
|
||||
// Update the client (name & versions are already stored in qApp)
|
||||
QString client_url = "https://MyBadassGame.com/client.json"
|
||||
QSimpleUpdater::getInstance()->checkForUpdates (client_url);
|
||||
```
|
||||
|
||||
## License
|
||||
QSimpleUpdater is free and open-source software, it is released under the Don't Be A Dick License.
|
9
libs/QSimpleUpdater/doc/documentation.html
Normal file
@ -0,0 +1,9 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="refresh" content="0; url=output/html/index.html"/>
|
||||
</head>
|
||||
<body>
|
||||
<h2>You are being redirected...</h2>
|
||||
<p>If this piece of crap does not work, please click <a href="output/html/index.html">here</a>.</p>
|
||||
</body>
|
||||
</html>
|
102
libs/QSimpleUpdater/doc/output/html/_downloader_8h_source.html
Normal file
102
libs/QSimpleUpdater/doc/output/html/_updater_8h_source.html
Normal file
106
libs/QSimpleUpdater/doc/output/html/annotated.html
Normal file
@ -0,0 +1,106 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Class List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li class="current"><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Class List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_downloader.html" target="_self">Downloader</a></td><td class="desc">Implements an integrated file downloader with a nice UI </td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_q_simple_updater.html" target="_self">QSimpleUpdater</a></td><td class="desc">Manages the updater instances </td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_updater.html" target="_self">Updater</a></td><td class="desc">Downloads and interprests the update definition file </td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
BIN
libs/QSimpleUpdater/doc/output/html/arrowdown.png
Normal file
After Width: | Height: | Size: 246 B |
BIN
libs/QSimpleUpdater/doc/output/html/arrowright.png
Normal file
After Width: | Height: | Size: 229 B |
BIN
libs/QSimpleUpdater/doc/output/html/bc_s.png
Normal file
After Width: | Height: | Size: 676 B |
BIN
libs/QSimpleUpdater/doc/output/html/bdwn.png
Normal file
After Width: | Height: | Size: 147 B |
@ -0,0 +1,122 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Downloader Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_downloader.html">Downloader</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#a2909b4a7cfb35f2709849ee2c95dae0e">calculateSizes</a>(qint64 received, qint64 total)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_downloader.html#a662cc753f90f25c91721f8edeaac9b57">calculateTimeRemaining</a>(qint64 received, qint64 total)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#a17209ffbd584af1a3e836e46e70d18d9">cancelDownload</a>()</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>Downloader</b>(QWidget *parent=0) (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>downloadFinished</b>(const QString &url, const QString &filepath) (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_downloader.html#abd39884d0586459bdd09b490913223fe">installUpdate</a>()</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_filePath</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_manager</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_reply</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_startTime</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_ui</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_useCustomProcedures</b> (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#acfd827dd6b36e82a4cc8bfbb284056e9">onDownloadFinished</a>()</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_downloader.html#a0117b0dd837b46ca5cdd8b4f2ea5a552">openDownload</a>()</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#ae4285290c22361353a36f25e742fc829">round</a>(const qreal &input)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a>(const bool &custom)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a>(const QUrl &url)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_downloader.html#a097bee5b7d904da53427c5a5cb47ce83">updateProgress</a>(qint64 received, qint64 total)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Downloader</b>() (defined in <a class="el" href="class_downloader.html">Downloader</a>)</td><td class="entry"><a class="el" href="class_downloader.html">Downloader</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
517
libs/QSimpleUpdater/doc/output/html/class_downloader.html
Normal file
@ -0,0 +1,517 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Downloader Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-slots">Public Slots</a> |
|
||||
<a href="#signals">Signals</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pri-slots">Private Slots</a> |
|
||||
<a href="#pri-methods">Private Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="class_downloader-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Downloader Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implements an integrated file downloader with a nice UI.
|
||||
<a href="class_downloader.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_downloader_8h_source.html">Downloader.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for Downloader:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_downloader.png" usemap="#Downloader_map" alt=""/>
|
||||
<map id="Downloader_map" name="Downloader_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
|
||||
Public Slots</h2></td></tr>
|
||||
<tr class="memitem:a7f81027436d44ca52168b30a6eb0d379"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload</a> (const QUrl &url)</td></tr>
|
||||
<tr class="separator:a7f81027436d44ca52168b30a6eb0d379"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a26a4f889029c63c11f679284397a3285"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a26a4f889029c63c11f679284397a3285">setUseCustomInstallProcedures</a> (const bool &custom)</td></tr>
|
||||
<tr class="separator:a26a4f889029c63c11f679284397a3285"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
|
||||
Signals</h2></td></tr>
|
||||
<tr class="memitem:a7374214627efe871ac19af293f702f9a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7374214627efe871ac19af293f702f9a"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &url, const QString &filepath)</td></tr>
|
||||
<tr class="separator:a7374214627efe871ac19af293f702f9a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a4c89702786810ca23a9816dd3c762283"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4c89702786810ca23a9816dd3c762283"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Downloader</b> (QWidget *parent=0)</td></tr>
|
||||
<tr class="separator:a4c89702786810ca23a9816dd3c762283"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures</a> () const </td></tr>
|
||||
<tr class="separator:a3e7a91a3cdfa68e3bc59db0af1377f9c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
|
||||
Private Slots</h2></td></tr>
|
||||
<tr class="memitem:a0117b0dd837b46ca5cdd8b4f2ea5a552"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a0117b0dd837b46ca5cdd8b4f2ea5a552">openDownload</a> ()</td></tr>
|
||||
<tr class="separator:a0117b0dd837b46ca5cdd8b4f2ea5a552"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abd39884d0586459bdd09b490913223fe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#abd39884d0586459bdd09b490913223fe">installUpdate</a> ()</td></tr>
|
||||
<tr class="separator:abd39884d0586459bdd09b490913223fe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a17209ffbd584af1a3e836e46e70d18d9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a17209ffbd584af1a3e836e46e70d18d9">cancelDownload</a> ()</td></tr>
|
||||
<tr class="separator:a17209ffbd584af1a3e836e46e70d18d9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acfd827dd6b36e82a4cc8bfbb284056e9"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#acfd827dd6b36e82a4cc8bfbb284056e9">onDownloadFinished</a> ()</td></tr>
|
||||
<tr class="separator:acfd827dd6b36e82a4cc8bfbb284056e9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2909b4a7cfb35f2709849ee2c95dae0e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a2909b4a7cfb35f2709849ee2c95dae0e">calculateSizes</a> (qint64 received, qint64 total)</td></tr>
|
||||
<tr class="separator:a2909b4a7cfb35f2709849ee2c95dae0e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a097bee5b7d904da53427c5a5cb47ce83"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a097bee5b7d904da53427c5a5cb47ce83">updateProgress</a> (qint64 received, qint64 total)</td></tr>
|
||||
<tr class="separator:a097bee5b7d904da53427c5a5cb47ce83"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a662cc753f90f25c91721f8edeaac9b57"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#a662cc753f90f25c91721f8edeaac9b57">calculateTimeRemaining</a> (qint64 received, qint64 total)</td></tr>
|
||||
<tr class="separator:a662cc753f90f25c91721f8edeaac9b57"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:ae4285290c22361353a36f25e742fc829"><td class="memItemLeft" align="right" valign="top">qreal </td><td class="memItemRight" valign="bottom"><a class="el" href="class_downloader.html#ae4285290c22361353a36f25e742fc829">round</a> (const qreal &input)</td></tr>
|
||||
<tr class="separator:ae4285290c22361353a36f25e742fc829"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
||||
Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:afa212578c447d8d5a2af85562f53385d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa212578c447d8d5a2af85562f53385d"></a>
|
||||
uint </td><td class="memItemRight" valign="bottom"><b>m_startTime</b></td></tr>
|
||||
<tr class="separator:afa212578c447d8d5a2af85562f53385d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad8fc9c6fda1015b5398300e2eb1432fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad8fc9c6fda1015b5398300e2eb1432fd"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_filePath</b></td></tr>
|
||||
<tr class="separator:ad8fc9c6fda1015b5398300e2eb1432fd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afed75d920ca2440bf53ebb85ba6d528c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afed75d920ca2440bf53ebb85ba6d528c"></a>
|
||||
Ui::Downloader * </td><td class="memItemRight" valign="bottom"><b>m_ui</b></td></tr>
|
||||
<tr class="separator:afed75d920ca2440bf53ebb85ba6d528c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a54326eccac53a0727e57727a26ce87ab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54326eccac53a0727e57727a26ce87ab"></a>
|
||||
QNetworkReply * </td><td class="memItemRight" valign="bottom"><b>m_reply</b></td></tr>
|
||||
<tr class="separator:a54326eccac53a0727e57727a26ce87ab"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a14e5f9a42801bc219e69f01439b98581"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14e5f9a42801bc219e69f01439b98581"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>m_useCustomProcedures</b></td></tr>
|
||||
<tr class="separator:a14e5f9a42801bc219e69f01439b98581"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a29d51b83f23e81ab8a1c66847643e52f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29d51b83f23e81ab8a1c66847643e52f"></a>
|
||||
QNetworkAccessManager * </td><td class="memItemRight" valign="bottom"><b>m_manager</b></td></tr>
|
||||
<tr class="separator:a29d51b83f23e81ab8a1c66847643e52f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Implements an integrated file downloader with a nice UI. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="a2909b4a7cfb35f2709849ee2c95dae0e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::calculateSizes </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>received</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>total</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Calculates the appropiate size units (bytes, KB or MB) for the received data and the total download size. Then, this function proceeds to update the dialog controls/UI. </p>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#ae4285290c22361353a36f25e742fc829">round()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#a097bee5b7d904da53427c5a5cb47ce83">updateProgress()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a662cc753f90f25c91721f8edeaac9b57"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::calculateTimeRemaining </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>received</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>total</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Uses two time samples (from the current time and a previous sample) to calculate how many bytes have been downloaded.</p>
|
||||
<p>Then, this function proceeds to calculate the appropiate units of time (hours, minutes or seconds) and constructs a user-friendly string, which is displayed in the dialog. </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#a097bee5b7d904da53427c5a5cb47ce83">updateProgress()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a17209ffbd584af1a3e836e46e70d18d9"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::cancelDownload </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Prompts the user if he/she wants to cancel the download and cancels the download if the user agrees to do that. </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="abd39884d0586459bdd09b490913223fe"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::installUpdate </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Instructs the OS to open the downloaded file.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If <code><a class="el" href="class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures()</a></code> returns <code>true</code>, the function will not instruct the OS to open the downloaded file. You can use the signals fired by the <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> to install the update with your own implementations/code. </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#a0117b0dd837b46ca5cdd8b4f2ea5a552">openDownload()</a>, and <a class="el" href="class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">useCustomInstallProcedures()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#acfd827dd6b36e82a4cc8bfbb284056e9">onDownloadFinished()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acfd827dd6b36e82a4cc8bfbb284056e9"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::onDownloadFinished </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Writes the downloaded data to a temp. directory and updates the UI controls. </p><dl class="section note"><dt>Note</dt><dd>If the function detects that the downloaded data is an HTML file (e.g. a redirection notice from the server), the function will add the *.html extension to the downloaded file. This ensures that the download will be resumed when the OS opens a web-browser with the redirection notice. </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#abd39884d0586459bdd09b490913223fe">installUpdate()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0117b0dd837b46ca5cdd8b4f2ea5a552"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::openDownload </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Opens the downloaded file. </p><dl class="section note"><dt>Note</dt><dd>If the downloaded file is not found, then the function will alert the user about the error. </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#abd39884d0586459bdd09b490913223fe">installUpdate()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ae4285290c22361353a36f25e742fc829"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">qreal Downloader::round </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const qreal & </td>
|
||||
<td class="paramname"><em>input</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Rounds the given <em>input</em> to two decimal places </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#a2909b4a7cfb35f2709849ee2c95dae0e">calculateSizes()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a26a4f889029c63c11f679284397a3285"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::setUseCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>custom</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If the <em>custom</em> parameter is set to <code>true</code>, then the <code><a class="el" href="class_downloader.html" title="Implements an integrated file downloader with a nice UI. ">Downloader</a></code> will not attempt to open the downloaded file.</p>
|
||||
<p>Use the signals fired by the <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> to implement your own install procedures. </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7f81027436d44ca52168b30a6eb0d379"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::startDownload </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QUrl & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Begins downloading the file at the given <em>url</em> </p>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#acfd827dd6b36e82a4cc8bfbb284056e9">onDownloadFinished()</a>, and <a class="el" href="class_downloader.html#a097bee5b7d904da53427c5a5cb47ce83">updateProgress()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">Updater::setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a097bee5b7d904da53427c5a5cb47ce83"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Downloader::updateProgress </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>received</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">qint64 </td>
|
||||
<td class="paramname"><em>total</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Uses the <em>received</em> and <em>total</em> parameters to get the download progress and update the progressbar value on the dialog. </p>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#a2909b4a7cfb35f2709849ee2c95dae0e">calculateSizes()</a>, and <a class="el" href="class_downloader.html#a662cc753f90f25c91721f8edeaac9b57">calculateTimeRemaining()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">startDownload()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a3e7a91a3cdfa68e3bc59db0af1377f9c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Downloader::useCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the updater shall not intervene when the download has finished (you can use the <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> signals to know when the download is completed). </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_downloader.html#abd39884d0586459bdd09b490913223fe">installUpdate()</a>, and <a class="el" href="class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li><a class="el" href="_downloader_8h_source.html">Downloader.h</a></li>
|
||||
<li>Downloader.cpp</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
BIN
libs/QSimpleUpdater/doc/output/html/class_downloader.png
Normal file
After Width: | Height: | Size: 427 B |
@ -0,0 +1,126 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">QSimpleUpdater Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates</a>(const QString &url)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>checkingFinished</b>(const QString &url) (defined in <a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>downloadFinished</b>(const QString &url, const QString &filepath) (defined in <a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">getChangelog</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">getDownloaderEnabled</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">getDownloadUrl</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">getInstance</a>()</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">getLatestVersion</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">getModuleName</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">getModuleVersion</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">getNotifyOnFinish</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">getNotifyOnUpdate</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">getPlatformKey</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">getUpdateAvailable</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">setDownloaderEnabled</a>(const QString &url, const bool &enabled)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">setModuleName</a>(const QString &url, const QString &name)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">setModuleVersion</a>(const QString &url, const QString &version)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">setNotifyOnFinish</a>(const QString &url, const bool &notify)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate</a>(const QString &url, const bool &notify)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">setPlatformKey</a>(const QString &url, const QString &platform)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures</a>(const QString &url, const bool &custom)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">usesCustomInstallProcedures</a>(const QString &url) const </td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~QSimpleUpdater</b>() (defined in <a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a>)</td><td class="entry"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
787
libs/QSimpleUpdater/doc/output/html/class_q_simple_updater.html
Normal file
@ -0,0 +1,787 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: QSimpleUpdater Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-slots">Public Slots</a> |
|
||||
<a href="#signals">Signals</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
||||
<a href="#pri-methods">Private Member Functions</a> |
|
||||
<a href="class_q_simple_updater-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">QSimpleUpdater Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Manages the updater instances.
|
||||
<a href="class_q_simple_updater.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_q_simple_updater_8h_source.html">QSimpleUpdater.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for QSimpleUpdater:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_q_simple_updater.png" usemap="#QSimpleUpdater_map" alt=""/>
|
||||
<map id="QSimpleUpdater_map" name="QSimpleUpdater_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
|
||||
Public Slots</h2></td></tr>
|
||||
<tr class="memitem:a791c89568adb171a62ccd0704570b68d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates</a> (const QString &url)</td></tr>
|
||||
<tr class="separator:a791c89568adb171a62ccd0704570b68d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4b5e2bb2b88ab10a3c6c3a83661a2ebe"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">setModuleName</a> (const QString &url, const QString &name)</td></tr>
|
||||
<tr class="separator:a4b5e2bb2b88ab10a3c6c3a83661a2ebe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4789b616743189642a023fa7704e9c00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate</a> (const QString &url, const bool &notify)</td></tr>
|
||||
<tr class="separator:a4789b616743189642a023fa7704e9c00"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad9e53f893874d54bff8c787c2f560bd2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">setNotifyOnFinish</a> (const QString &url, const bool &notify)</td></tr>
|
||||
<tr class="separator:ad9e53f893874d54bff8c787c2f560bd2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af6b2713b7468a69ce3ff46074e642df8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">setPlatformKey</a> (const QString &url, const QString &platform)</td></tr>
|
||||
<tr class="separator:af6b2713b7468a69ce3ff46074e642df8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1a2a03f01c7ba081637268910fc50919"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">setModuleVersion</a> (const QString &url, const QString &version)</td></tr>
|
||||
<tr class="separator:a1a2a03f01c7ba081637268910fc50919"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0ff15deef5af536150911353df0c44b2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">setDownloaderEnabled</a> (const QString &url, const bool &enabled)</td></tr>
|
||||
<tr class="separator:a0ff15deef5af536150911353df0c44b2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6c30dd784023264dd6ec885ec755f515"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures</a> (const QString &url, const bool &custom)</td></tr>
|
||||
<tr class="separator:a6c30dd784023264dd6ec885ec755f515"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
|
||||
Signals</h2></td></tr>
|
||||
<tr class="memitem:a4d848457bbda4cf981b0539d6b8d6c1a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d848457bbda4cf981b0539d6b8d6c1a"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>checkingFinished</b> (const QString &url)</td></tr>
|
||||
<tr class="separator:a4d848457bbda4cf981b0539d6b8d6c1a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab76ecf1731d58d5f809379efd238f236"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab76ecf1731d58d5f809379efd238f236"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &url, const QString &filepath)</td></tr>
|
||||
<tr class="separator:ab76ecf1731d58d5f809379efd238f236"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acdc00558a979df664910b07cb82f9b36"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">getNotifyOnUpdate</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:acdc00558a979df664910b07cb82f9b36"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acc540358f0d887e4945ac061667a596d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">getNotifyOnFinish</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:acc540358f0d887e4945ac061667a596d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6557bff5a8a255291f12d2613879981b"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">getUpdateAvailable</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a6557bff5a8a255291f12d2613879981b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a10f421d41b30134583ee1f5e8cfbc59d"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">getDownloaderEnabled</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a10f421d41b30134583ee1f5e8cfbc59d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af8f4cca002e820499d1fbca127095c87"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">usesCustomInstallProcedures</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:af8f4cca002e820499d1fbca127095c87"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1bbffc681514ca5393450b8664c137bb"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">getChangelog</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a1bbffc681514ca5393450b8664c137bb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a30c3bccb5c6f06c1a243fa2629f441a3"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">getModuleName</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a30c3bccb5c6f06c1a243fa2629f441a3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2c660cca487b092fd8e1b366a964a10b"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">getDownloadUrl</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a2c660cca487b092fd8e1b366a964a10b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0f061c6945b58664c2c9f9ec26f0d87c"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">getPlatformKey</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a0f061c6945b58664c2c9f9ec26f0d87c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aefb5ac20bec6e8509e2b55ed14926a70"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">getLatestVersion</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:aefb5ac20bec6e8509e2b55ed14926a70"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad7391bb43acbcbf1627cc51262c2ec60"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">getModuleVersion</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:ad7391bb43acbcbf1627cc51262c2ec60"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
||||
Static Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:adea7d414a9430fc2b653231a87eaacc6"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#adea7d414a9430fc2b653231a87eaacc6">getInstance</a> ()</td></tr>
|
||||
<tr class="separator:adea7d414a9430fc2b653231a87eaacc6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a0305a6c8eb9d0bf213736d1c1beb4149"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_updater.html">Updater</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater</a> (const QString &url) const </td></tr>
|
||||
<tr class="separator:a0305a6c8eb9d0bf213736d1c1beb4149"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Manages the updater instances. </p>
|
||||
<p>The <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> class manages the updater system and allows for parallel application modules to check for updates and download them.</p>
|
||||
<p>The behavior of each updater can be regulated by specifying the update definitions URL (from where we download the individual update definitions) and defining the desired options by calling the individual "setter" functions (e.g. <code><a class="el" href="class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate()</a></code>).</p>
|
||||
<p>The <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> also implements an integrated downloader. If you need to use a custom install procedure/code, just create a function that is called when the <code>downloadFinished()</code> signal is emitted to implement your own install procedures.</p>
|
||||
<p>By default, the downloader will try to open the file as if you opened it from a file manager or a web browser (with the "file:*" url). </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="a791c89568adb171a62ccd0704570b68d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::checkForUpdates </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Instructs the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance with the registered <code>url</code> to download and interpret the update definitions file.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">Updater::checkForUpdates()</a>, and <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1bbffc681514ca5393450b8664c137bb"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getChangelog </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the changelog of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">Updater::changelog()</a>, and <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a10f421d41b30134583ee1f5e8cfbc59d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool QSimpleUpdater::getDownloaderEnabled </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> has the integrated downloader enabled.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a4f526325b92c344244303b877d990cd3">Updater::downloaderEnabled()</a>, and <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a2c660cca487b092fd8e1b366a964a10b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getDownloadUrl </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the download URL of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">Updater::downloadUrl()</a>, and <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="adea7d414a9430fc2b653231a87eaacc6"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="class_q_simple_updater.html">QSimpleUpdater</a> * QSimpleUpdater::getInstance </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the only instance of the class </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aefb5ac20bec6e8509e2b55ed14926a70"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getLatestVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the remote module version of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a25e7f289753c6d7b4439ee3728866a48">Updater::latestVersion()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a30c3bccb5c6f06c1a243fa2629f441a3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getModuleName </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the module name of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If the module name is empty, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application name as its module name. </dd>
|
||||
<dd>
|
||||
If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a7d8369115126e41cdefd30004cefc46d">Updater::moduleName()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad7391bb43acbcbf1627cc51262c2ec60"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getModuleVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the module version of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If the module version is empty, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application version as its module version. </dd>
|
||||
<dd>
|
||||
If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#af32daac9bff9cb3e79798fc9a825648e">Updater::moduleVersion()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acc540358f0d887e4945ac061667a596d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool QSimpleUpdater::getNotifyOnFinish </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall notify the user when it finishes checking for updates.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">Updater::notifyOnFinish()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="acdc00558a979df664910b07cb82f9b36"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool QSimpleUpdater::getNotifyOnUpdate </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall notify the user when an update is available.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#abefc7aae1333458ab03d50aec9b58581">Updater::notifyOnUpdate()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0f061c6945b58664c2c9f9ec26f0d87c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString QSimpleUpdater::getPlatformKey </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the platform key of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> registered with the given <em>url</em>. If you do not define a platform key, the system will assign the following platform key:</p><ul>
|
||||
<li>On iOS: <code>ios</code> </li>
|
||||
<li>On Mac OSX: <code>osx</code> </li>
|
||||
<li>On Android: <code>android</code> </li>
|
||||
<li>On GNU/Linux: <code>linux</code> </li>
|
||||
<li>On Microsoft Windows: <code>windows</code> </li>
|
||||
</ul>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">Updater::platformKey()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a6557bff5a8a255291f12d2613879981b"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool QSimpleUpdater::getUpdateAvailable </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> has an update available.</p>
|
||||
<dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#aec889d582692cb41875ea803db3feb35">Updater::updateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0305a6c8eb9d0bf213736d1c1beb4149"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="class_updater.html">Updater</a> * QSimpleUpdater::getUpdater </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em>.</p>
|
||||
<p>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with teh given <em>url</em> does not exist, this function will create it and configure it automatically. </p>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">Updater::setUrl()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">checkForUpdates()</a>, <a class="el" href="class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">getChangelog()</a>, <a class="el" href="class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">getDownloaderEnabled()</a>, <a class="el" href="class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">getDownloadUrl()</a>, <a class="el" href="class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">getLatestVersion()</a>, <a class="el" href="class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">getModuleName()</a>, <a class="el" href="class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">getModuleVersion()</a>, <a class="el" href="class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">getNotifyOnFinish()</a>, <a class="el" href="class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">getNotifyOnUpdate()</a>, <a class="el" href="class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">getPlatformKey()</a>, <a class="el" href="class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">getUpdateAvailable()</a>, <a class="el" href="class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">setDownloaderEnabled()</a>, <a class="el" href="class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">setModuleName()</a>, <a class="el" href="class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">setModuleVersion()</a>, <a class="el" href="class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">setNotifyOnFinish()</a>, <a class="el" href="class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">setNotifyOnUpdate()</a>, <a class="el" href="class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">setPlatformKey()</a>, <a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures()</a>, and <a class="el" href="class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">usesCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a0ff15deef5af536150911353df0c44b2"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setDownloaderEnabled </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>enabled</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If the <em>enabled</em> parameter is set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will open the integrated downloader if the user agrees to install the update (if any).</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a46d6db0d853ed8400a1725df436812ee">Updater::setDownloaderEnabled()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4b5e2bb2b88ab10a3c6c3a83661a2ebe"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setModuleName </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>name</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the module <em>name</em> of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered at the given <em>url</em>.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd>
|
||||
<dd>
|
||||
The module name is used on the user prompts. If the module name is empty, then the prompts will show the name of the application. </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">Updater::setModuleName()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1a2a03f01c7ba081637268910fc50919"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setModuleVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>version</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the module </p><dl class="section version"><dt>Version</dt><dd>of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered at the given <em>url</em>.</dd></dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>The module version is used to compare it with the remove version. If the module name is empty, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will use the application version. </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">Updater::setModuleVersion()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad9e53f893874d54bff8c787c2f560bd2"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setNotifyOnFinish </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>notify</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will notify the user when it has finished interpreting the update definitions file.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">Updater::setNotifyOnFinish()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4789b616743189642a023fa7704e9c00"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setNotifyOnUpdate </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>notify</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will notify the user when an update is available.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">Updater::setNotifyOnUpdate()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af6b2713b7468a69ce3ff46074e642df8"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setPlatformKey </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>platform</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the platform key of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> isntance registered at the given <em>url</em>.</p>
|
||||
<p>If the platform key is empty, then the system will use the following keys:</p><ul>
|
||||
<li>On iOS: <code>ios</code> </li>
|
||||
<li>On Mac OSX: <code>osx</code> </li>
|
||||
<li>On Android: <code>android</code> </li>
|
||||
<li>On GNU/Linux: <code>linux</code> </li>
|
||||
<li>On Microsoft Windows: <code>windows</code> </li>
|
||||
</ul>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a840a6b061590901eae3255ba74ff7ad8">Updater::setPlatformKey()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a6c30dd784023264dd6ec885ec755f515"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void QSimpleUpdater::setUseCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>custom</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If the <em>custom</em> parameter is set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> will not try to open the downloaded file.</p>
|
||||
<p>If you want to implement your own way to handle the downloaded file, just bind to the <code>downloadFinished()</code> signal and disable the integrated downloader with the <code><a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures()</a></code> function.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">Updater::setUseCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af8f4cca002e820499d1fbca127095c87"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool QSimpleUpdater::usesCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> shall try to open the downloaded file.</p>
|
||||
<p>If you want to implement your own way to handle the downloaded file, just bind to the <code>downloadFinished()</code> signal and disable the integrated downloader with the <code><a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">setUseCustomInstallProcedures()</a></code> function.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If an <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance registered with the given <em>url</em> is not found, that <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> instance will be initialized automatically </dd></dl>
|
||||
|
||||
<p>References <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">getUpdater()</a>, and <a class="el" href="class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">Updater::useCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li><a class="el" href="_q_simple_updater_8h_source.html">QSimpleUpdater.h</a></li>
|
||||
<li>QSimpleUpdater.cpp</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
BIN
libs/QSimpleUpdater/doc/output/html/class_q_simple_updater.png
Normal file
After Width: | Height: | Size: 488 B |
144
libs/QSimpleUpdater/doc/output/html/class_updater-members.html
Normal file
@ -0,0 +1,144 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Member List</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">Updater Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="class_updater.html">Updater</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a>()</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>checkingFinished</b>(const QString &url) (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a247145d494c38d15f6569bbd209380e3">compare</a>(const QString &x, const QString &y)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>downloadFinished</b>(const QString &url, const QString &filepath) (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">signal</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_changelog</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_downloader</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_downloaderEnabled</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_downloadUrl</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_latestVersion</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_manager</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_moduleName</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_moduleVersion</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_notifyOnFinish</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_notifyOnUpdate</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_openUrl</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_platform</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>m_updateAvailable</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_url</b> (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply</a>(QNetworkReply *reply)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a>(const bool &enabled)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a>(const QString &name)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a>(const QString &version)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a>(const bool &notify)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a>(const bool &notify)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey</a>(const QString &platformKey)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable</a>(const bool &available)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a>(const QString &url)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures</a>(const bool &custom)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"><span class="mlabel">slot</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Updater</b>() (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a>() const </td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>~Updater</b>() (defined in <a class="el" href="class_updater.html">Updater</a>)</td><td class="entry"><a class="el" href="class_updater.html">Updater</a></td><td class="entry"></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
820
libs/QSimpleUpdater/doc/output/html/class_updater.html
Normal file
@ -0,0 +1,820 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.8.11"/>
|
||||
<title>QSimpleUpdater: Updater Class Reference</title>
|
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="jquery.js"></script>
|
||||
<script type="text/javascript" src="dynsections.js"></script>
|
||||
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="search/searchdata.js"></script>
|
||||
<script type="text/javascript" src="search/search.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() { init_search(); });
|
||||
</script>
|
||||
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<td id="projectlogo"><img alt="Logo" src="icon.png"/></td>
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">QSimpleUpdater
|
||||
</div>
|
||||
<div id="projectbrief">A simple auto-updater system for Qt applications</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.8.11 -->
|
||||
<script type="text/javascript">
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
||||
</script>
|
||||
<div id="navrow1" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
<li>
|
||||
<div id="MSearchBox" class="MSearchBoxInactive">
|
||||
<span class="left">
|
||||
<img id="MSearchSelect" src="search/mag_sel.png"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
alt=""/>
|
||||
<input type="text" id="MSearchField" value="Search" accesskey="S"
|
||||
onfocus="searchBox.OnSearchFieldFocus(true)"
|
||||
onblur="searchBox.OnSearchFieldFocus(false)"
|
||||
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
||||
</span><span class="right">
|
||||
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
|
||||
</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="navrow2" class="tabs2">
|
||||
<ul class="tablist">
|
||||
<li><a href="annotated.html"><span>Class List</span></a></li>
|
||||
<li><a href="classes.html"><span>Class Index</span></a></li>
|
||||
<li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li>
|
||||
<li><a href="functions.html"><span>Class Members</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-slots">Public Slots</a> |
|
||||
<a href="#signals">Signals</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pri-slots">Private Slots</a> |
|
||||
<a href="#pri-methods">Private Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="class_updater-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Updater Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Downloads and interprests the update definition file.
|
||||
<a href="class_updater.html#details">More...</a></p>
|
||||
|
||||
<p><code>#include <<a class="el" href="_updater_8h_source.html">Updater.h</a>></code></p>
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for Updater:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="class_updater.png" usemap="#Updater_map" alt=""/>
|
||||
<map id="Updater_map" name="Updater_map">
|
||||
</map>
|
||||
</div></div>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-slots"></a>
|
||||
Public Slots</h2></td></tr>
|
||||
<tr class="memitem:a4af41658f974f72c71a9463be7bba1b5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates</a> ()</td></tr>
|
||||
<tr class="separator:a4af41658f974f72c71a9463be7bba1b5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl</a> (const QString &<a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
|
||||
<tr class="separator:a1219e9bb1c1fb0a68d757fbc0d9b76aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a5ac7e1a2bd65353a5fdec22689f1adf3">setModuleName</a> (const QString &name)</td></tr>
|
||||
<tr class="separator:a5ac7e1a2bd65353a5fdec22689f1adf3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad88b597bf4ae11a65a9c87171239ed00"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#ad88b597bf4ae11a65a9c87171239ed00">setNotifyOnUpdate</a> (const bool &notify)</td></tr>
|
||||
<tr class="separator:ad88b597bf4ae11a65a9c87171239ed00"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a949e507fd72ec4b2565bb49ebe98a2dc">setNotifyOnFinish</a> (const bool &notify)</td></tr>
|
||||
<tr class="separator:a949e507fd72ec4b2565bb49ebe98a2dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a8da70f39cc193b94c64769fc6f40dc2c">setModuleVersion</a> (const QString &version)</td></tr>
|
||||
<tr class="separator:a8da70f39cc193b94c64769fc6f40dc2c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a46d6db0d853ed8400a1725df436812ee"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a46d6db0d853ed8400a1725df436812ee">setDownloaderEnabled</a> (const bool &enabled)</td></tr>
|
||||
<tr class="separator:a46d6db0d853ed8400a1725df436812ee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a840a6b061590901eae3255ba74ff7ad8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey</a> (const QString &<a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a>)</td></tr>
|
||||
<tr class="separator:a840a6b061590901eae3255ba74ff7ad8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac3f35326fb62b9cf8a2421d91651ad60"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#ac3f35326fb62b9cf8a2421d91651ad60">setUseCustomInstallProcedures</a> (const bool &custom)</td></tr>
|
||||
<tr class="separator:ac3f35326fb62b9cf8a2421d91651ad60"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="signals"></a>
|
||||
Signals</h2></td></tr>
|
||||
<tr class="memitem:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82debd6b1ad627d6d40c0f2a9996e0c1"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>checkingFinished</b> (const QString &<a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>)</td></tr>
|
||||
<tr class="separator:a82debd6b1ad627d6d40c0f2a9996e0c1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a274a08240ad2bbea8cda6c52787510d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a274a08240ad2bbea8cda6c52787510d3"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>downloadFinished</b> (const QString &<a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a>, const QString &filepath)</td></tr>
|
||||
<tr class="separator:a274a08240ad2bbea8cda6c52787510d3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
|
||||
Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url</a> () const </td></tr>
|
||||
<tr class="separator:a7ebf698a86619ebaadd2eb6e772f2a3d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#af6a266ddbf0b855bcee1e9f77dfe9efb">changelog</a> () const </td></tr>
|
||||
<tr class="separator:af6a266ddbf0b855bcee1e9f77dfe9efb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7d8369115126e41cdefd30004cefc46d"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName</a> () const </td></tr>
|
||||
<tr class="separator:a7d8369115126e41cdefd30004cefc46d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5690e5ab3dde19098caf77c22f8bf075"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl</a> () const </td></tr>
|
||||
<tr class="separator:a5690e5ab3dde19098caf77c22f8bf075"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey</a> () const </td></tr>
|
||||
<tr class="separator:ad6d8a5d7b8fd9bdfde738d72c50f8bee"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af32daac9bff9cb3e79798fc9a825648e"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion</a> () const </td></tr>
|
||||
<tr class="separator:af32daac9bff9cb3e79798fc9a825648e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a25e7f289753c6d7b4439ee3728866a48"><td class="memItemLeft" align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion</a> () const </td></tr>
|
||||
<tr class="separator:a25e7f289753c6d7b4439ee3728866a48"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abefc7aae1333458ab03d50aec9b58581"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate</a> () const </td></tr>
|
||||
<tr class="separator:abefc7aae1333458ab03d50aec9b58581"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish</a> () const </td></tr>
|
||||
<tr class="separator:ad9fd2c8c3782c04289a76b1bf0b23ca0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aec889d582692cb41875ea803db3feb35"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable</a> () const </td></tr>
|
||||
<tr class="separator:aec889d582692cb41875ea803db3feb35"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4f526325b92c344244303b877d990cd3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled</a> () const </td></tr>
|
||||
<tr class="separator:a4f526325b92c344244303b877d990cd3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a7860e1643f426dc4d62cec2cdf207cd5">useCustomInstallProcedures</a> () const </td></tr>
|
||||
<tr class="separator:a7860e1643f426dc4d62cec2cdf207cd5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-slots"></a>
|
||||
Private Slots</h2></td></tr>
|
||||
<tr class="memitem:ae6e6597cd5b3ee32a12fad9c6c5a64ac"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply</a> (QNetworkReply *reply)</td></tr>
|
||||
<tr class="separator:ae6e6597cd5b3ee32a12fad9c6c5a64ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1a38e54201eb876d14eb26fab40a7dc7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable</a> (const bool &available)</td></tr>
|
||||
<tr class="separator:a1a38e54201eb876d14eb26fab40a7dc7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a247145d494c38d15f6569bbd209380e3"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="class_updater.html#a247145d494c38d15f6569bbd209380e3">compare</a> (const QString &x, const QString &y)</td></tr>
|
||||
<tr class="separator:a247145d494c38d15f6569bbd209380e3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
||||
Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:a51580c8199714afd10078d24dbc3514f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51580c8199714afd10078d24dbc3514f"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_url</b></td></tr>
|
||||
<tr class="separator:a51580c8199714afd10078d24dbc3514f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afdfb2e8d597c45ea309de8948e2de282"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdfb2e8d597c45ea309de8948e2de282"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>m_notifyOnUpdate</b></td></tr>
|
||||
<tr class="separator:afdfb2e8d597c45ea309de8948e2de282"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5ca544f6c75c009469e236f9e5c4da15"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ca544f6c75c009469e236f9e5c4da15"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>m_notifyOnFinish</b></td></tr>
|
||||
<tr class="separator:a5ca544f6c75c009469e236f9e5c4da15"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5b8f2c57972915d033710d9d44debcef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b8f2c57972915d033710d9d44debcef"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>m_updateAvailable</b></td></tr>
|
||||
<tr class="separator:a5b8f2c57972915d033710d9d44debcef"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad49b3d2b70630247739ab2b1f0706a7f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad49b3d2b70630247739ab2b1f0706a7f"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>m_downloaderEnabled</b></td></tr>
|
||||
<tr class="separator:ad49b3d2b70630247739ab2b1f0706a7f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a229fb1904163af697d0b54ab9297bb3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a229fb1904163af697d0b54ab9297bb3f"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_openUrl</b></td></tr>
|
||||
<tr class="separator:a229fb1904163af697d0b54ab9297bb3f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af932fab28132a01f245d23ba7c5fbf70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af932fab28132a01f245d23ba7c5fbf70"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_platform</b></td></tr>
|
||||
<tr class="separator:af932fab28132a01f245d23ba7c5fbf70"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6267c084984d0163f16af987f56a1a95"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6267c084984d0163f16af987f56a1a95"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_changelog</b></td></tr>
|
||||
<tr class="separator:a6267c084984d0163f16af987f56a1a95"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4aada318219e232a6f1be3b964262fb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4aada318219e232a6f1be3b964262fb8"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_moduleName</b></td></tr>
|
||||
<tr class="separator:a4aada318219e232a6f1be3b964262fb8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a50efac338e702ea6f8ba31a3a8376c25"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a50efac338e702ea6f8ba31a3a8376c25"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_downloadUrl</b></td></tr>
|
||||
<tr class="separator:a50efac338e702ea6f8ba31a3a8376c25"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4a55625e7bce2646912aa0a8299869bc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4a55625e7bce2646912aa0a8299869bc"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_moduleVersion</b></td></tr>
|
||||
<tr class="separator:a4a55625e7bce2646912aa0a8299869bc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af79a469656f846a69989827441f6199a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af79a469656f846a69989827441f6199a"></a>
|
||||
QString </td><td class="memItemRight" valign="bottom"><b>m_latestVersion</b></td></tr>
|
||||
<tr class="separator:af79a469656f846a69989827441f6199a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2354986fcdad345ca39914f13065d1b0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2354986fcdad345ca39914f13065d1b0"></a>
|
||||
<a class="el" href="class_downloader.html">Downloader</a> * </td><td class="memItemRight" valign="bottom"><b>m_downloader</b></td></tr>
|
||||
<tr class="separator:a2354986fcdad345ca39914f13065d1b0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a21af5ff7e447e251e46f18a39fa34966"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21af5ff7e447e251e46f18a39fa34966"></a>
|
||||
QNetworkAccessManager * </td><td class="memItemRight" valign="bottom"><b>m_manager</b></td></tr>
|
||||
<tr class="separator:a21af5ff7e447e251e46f18a39fa34966"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Downloads and interprests the update definition file. </p>
|
||||
</div><h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a class="anchor" id="af6a266ddbf0b855bcee1e9f77dfe9efb"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::changelog </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the changelog defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a1bbffc681514ca5393450b8664c137bb">QSimpleUpdater::getChangelog()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4af41658f974f72c71a9463be7bba1b5"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::checkForUpdates </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Downloads and interpets the update definitions file referenced by the <code><a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a></code> function. </p>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a791c89568adb171a62ccd0704570b68d">QSimpleUpdater::checkForUpdates()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a247145d494c38d15f6569bbd209380e3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::compare </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>x</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>y</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Compares the two version strings (<em>x</em> and <em>y</em>).</p><ul>
|
||||
<li>If <em>x</em> is greater than , this function returns <code>true</code>.</li>
|
||||
<li>If <em>y</em> is greater than , this function returns <code>false</code>.</li>
|
||||
<li>If both versions are the same, this function returns <code>false</code>. </li>
|
||||
</ul>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a4f526325b92c344244303b877d990cd3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::downloaderEnabled </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the integrated downloader is enabled. </p><dl class="section note"><dt>Note</dt><dd>If set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will open the downloader dialog if the user agrees to download the update. </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a10f421d41b30134583ee1f5e8cfbc59d">QSimpleUpdater::getDownloaderEnabled()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a5690e5ab3dde19098caf77c22f8bf075"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::downloadUrl </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the download URL defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a2c660cca487b092fd8e1b366a964a10b">QSimpleUpdater::getDownloadUrl()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a25e7f289753c6d7b4439ee3728866a48"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::latestVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the latest version defined by the update definitions file. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#aefb5ac20bec6e8509e2b55ed14926a70">QSimpleUpdater::getLatestVersion()</a>, <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7d8369115126e41cdefd30004cefc46d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::moduleName </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the name of the module (if defined) </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a30c3bccb5c6f06c1a243fa2629f441a3">QSimpleUpdater::getModuleName()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="af32daac9bff9cb3e79798fc9a825648e"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::moduleVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the "local" version of the installed module </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#ad7391bb43acbcbf1627cc51262c2ec60">QSimpleUpdater::getModuleVersion()</a>, and <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad9fd2c8c3782c04289a76b1bf0b23ca0"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::notifyOnFinish </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the updater should notify the user when it finishes checking for updates.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>If set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user even when there are no updates available (by congratulating him/her about being smart) </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#acc540358f0d887e4945ac061667a596d">QSimpleUpdater::getNotifyOnFinish()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="abefc7aae1333458ab03d50aec9b58581"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::notifyOnUpdate </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the updater should notify the user when an update is available. </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#acdc00558a979df664910b07cb82f9b36">QSimpleUpdater::getNotifyOnUpdate()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ae6e6597cd5b3ee32a12fad9c6c5a64ac"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::onReply </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">QNetworkReply * </td>
|
||||
<td class="paramname"><em>reply</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Called when the download of the update definitions file is finished. </p>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a247145d494c38d15f6569bbd209380e3">compare()</a>, <a class="el" href="class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion()</a>, <a class="el" href="class_updater.html#af32daac9bff9cb3e79798fc9a825648e">moduleVersion()</a>, <a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>, <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>, and <a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad6d8a5d7b8fd9bdfde738d72c50f8bee"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::platformKey </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the platform key (be it system-set or user-set). If you do not define a platform key, the system will assign the following platform key:</p><ul>
|
||||
<li>On iOS: <code>ios</code> </li>
|
||||
<li>On Mac OSX: <code>osx</code> </li>
|
||||
<li>On Android: <code>android</code> </li>
|
||||
<li>On GNU/Linux: <code>linux</code> </li>
|
||||
<li>On Microsoft Windows: <code>windows</code> </li>
|
||||
</ul>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a0f061c6945b58664c2c9f9ec26f0d87c">QSimpleUpdater::getPlatformKey()</a>, <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>, and <a class="el" href="class_updater.html#a840a6b061590901eae3255ba74ff7ad8">setPlatformKey()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a46d6db0d853ed8400a1725df436812ee"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setDownloaderEnabled </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>enabled</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If the <em>enabled</em> parameter is set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will open the integrated downloader if the user agrees to install the update (if any) </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a0ff15deef5af536150911353df0c44b2">QSimpleUpdater::setDownloaderEnabled()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a5ac7e1a2bd65353a5fdec22689f1adf3"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setModuleName </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>name</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the module <em>name</em>. </p><dl class="section note"><dt>Note</dt><dd>The module name is used on the user prompts. If the module name is empty, then the prompts will show the name of the application. </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a4b5e2bb2b88ab10a3c6c3a83661a2ebe">QSimpleUpdater::setModuleName()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a8da70f39cc193b94c64769fc6f40dc2c"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setModuleVersion </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>version</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the module <em>version</em> </p><dl class="section note"><dt>Note</dt><dd>The module version is used to compare the local and remote versions. If the <em>version</em> parameter is empty, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will use the application version (referenced by <code>qApp</code>) </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a1a2a03f01c7ba081637268910fc50919">QSimpleUpdater::setModuleVersion()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a949e507fd72ec4b2565bb49ebe98a2dc"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setNotifyOnFinish </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>notify</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user when it has finished interpreting the update definitions file. </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#ad9e53f893874d54bff8c787c2f560bd2">QSimpleUpdater::setNotifyOnFinish()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ad88b597bf4ae11a65a9c87171239ed00"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setNotifyOnUpdate </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>notify</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If <em>notify</em> is set to <code>true</code>, then the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will notify the user when an update is available. </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a4789b616743189642a023fa7704e9c00">QSimpleUpdater::setNotifyOnUpdate()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a840a6b061590901eae3255ba74ff7ad8"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setPlatformKey </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>platformKey</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the platform key. If the platform key is empty, then the system will use the following keys:</p><ul>
|
||||
<li>On iOS: <code>ios</code> </li>
|
||||
<li>On Mac OSX: <code>osx</code> </li>
|
||||
<li>On Android: <code>android</code> </li>
|
||||
<li>On GNU/Linux: <code>linux</code> </li>
|
||||
<li>On Microsoft Windows: <code>windows</code> </li>
|
||||
</ul>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#ad6d8a5d7b8fd9bdfde738d72c50f8bee">platformKey()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#af6b2713b7468a69ce3ff46074e642df8">QSimpleUpdater::setPlatformKey()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1a38e54201eb876d14eb26fab40a7dc7"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setUpdateAvailable </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>available</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Prompts the user based on the value of the <em>available</em> parameter and the settings of this instance of the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> class. </p>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a4f526325b92c344244303b877d990cd3">downloaderEnabled()</a>, <a class="el" href="class_updater.html#a5690e5ab3dde19098caf77c22f8bf075">downloadUrl()</a>, <a class="el" href="class_updater.html#a25e7f289753c6d7b4439ee3728866a48">latestVersion()</a>, <a class="el" href="class_updater.html#a7d8369115126e41cdefd30004cefc46d">moduleName()</a>, <a class="el" href="class_updater.html#ad9fd2c8c3782c04289a76b1bf0b23ca0">notifyOnFinish()</a>, <a class="el" href="class_updater.html#abefc7aae1333458ab03d50aec9b58581">notifyOnUpdate()</a>, <a class="el" href="class_downloader.html#a7f81027436d44ca52168b30a6eb0d379">Downloader::startDownload()</a>, and <a class="el" href="class_updater.html#aec889d582692cb41875ea803db3feb35">updateAvailable()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a1219e9bb1c1fb0a68d757fbc0d9b76aa"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setUrl </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const QString & </td>
|
||||
<td class="paramname"><em>url</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Changes the <code>url</code> in which the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> can find the update definitions file. </p>
|
||||
|
||||
<p>References <a class="el" href="class_updater.html#a7ebf698a86619ebaadd2eb6e772f2a3d">url()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a0305a6c8eb9d0bf213736d1c1beb4149">QSimpleUpdater::getUpdater()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="ac3f35326fb62b9cf8a2421d91651ad60"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Updater::setUseCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const bool & </td>
|
||||
<td class="paramname"><em>custom</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">slot</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>If the <em>custom</em> parameter is set to <code>true</code>, the <code><a class="el" href="class_updater.html" title="Downloads and interprests the update definition file. ">Updater</a></code> will not try to open the downloaded file. Use the signals fired by the <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> to install the update from the downloaded file by yourself. </p>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#a26a4f889029c63c11f679284397a3285">Downloader::setUseCustomInstallProcedures()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a6c30dd784023264dd6ec885ec755f515">QSimpleUpdater::setUseCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="aec889d582692cb41875ea803db3feb35"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::updateAvailable </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if there is an update available. </p><dl class="section warning"><dt>Warning</dt><dd>You should call <code><a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a></code> before using this function </dd></dl>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#a6557bff5a8a255291f12d2613879981b">QSimpleUpdater::getUpdateAvailable()</a>, and <a class="el" href="class_updater.html#a1a38e54201eb876d14eb26fab40a7dc7">setUpdateAvailable()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7ebf698a86619ebaadd2eb6e772f2a3d"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">QString Updater::url </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns the URL of the update definitions file </p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_updater.html#a4af41658f974f72c71a9463be7bba1b5">checkForUpdates()</a>, <a class="el" href="class_updater.html#ae6e6597cd5b3ee32a12fad9c6c5a64ac">onReply()</a>, and <a class="el" href="class_updater.html#a1219e9bb1c1fb0a68d757fbc0d9b76aa">setUrl()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a class="anchor" id="a7860e1643f426dc4d62cec2cdf207cd5"></a>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool Updater::useCustomInstallProcedures </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Returns <code>true</code> if the updater shall not intervene when the download has finished (you can use the <code><a class="el" href="class_q_simple_updater.html" title="Manages the updater instances. ">QSimpleUpdater</a></code> signals to know when the download is completed). </p>
|
||||
|
||||
<p>References <a class="el" href="class_downloader.html#a3e7a91a3cdfa68e3bc59db0af1377f9c">Downloader::useCustomInstallProcedures()</a>.</p>
|
||||
|
||||
<p>Referenced by <a class="el" href="class_q_simple_updater.html#af8f4cca002e820499d1fbca127095c87">QSimpleUpdater::usesCustomInstallProcedures()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following files:<ul>
|
||||
<li><a class="el" href="_updater_8h_source.html">Updater.h</a></li>
|
||||
<li>Updater.cpp</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
Generated by  <a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
||||
</a> 1.8.11
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|