1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-16 08:29:15 +01:00

Merge remote-tracking branch 'origin/os/OP-910_autogenerate-credits-qml' into next

This commit is contained in:
Oleg Semyonov 2013-06-06 10:22:17 +02:00
commit 8205327f8b
12 changed files with 278 additions and 390 deletions

View File

@ -1,90 +1,77 @@
<html>
<style type="text/css" media="screen">
body { background: #e3e3e3; font-family: Helvetica, Arial, "MS Trebuchet", sans-serif; font-size: 12px; line-height:1.5em; }
pre { font-family: Helvetica, Arial, "MS Trebuchet", sans-serif; }
</style>
<body>
<h3>This is a credits file of people that are or have been key contributors to the OpenPilot project. Without the work of the people in this list, OpenPilot would not be what it is today.</h3>
<p>This list is sorted alphabetically by name</p>
<pre>Connor Abbott
David Ankers
Sergiy Anikeyev
Pedro Assuncao
Fredrik Arvidsson
Werner Backes
Jose Barros
Pete Boehl
David Carlson
James Cotton
Steve Doll
Piotr Esden-Tempski
Richard Flay
Peter Farnworth
Ed Faulkner
Darren Furniss
Frederic Goddeeris
Daniel Godin
Bani Greyling
Nuno Guedes
Erik Gustavsson
Peter Gunnarsson
Dean Hall
Joe Hlebasko
Andy Honecker
Ryan Hunt
Mark James
Sami Korhonen
Thorsten Klose
Hallvard Kristiansen
Edouard Lafargue
Mike Labranche
Fredrik Larsson
Pablo Lema
David Llama
Matt Lipski
Les Newell
Ken Northup
Greg Matthews
Guy McCaldin
Gary Mortimer
Alessio Morale
Cathy Moss
Angus Peart
Dmytro Poplavskiy
Eric Price
Richard Querin
Randy Ram
Philippe Renon
Laurent Ribon
Mathieu Rondonneau
Julien Rouviere
Jackson Russell
Zik Saleeba
Professor Dale Schinstock
Professor Kenn Sebesta
Oleg Semyonov
Stacey Sheldon
Troy Schultz
Dr. Erhard Siegl
Mike Smith
Alex Sowa
Pete Stapley
Vova Starikh
Rowan Taubitz
Andrew Thoms
Philippe Vanhaesendonck
Jasper van Loenen
Vassilis Varveropoulos
Kevin Vertucio
Alex Vrubel
Brian Webb
Justin Welander
Mat Wellington
Kendal Wells
David Willis
Dmitriy Zaitsev
</pre>
</body>
</html>
Connor Abbott
David Ankers
Sergiy Anikeyev
Pedro Assuncao
Fredrik Arvidsson
Werner Backes
Jose Barros
Pete Boehl
David Carlson
James Cotton
Steve Doll
Piotr Esden-Tempski
Richard Flay
Peter Farnworth
Ed Faulkner
Darren Furniss
Frederic Goddeeris
Daniel Godin
Bani Greyling
Nuno Guedes
Erik Gustavsson
Peter Gunnarsson
Dean Hall
Joe Hlebasko
Andy Honecker
Ryan Hunt
Mark James
Sami Korhonen
Thorsten Klose
Hallvard Kristiansen
Edouard Lafargue
Mike Labranche
Fredrik Larsson
Pablo Lema
David Llama
Matt Lipski
Les Newell
Ken Northup
Greg Matthews
Guy McCaldin
Gary Mortimer
Alessio Morale
Cathy Moss
Angus Peart
Dmytro Poplavskiy
Eric Price
Richard Querin
Randy Ram
Philippe Renon
Laurent Ribon
Mathieu Rondonneau
Julien Rouviere
Jackson Russell
Zik Saleeba
Professor Dale Schinstock
Professor Kenn Sebesta
Oleg Semyonov
Stacey Sheldon
Troy Schultz
Dr. Erhard Siegl
Mike Smith
Alex Sowa
Pete Stapley
Vova Starikh
Rowan Taubitz
Andrew Thoms
Philippe Vanhaesendonck
Jasper van Loenen
Vassilis Varveropoulos
Kevin Vertucio
Alex Vrubel
Brian Webb
Justin Welander
Mat Wellington
Kendal Wells
David Willis
Dmitriy Zaitsev

View File

@ -3,6 +3,9 @@
# http://wiki.openpilot.org/display/Doc/Coding+Style
#
*.pri text eol=crlf
*.pro text eol=crlf
*.c text eol=crlf
*.cpp text eol=crlf
*.h text eol=crlf
@ -13,9 +16,9 @@
*.qml text eol=crlf
*.pluginspec text eol=crlf
*.pri text eol=crlf
*.pro text eol=crlf
*.h.template text eol=crlf
*.c.template text eol=crlf
*.cpp.template text eol=crlf
*.qml.template text eol=crlf
*.py text eol=lf

View File

@ -2,6 +2,7 @@ TEMPLATE = lib
TARGET = VersionInfo
include(../../openpilotgcslibrary.pri)
include(../../python.pri)
HEADERS = version_info.h
SOURCES = version_info.cpp
@ -13,31 +14,8 @@ SOURCES = version_info.cpp
# the other dependencies evaluation.
#
# We use python to extract git version info, but it may be installed locally.
# This expected python version should be kept in sync with make/tools.mk.
PYTHON_DIR = python-2.7.4
# Since debug_and_release option is set, we need this
!debug_and_release|build_pass {
ROOT_DIR = $$GCS_SOURCE_TREE/../..
# Search the python using environment override first
OPENPILOT_TOOLS_DIR = $$(OPENPILOT_TOOLS_DIR)
!isEmpty(OPENPILOT_TOOLS_DIR):exists($$OPENPILOT_TOOLS_DIR/$$PYTHON_DIR/python*) {
PYTHON = \"$$OPENPILOT_TOOLS_DIR/$$PYTHON_DIR/python\"
} else {
# If not found, search the predefined tools path
exists($$ROOT_DIR/tools/$$PYTHON_DIR/python*) {
PYTHON = \"$$ROOT_DIR/tools/$$PYTHON_DIR/python\"
} else {
# not found, hope it's in the path...
PYTHON = \"python\"
}
}
PYTHON = $$replace(PYTHON, \\\\, /)
message(Using python interpreter: $$PYTHON)
# Define other variables
VERSION_INFO_DIR = $$GCS_BUILD_TREE/../openpilotgcs-synthetics
VERSION_INFO_SCRIPT = $$ROOT_DIR/make/scripts/version-info.py

View File

@ -1,41 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>CREDITS Utility</title>
<style>
body { margin: 40px;}
.hidden { display:none; }
</style>
</head>
<body>
<h1>Author Dialog authorModel Utility</h1>
<p>This utility will parse a \n delimited list of names and generate ListElement components for entry into the QML model located in /qml/AuthorsModel.qml.</p>
<div class="output"></div>
<form onSubmit="javascript:handleForm($('.authors').val()); return false;">
<textarea class="authors" rows="30"></textarea>
<button type="submit" class="btn">Generate</button>
</form>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
function handleForm(str){
console.log(str);
var lines = str.split(/\n/);
var texts = [];
$('<div class="alert-block alert-info"><strong>Instructions: </strong>Cut/Paste the ListElements below into /qml/AuthorsModel.qml</div><br>').appendTo('.output');
for (var i=0; i < lines.length; i++) {
// only push this line if it contains a non whitespace character.
if (/\S/.test(lines[i])) {
texts.push($.trim(lines[i]));
}
//Make string to append to output
var listelement = '<p>ListElement { name: "' + texts[i] + '" }</p>';
$(listelement).appendTo('.output');
}
$('button').detach();
$('.authors').detach();
}
</script>
</body>
</html

View File

@ -0,0 +1,41 @@
include(../../python.pri)
#
# This qmake code generates AuthorsModel.qml using CREDITS.txt.
#
# This is a bit tricky since the script should be run always and before
# the other dependencies evaluation.
#
# Since debug_and_release option is set, we need this
!debug_and_release|build_pass {
# Define other variables
AUTHORS_SCRIPT = $$GCS_SOURCE_TREE/src/plugins/coreplugin/authorsdialog.py
AUTHORS_COMMAND = $$PYTHON \"$$AUTHORS_SCRIPT\"
AUTHORS_SOURCE = $$ROOT_DIR/CREDITS.txt
AUTHORS_TEMPLATE = $$GCS_SOURCE_TREE/src/plugins/coreplugin/qml/AuthorsModel.qml.template
AUTHORS_DIR = $$GCS_BUILD_TREE/../openpilotgcs-synthetics
AUTHORS_FILE = $$AUTHORS_DIR/AuthorsModel.qml
# Create custom authors target which generates a real file
authors.target = $$AUTHORS_FILE
authors.commands = -$(MKDIR) $$targetPath($$AUTHORS_DIR) $$addNewline()
authors.commands += $$AUTHORS_COMMAND \
--infile=\"$$AUTHORS_SOURCE\" \
--template=\"$$AUTHORS_TEMPLATE\" \
--outfile=\"$$AUTHORS_FILE\"
authors.depends = $$AUTHORS_SOURCE
QMAKE_EXTRA_TARGETS += authors
# Hook authors target in between qmake's Makefile update and
# the actual project target
authors_hook.depends = authors
debug_and_release {
CONFIG(debug,debug|release):authors_hook.target = Makefile.Debug
CONFIG(release,debug|release):authors_hook.target = Makefile.Release
} else {
authors_hook.target = Makefile
}
QMAKE_EXTRA_TARGETS += authors_hook
}

View File

@ -0,0 +1,54 @@
#!/usr/bin/env python
#
# Helper function to generate a QML list of contributors
#
# (c) 2013, The OpenPilot Team, http://www.openpilot.org
# See also: The GNU Public License (GPL) Version 3
#
import optparse
import sys
def create_qml_file(args):
"""This function reads input and template files and writes output QML file"""
assert args.infile is not None
assert args.outfile is not None
assert args.template is not None
with open(args.infile, "rt") as input_file:
names = input_file.readlines()
names_list = ""
for name in names:
if name.strip():
names_list += " ListElement { name: \"" + name.strip() + "\" }\r\n"
with open(args.template, "rb") as template_file:
template = template_file.read()
with open(args.outfile, "wb") as output_file:
output_file.write(template.replace("${LIST_ELEMENTS}", names_list.rstrip()))
return 0
def main():
"""Helper function to generate a QML list of contributors"""
parser = optparse.OptionParser(description = main.__doc__);
parser.add_option('--infile', action='store',
help='name of input file, one name per line');
parser.add_option('--outfile', action='store',
help='name of output QML file');
parser.add_option('--template', action='store',
help='name of QML template file');
(args, positional_args) = parser.parse_args()
if (len(positional_args) != 0) or (len(sys.argv) == 1):
parser.error("incorrect number of arguments, try --help for help")
return create_qml_file(args)
if __name__ == "__main__":
sys.exit(main())

View File

@ -1,71 +1,70 @@
<RCC>
<qresource prefix="/core">
<file>images/openpilot_logo_256.png</file>
<file>images/openpilot_logo_128.png</file>
<file>images/openpilot_logo_64.png</file>
<file>images/openpilot_logo_32.png</file>
<file>images/clean_pane_small.png</file>
<file>images/clear.png</file>
<file>images/closebutton.png</file>
<file>images/dir.png</file>
<file>images/editcopy.png</file>
<file>images/editcut.png</file>
<file>images/editpaste.png</file>
<file>images/empty14.png</file>
<file>images/filenew.png</file>
<file>images/fileopen.png</file>
<file>images/filesave.png</file>
<file>images/find.png</file>
<file>images/findnext.png</file>
<file>images/inputfield.png</file>
<file>images/inputfield_disabled.png</file>
<file>images/linkicon.png</file>
<file>images/locked.png</file>
<file>images/magnifier.png</file>
<file>images/minus.png</file>
<file>images/next.png</file>
<file>images/panel_button.png</file>
<file>images/panel_button_checked.png</file>
<file>images/panel_button_checked_hover.png</file>
<file>images/panel_button_hover.png</file>
<file>images/panel_button_pressed.png</file>
<file>images/plus.png</file>
<file>images/prev.png</file>
<file>images/pushbutton.png</file>
<file>images/pushbutton_hover.png</file>
<file>images/pushbutton_pressed.png</file>
<file>images/redo.png</file>
<file>images/replace.png</file>
<file>images/reset.png</file>
<file>images/sidebaricon.png</file>
<file>images/splitbutton_horizontal.png</file>
<file>images/statusbar.png</file>
<file>images/undo.png</file>
<file>images/unknownfile.png</file>
<file>images/unlocked.png</file>
<file>images/extension.png</file>
<file>images/darkclosebutton.png</file>
<file>images/pluginicon.png</file>
<file>images/exiticon.png</file>
<file>images/optionsicon.png</file>
<file>images/helpicon.png</file>
<file>images/openpiloticon.png</file>
<file>CREDITS.html</file>
<file>images/ah.png</file>
<file>images/config.png</file>
<file>images/flight.png</file>
<file>images/home.png</file>
<file>images/joystick.png</file>
<file>images/scopes.png</file>
<file>images/world.png</file>
<file>images/cog.png</file>
<file>images/helpicon.svg</file>
<file>images/cpu.png</file>
<file>images/tx-rx.svg</file>
<file>qml/images/tab.png</file>
<file>qml/AboutDialog.qml</file>
<file>qml/AuthorsModel.qml</file>
<file>qml/ScrollDecorator.qml</file>
<file>qml/TabWidget.qml</file>
<file>images/openpilot_logo_256.png</file>
<file>images/openpilot_logo_128.png</file>
<file>images/openpilot_logo_64.png</file>
<file>images/openpilot_logo_32.png</file>
<file>images/clean_pane_small.png</file>
<file>images/clear.png</file>
<file>images/closebutton.png</file>
<file>images/dir.png</file>
<file>images/editcopy.png</file>
<file>images/editcut.png</file>
<file>images/editpaste.png</file>
<file>images/empty14.png</file>
<file>images/filenew.png</file>
<file>images/fileopen.png</file>
<file>images/filesave.png</file>
<file>images/find.png</file>
<file>images/findnext.png</file>
<file>images/inputfield.png</file>
<file>images/inputfield_disabled.png</file>
<file>images/linkicon.png</file>
<file>images/locked.png</file>
<file>images/magnifier.png</file>
<file>images/minus.png</file>
<file>images/next.png</file>
<file>images/panel_button.png</file>
<file>images/panel_button_checked.png</file>
<file>images/panel_button_checked_hover.png</file>
<file>images/panel_button_hover.png</file>
<file>images/panel_button_pressed.png</file>
<file>images/plus.png</file>
<file>images/prev.png</file>
<file>images/pushbutton.png</file>
<file>images/pushbutton_hover.png</file>
<file>images/pushbutton_pressed.png</file>
<file>images/redo.png</file>
<file>images/replace.png</file>
<file>images/reset.png</file>
<file>images/sidebaricon.png</file>
<file>images/splitbutton_horizontal.png</file>
<file>images/statusbar.png</file>
<file>images/undo.png</file>
<file>images/unknownfile.png</file>
<file>images/unlocked.png</file>
<file>images/extension.png</file>
<file>images/darkclosebutton.png</file>
<file>images/pluginicon.png</file>
<file>images/exiticon.png</file>
<file>images/optionsicon.png</file>
<file>images/helpicon.png</file>
<file>images/openpiloticon.png</file>
<file>images/ah.png</file>
<file>images/config.png</file>
<file>images/flight.png</file>
<file>images/home.png</file>
<file>images/joystick.png</file>
<file>images/scopes.png</file>
<file>images/world.png</file>
<file>images/cog.png</file>
<file>images/helpicon.svg</file>
<file>images/cpu.png</file>
<file>images/tx-rx.svg</file>
<file>qml/images/tab.png</file>
<file>qml/ScrollDecorator.qml</file>
<file>qml/TabWidget.qml</file>
<file>qml/AboutDialog.qml</file>
<file alias="qml/AuthorsModel.qml">../../../../../build/openpilotgcs-synthetics/AuthorsModel.qml</file>
</qresource>
</RCC>

View File

@ -14,6 +14,7 @@ include(../../libs/utils/utils.pri)
include(../../libs/version_info/version_info.pri)
include(../../shared/scriptwrapper/scriptwrapper.pri)
include(coreplugin_dependencies.pri)
include(authorsdialog.pri)
INCLUDEPATH += dialogs \
uavgadgetmanager \

View File

@ -1,165 +0,0 @@
/*
This list model was created for the AuthorsDialog.
*/
import QtQuick 1.1
ListModel {
ListElement{ name:"Connor Abbott" }
ListElement{ name:"David Ankers" }
ListElement{ name:"Sergiy Anikeyev" }
ListElement{ name:"Pedro Assuncao" }
ListElement{ name:"Fredrik Arvidsson" }
ListElement{ name:"Werner Backes" }
ListElement{ name:"Jose Barros" }
ListElement{ name:"Pete Boehl" }
ListElement{ name:"David Carlson" }
ListElement{ name:"James Cotton" }
ListElement{ name:"Steve Doll" }
ListElement{ name:"Piotr Esden-Tempski" }
ListElement{ name:"Richard Flay" }
ListElement{ name:"Peter Farnworth" }
ListElement{ name:"Ed Faulkner" }
ListElement{ name:"Darren Furniss" }
ListElement{ name:"Frederic Goddeeris" }
ListElement{ name:"Daniel Godin" }
ListElement{ name:"Bani Greyling" }
ListElement{ name:"Nuno Guedes" }
ListElement{ name:"Erik Gustavsson" }
ListElement{ name:"Peter Gunnarsson" }
ListElement{ name:"Dean Hall" }
ListElement{ name:"Joe Hlebasko" }
ListElement{ name:"Andy Honecker" }
ListElement{ name:"Ryan Hunt" }
ListElement{ name:"Mark James" }
ListElement{ name:"Sami Korhonen" }
ListElement{ name:"Thorsten Klose" }
ListElement{ name:"Rick King" }
ListElement{ name:"Hallvard Kristiansen" }
ListElement{ name:"Edouard Lafargue" }
ListElement{ name:"Mike Labranche" }
ListElement{ name:"Fredrik Larsson" }
ListElement{ name:"Pablo Lema" }
ListElement{ name:"David Llama" }
ListElement{ name:"Matt Lipski" }
ListElement{ name:"Les Newell" }
ListElement{ name:"Ken Northup" }
ListElement{ name:"Greg Matthews" }
ListElement{ name:"Guy McCaldin" }
ListElement{ name:"Gary Mortimer" }
ListElement{ name:"Alessio Morale" }
ListElement{ name:"Cathy Moss" }
ListElement{ name:"Angus Peart" }
ListElement{ name:"John Pike" }
ListElement{ name:"Dmytro Poplavskiy" }
ListElement{ name:"Eric Price" }
ListElement{ name:"Richard Querin" }
ListElement{ name:"Randy Ram" }
ListElement{ name:"Philippe Renon" }
ListElement{ name:"Laurent Ribon" }
ListElement{ name:"Mathieu Rondonneau" }
ListElement{ name:"Julien Rouviere" }
ListElement{ name:"Jackson Russell" }
ListElement{ name:"Zik Saleeba" }
ListElement{ name:"Professor Dale Schinstock" }
ListElement{ name:"Professor Kenn Sebesta" }
ListElement{ name:"Oleg Semyonov" }
ListElement{ name:"Stacey Sheldon" }
ListElement{ name:"Troy Schultz" }
ListElement{ name:"Dr. Erhard Siegl" }
ListElement{ name:"Mike Smith" }
ListElement{ name:"Alex Sowa" }
ListElement{ name:"Pete Stapley" }
ListElement{ name:"Vova Starikh" }
ListElement{ name:"Rowan Taubitz" }
ListElement{ name:"Andrew Thoms" }
ListElement{ name:"Philippe Vanhaesendonck" }
ListElement{ name:"Jasper van Loenen" }
ListElement{ name:"Vassilis Varveropoulos" }
ListElement{ name:"Kevin Vertucio" }
ListElement{ name:"Alex Vrubel" }
ListElement{ name:"Brian Webb" }
ListElement{ name:"Justin Welander" }
ListElement{ name:"Mat Wellington" }
ListElement{ name:"Kendal Wells" }
ListElement { name: "David Willis" }
ListElement{ name:"Dmitriy Zaitsev" }
}

View File

@ -0,0 +1,8 @@
/*
This list model was created for the AuthorsDialog.
*/
import QtQuick 1.1
ListModel {
${LIST_ELEMENTS}
}

View File

@ -0,0 +1,23 @@
# We use python to extract git version info and generate some other files,
# but it may be installed locally. The expected python version should be
# kept in sync with make/tools.mk.
PYTHON_DIR = python-2.7.4
ROOT_DIR = $$GCS_SOURCE_TREE/../..
# Search the python using environment override first
OPENPILOT_TOOLS_DIR = $$(OPENPILOT_TOOLS_DIR)
!isEmpty(OPENPILOT_TOOLS_DIR):exists($$OPENPILOT_TOOLS_DIR/$$PYTHON_DIR/python*) {
PYTHON = \"$$OPENPILOT_TOOLS_DIR/$$PYTHON_DIR/python\"
} else {
# If not found, search the predefined tools path
exists($$ROOT_DIR/tools/$$PYTHON_DIR/python*) {
PYTHON = \"$$ROOT_DIR/tools/$$PYTHON_DIR/python\"
} else {
# not found, hope it's in the path...
PYTHON = \"python\"
}
}
PYTHON = $$replace(PYTHON, \\\\, /)
message(Using python interpreter: $$PYTHON)

View File

@ -81,7 +81,7 @@ endif
GTEST_URL := http://wiki.openpilot.org/download/attachments/18612236/gtest-1.6.0.zip
# Changing PYTHON_DIR, also update it in ground\openpilotgcs\src\app\gcsversioninfo.pri
# Changing PYTHON_DIR, also update it in ground/openpilotgcs/src/python.pri
ARM_SDK_DIR := $(TOOLS_DIR)/gcc-arm-none-eabi-4_7-2013q1
QT_SDK_DIR := $(TOOLS_DIR)/qt-4.8.4
MINGW_DIR := $(TOOLS_DIR)/mingw-4.4.0