From da8e1022a014eab3a106a47adbb1a7170401b589 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Wed, 16 Jun 2021 18:00:23 +0200 Subject: [PATCH 01/13] ModelBmp hotfix --- radio/src/gui/colorlcd/widgets/modelbmp.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/radio/src/gui/colorlcd/widgets/modelbmp.cpp b/radio/src/gui/colorlcd/widgets/modelbmp.cpp index 4c2d96c12..daf5977f7 100644 --- a/radio/src/gui/colorlcd/widgets/modelbmp.cpp +++ b/radio/src/gui/colorlcd/widgets/modelbmp.cpp @@ -37,7 +37,9 @@ class ModelBitmapWidget: public Widget if (buffer && ((buffer->width() != width()) || (buffer->height() != height()) || (deps_hash != getHash()))) { + loadBitmap(); + deps_hash = getHash(); } // big space to draw @@ -84,18 +86,19 @@ class ModelBitmapWidget: public Widget std::string filename = std::string(g_model.header.bitmap); std::string fullpath = std::string(BITMAPS_PATH PATH_SEPARATOR) + filename; - std::unique_ptr bitmap(BitmapBuffer::loadBitmap(fullpath.c_str())); - if (!bitmap) { - TRACE("could not load bitmap '%s'", filename.c_str()); - return; - } - if (!buffer || (buffer->width() != width()) || (buffer->height() != height())) { buffer.reset(new BitmapBuffer(BMP_RGB565, width(), height())); } buffer->clear(DEFAULT_BGCOLOR); - buffer->drawScaledBitmap(bitmap.get(), 0, 38, width(), height() - 38); + if (!filename.empty()) { + std::unique_ptr bitmap(BitmapBuffer::loadBitmap(fullpath.c_str())); + if (!bitmap) { + TRACE("could not load bitmap '%s'", filename.c_str()); + return; + } + buffer->drawScaledBitmap(bitmap.get(), 0, 38, width(), height() - 38); + } } }; From d10563d08b2e7c9cbe3af35ebe298ed536daf5e2 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Wed, 16 Jun 2021 17:43:27 +0200 Subject: [PATCH 02/13] Fixed more zchar / string copy errors Resolves #224 --- radio/src/logs.cpp | 2 +- radio/src/lua/api_general.cpp | 3 ++- radio/src/storage/eeprom_common.cpp | 2 +- radio/src/strhelpers.cpp | 18 +++++++++--------- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index bd8767d52..b1003b441 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -143,7 +143,7 @@ void writeHeader() TelemetrySensor & sensor = g_model.telemetrySensors[i]; if (sensor.logs) { memset(label, 0, sizeof(label)); - zchar2str(label, sensor.label, TELEM_LABEL_LEN); + strncpy(label, sensor.label, TELEM_LABEL_LEN); uint8_t unit = sensor.unit; if (unit == UNIT_CELLS ) unit = UNIT_VOLTS; if (UNIT_RAW < unit && unit < UNIT_FIRST_VIRTUAL) { diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 47eced18b..f3654af3d 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -919,7 +919,8 @@ static int luaGetFlightMode(lua_State * L) } lua_pushnumber(L, mode); char name[sizeof(g_model.flightModeData[0].name)+1]; - zchar2str(name, g_model.flightModeData[mode].name, sizeof(g_model.flightModeData[0].name)); + strncpy(name, g_model.flightModeData[mode].name, sizeof(g_model.flightModeData[0].name)); + name[sizeof(g_model.flightModeData[0].name)] = '\0'; lua_pushstring(L, name); return 2; } diff --git a/radio/src/storage/eeprom_common.cpp b/radio/src/storage/eeprom_common.cpp index dffab63fb..839feedb3 100644 --- a/radio/src/storage/eeprom_common.cpp +++ b/radio/src/storage/eeprom_common.cpp @@ -169,7 +169,7 @@ void checkModelIdUnique(uint8_t index, uint8_t module) name = strAppendUnsigned(name+strlen(name), i + 1, 2); } else { - name += zchar2str(name, modelHeaders[i].name, LEN_MODEL_NAME); + name = strAppend(name, modelHeaders[i].name, LEN_MODEL_NAME); } } else { diff --git a/radio/src/strhelpers.cpp b/radio/src/strhelpers.cpp index 7777b7335..48bb7a8af 100644 --- a/radio/src/strhelpers.cpp +++ b/radio/src/strhelpers.cpp @@ -312,9 +312,8 @@ char * getSwitchWarningString(char * dest, swsrc_t idx) char * getSwitchName(char * dest, swsrc_t idx) { div_t swinfo = switchInfo(idx); - if (ZEXIST(g_eeGeneral.switchNames[swinfo.quot])) { - dest += zchar2str(dest, g_eeGeneral.switchNames[swinfo.quot], LEN_SWITCH_NAME); - // TODO tous zchar2str + if (g_eeGeneral.switchNames[swinfo.quot][0] != '\0') { + dest = strAppend(dest, g_eeGeneral.switchNames[swinfo.quot], LEN_SWITCH_NAME); } else { *dest++ = 'S'; @@ -404,7 +403,8 @@ char * getSwitchPositionName(char * dest, swsrc_t idx) } #endif else { - zchar2str(s, g_model.telemetrySensors[idx-SWSRC_FIRST_SENSOR].label, TELEM_LABEL_LEN); + strncpy(s, g_model.telemetrySensors[idx-SWSRC_FIRST_SENSOR].label, TELEM_LABEL_LEN); + s[TELEM_LABEL_LEN] = '\0'; } return dest; @@ -419,7 +419,7 @@ char * getSourceString(char * dest, mixsrc_t idx) idx -= MIXSRC_FIRST_INPUT; *dest = CHAR_INPUT; if (strlen(g_model.inputNames[idx])) { - memset(dest + 1, 0, LEN_INPUT_NAME); + memset(dest + 1, 0, LEN_INPUT_NAME+1); strncpy(dest + 1, g_model.inputNames[idx], LEN_INPUT_NAME); } else { @@ -473,8 +473,8 @@ char * getSourceString(char * dest, mixsrc_t idx) } else if (idx <= MIXSRC_LAST_SWITCH) { idx -= MIXSRC_FIRST_SWITCH; - if (ZEXIST(g_eeGeneral.switchNames[idx])) { - zchar2str(dest, g_eeGeneral.switchNames[idx], LEN_SWITCH_NAME); + if (g_eeGeneral.switchNames[idx][0] != '\0') { + strncpy(dest, g_eeGeneral.switchNames[idx], LEN_SWITCH_NAME); dest[LEN_SWITCH_NAME] = '\0'; } else { @@ -497,8 +497,8 @@ char * getSourceString(char * dest, mixsrc_t idx) getStringAtIndex(dest, STR_VSRCRAW, idx-MIXSRC_Rud+1-MAX_LOGICAL_SWITCHES-MAX_TRAINER_CHANNELS-MAX_OUTPUT_CHANNELS-MAX_GVARS); } else if (idx <= MIXSRC_LAST_TIMER) { - if(ZEXIST(g_model.timers[idx-MIXSRC_FIRST_TIMER].name)) { - zchar2str(dest,g_model.timers[idx-MIXSRC_FIRST_TIMER].name, LEN_TIMER_NAME); + if(g_model.timers[idx-MIXSRC_FIRST_TIMER].name[0] != '\0') { + strncpy(dest,g_model.timers[idx-MIXSRC_FIRST_TIMER].name, LEN_TIMER_NAME); dest[LEN_TIMER_NAME] = '\0'; } else { From 6b596602251699d8fe468aa44ea28f87d4a7c4eb Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Wed, 16 Jun 2021 22:31:41 +0200 Subject: [PATCH 03/13] Fixed trainer special function parameter assignement Resolves #203 --- radio/src/gui/colorlcd/special_functions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/special_functions.cpp b/radio/src/gui/colorlcd/special_functions.cpp index 92de8cc49..5c79687e0 100644 --- a/radio/src/gui/colorlcd/special_functions.cpp +++ b/radio/src/gui/colorlcd/special_functions.cpp @@ -109,7 +109,7 @@ class SpecialFunctionEditPage : public Page STR_VALUE); auto choice = new Choice(specialFunctionOneWindow, grid.getFieldSlot(), 0, - NUM_STICKS + 1, GET_SET_DEFAULT(CFN_PARAM(cfn))); + NUM_STICKS + 1, GET_SET_DEFAULT(CFN_CH_INDEX(cfn))); choice->setTextHandler([=](int32_t value) { if (value == 0) return std::string(STR_STICKS); From eacc6e04ffd9993a886acb8ce8def8710859325b Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 17 Jun 2021 08:29:45 +0200 Subject: [PATCH 04/13] [Color] make it a slow disco on telemetry screen Resolves #234 --- radio/src/gui/colorlcd/model_telemetry.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/model_telemetry.cpp b/radio/src/gui/colorlcd/model_telemetry.cpp index 0803eb61b..e7c02f977 100644 --- a/radio/src/gui/colorlcd/model_telemetry.cpp +++ b/radio/src/gui/colorlcd/model_telemetry.cpp @@ -79,7 +79,7 @@ class SensorButton : public Button { { TelemetryItem &telemetryItem = telemetryItems[index]; - if (telemetryItem.isFresh()) + if (telemetryItem.isAvailable()) dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, HIGHLIGHT_COLOR); else dc->drawSolidFilledRect(2, 2, rect.w - 4, rect.h - 4, FIELD_BGCOLOR); From 87610b8449e6741f0f824e96d0bd962dbec2f3c8 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 17 Jun 2021 08:37:13 +0200 Subject: [PATCH 05/13] Fixed logical switch V2 edit value range Resolves #231 --- radio/src/gui/colorlcd/model_logical_switches.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/model_logical_switches.cpp b/radio/src/gui/colorlcd/model_logical_switches.cpp index 90b900562..16b6a6ec1 100644 --- a/radio/src/gui/colorlcd/model_logical_switches.cpp +++ b/radio/src/gui/colorlcd/model_logical_switches.cpp @@ -168,7 +168,7 @@ class LogicalSwitchEditPage: public Page new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V2); int16_t v2_min = 0, v2_max = 0; getMixSrcRange(cs->v1, v2_min, v2_max); - v2Edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), 0, MAX_LS_DELAY, GET_SET_DEFAULT(cs->v2)); + v2Edit = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), v2_min, v2_max, GET_SET_DEFAULT(cs->v2)); v2Edit->setDisplayHandler([=](BitmapBuffer * dc, LcdFlags flags, int32_t value) { drawSourceCustomValue(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, cs->v1, (cs->v1 <= MIXSRC_LAST_CH ? calc100toRESX(value) : value), flags); }); From b3289ae5d4b68d5bd5970c05ef71c0989a2293f8 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 17 Jun 2021 08:41:12 +0200 Subject: [PATCH 06/13] Fixed T2 / T3 display Resolves #232 --- radio/src/gui/colorlcd/view_main_decoration.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/colorlcd/view_main_decoration.cpp b/radio/src/gui/colorlcd/view_main_decoration.cpp index 16bc8cdfd..19684d928 100644 --- a/radio/src/gui/colorlcd/view_main_decoration.cpp +++ b/radio/src/gui/colorlcd/view_main_decoration.cpp @@ -300,8 +300,8 @@ void ViewMainDecoration::createTrims() VERTICAL_SLIDERS_HEIGHT }; - trims[TRIMS_LV] = new MainViewVerticalTrim(this, r, 1); - trims[TRIMS_RV] = new MainViewVerticalTrim(this, r, 2); + trims[TRIMS_LV] = new MainViewVerticalTrim(this, r, 2); + trims[TRIMS_RV] = new MainViewVerticalTrim(this, r, 1); } void ViewMainDecoration::createFlightMode() From 64e2b25a1fe0a605fe933913d3b2b2150e5c8104 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 17 Jun 2021 08:50:19 +0200 Subject: [PATCH 07/13] Fixed layout update when "Mirror" option is changed Resolves #230 --- radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp b/radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp index c3a93ca1b..6be71f9d1 100644 --- a/radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp +++ b/radio/src/gui/colorlcd/layouts/layout_factory_impl.cpp @@ -89,7 +89,8 @@ void Layout::adjustLayout() (hasTopbar() ? 1 << 0 : 0) | (hasSliders() ? 1 << 1 : 0) | (hasTrims() ? 1 << 2 : 0) | - (hasFlightMode() ? 1 << 3 : 0); + (hasFlightMode() ? 1 << 3 : 0) | + (isMirrored() ? 1 << 4 : 0); if (checkSettings == decorationSettings) { // everything ok, exit! From d02298c61c92a84b5288e430206917348c6c17da Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 17 Jun 2021 09:03:00 +0200 Subject: [PATCH 08/13] Fixed menu body height Resolves #211 --- radio/src/thirdparty/libopenui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 6b661c490..3c280f84c 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 6b661c4907bcafc08436e5c96fc5a38e9eb6e499 +Subproject commit 3c280f84cef56f84044c76d8aacea0d5e1bc8278 From f2ecce322dca389a3d1d1c8f787a80e811fdf161 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 17 Jun 2021 18:57:30 +1000 Subject: [PATCH 09/13] Update github issue templates, prune some OTX files --- .github/FUNDING.yml | 12 - .github/ISSUE_TEMPLATE/bug.md | 12 +- .github/ISSUE_TEMPLATE/help.md | 15 +- .github/ISSUE_TEMPLATE/newfeature.md | 5 +- CREDITS.txt | 2269 -------------------------- 5 files changed, 13 insertions(+), 2300 deletions(-) delete mode 100644 .github/FUNDING.yml delete mode 100644 CREDITS.txt diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index fdb7dc9f4..000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,12 +0,0 @@ -# These are supported funding model platforms - -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -otechie: # Replace with a single Otechie username -custom: ['PayPal.Me/opentx'] diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index c3483d818..4940fc9a8 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -1,6 +1,6 @@ --- name: Bug report -about: Create a report to help the OpenTX team to improve OpenTX +about: Create a report to help the EdgeTX team to improve EdgeTX --- *Before submitting, search the open issue if there is already a report of the bug* @@ -14,10 +14,6 @@ A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error **Expected behavior** A clear and concise description of what you expected to happen. @@ -26,6 +22,6 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **General information** - - OpenTX version (e.g. 2.1.23 or N123) - - Hardware (e.g. Frsky X9D+ or 9X Pro) - - OpenTX Companion (e.g. 2.1.23 on Ubuntu 16.04) + - EdgeTX version (e.g. 2.4.0 or nightly and #commit number) + - Hardware (e.g. Frsky X9D+ or RM TX12S) + diff --git a/.github/ISSUE_TEMPLATE/help.md b/.github/ISSUE_TEMPLATE/help.md index d50dfab6f..462ca6849 100644 --- a/.github/ISSUE_TEMPLATE/help.md +++ b/.github/ISSUE_TEMPLATE/help.md @@ -1,16 +1,13 @@ --- name: Help -about: Problems or question of using OpenTX +about: Problems or question of using EdgeTX --- -The issue tracker here is for devlopment of OpenTX. This is not a +The issue tracker here is for devlopment of EdgeTX. This is not a support site, only a bug tracking system. Please use support groups -like [rcgroups](https://rcgroups.com/) or -[openrcforum](https://www.openrcforums.com/forum/). See also our -[manual](https://opentx.gitbooks.io/manual-for-opentx-2-2/). +like [rcgroups](https://rcgroups.com/), [Discord](https://discord.gg/wF9wUKnZ6H) +or [Facebook](https://www.facebook.com/groups/edgetx). -For quick questions you can also join our general chat. - -Issues that fall into the category of asking for help, will be -generally closed as invalid without an answer. +Issues that fall into the category of asking for help may be re-directed +to the other support platforms or answered directly if time permits. diff --git a/.github/ISSUE_TEMPLATE/newfeature.md b/.github/ISSUE_TEMPLATE/newfeature.md index d5bf365fc..811b0cb21 100644 --- a/.github/ISSUE_TEMPLATE/newfeature.md +++ b/.github/ISSUE_TEMPLATE/newfeature.md @@ -1,9 +1,10 @@ --- name: Feature request -about: Suggest an idea for this project to make OpenTX even better +about: Suggest an idea to make EdgeTX even better! --- -*Before suggesting a new feature here, please search the open issue if there is already a request for the feature* +*Before suggesting a new feature here, please search the open issue if there is already a request for the feature. +You can add your comment there, or react so that we know know much interest there is in the feature request.* **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] diff --git a/CREDITS.txt b/CREDITS.txt deleted file mode 100644 index dc9dc238d..000000000 --- a/CREDITS.txt +++ /dev/null @@ -1,2269 +0,0 @@ -[Main developers] -Bertrand Songis (bsongis) -André Bernet (kilrah) -JC D. (3djc) -Michael Blandford -Damjan Adamic (projectkk2glider) -Franck Aguerre (jivarofad) -Romolo Manfredini (romoloman) -Martin Hotař (mhotar) -Maxim (Max) Paperno (mpaperno) -Arne Schwabe (schwabe) -Daniel Gorbea (dgatf) -Neil Horne (elecpower) - -[Translators] -[fr] Sebastien Charpentier (LapinFou) -[es] Daniel Gorbea (dgatf) - -[Other contributors] -Rob Thomson -Bryan J. Rentoul (gruvin) -Cameron Weeks (th9xer) -Andreas Weitl -Kjell Kernen -Gabriel Birkus -Jean-Pierre Parisy -Karl Szmutny -Michal Hlavinka -Pat Mackenzie -Michael Byrne - -[Companies and projects who have donated to OpenTX] -FrSky (monthly) -FlySky (monthly) -JumperRC (monthly) -RadioMaster (monthly) -HappyModel (monthly) -Aloft Hobbies -Jonathan Modellismo -WsTech -Aviomotive -BoltRC -Aerial Tech Hobbies -LitePilots -David Ankers (OpenPilot) -3D Robotics -RC Studio (monthly) -Craft & Theory (monthly) -OpenTX Manuals by Lothar Thole -Team BlackSheep -3DXR - -[People who have donated to OpenTX] -Mario Sette -Felice Baratto -Alessandro Mari -Gianpiero Spontina -Ingo Kuzniak -Hans-Åke Rahm -Tamas Varga -Thomas Gregg -Didier Christien -Alain Pinard -Sergio Melas -Paul Montenot -Chris Guy -Adrien Gravouille -Thomas Black -Marc Lucht -Zdenek Trojanek -Martin Hotar -Stefan Grundevik -Fabio Eboli -Federico Zotti -Albin Esbjörnsson -Kilian Hüttenhofer -Stephen Stough -Adilson Oliveira -Robert Saint Marie -Tad Leake -Andreas Weitl -Chan Lofland -Dirk Kasten -Denisov Alexander -Timo Varppee -Ondrej Hatapka -Valérie Billon -R. Scott Page -Johan Cronje -Renato Aranghelovici -Jeffrey Irvin -Kenneth Crump -Damjan Adamic -Martin Wilson -John Holdsworth -Daniel Schwartz -Dean Church (monthly) -Michael Halse -David Mark -Ted Moss -Jim Wagner -Nicola Porzi -Michael Halse -Chewytm -Espen Solbu -Mike Frizell -Bruce Jones -Stefano Airaghi -Dan Eeckhout -Alex Calderhead -Leonard MacKey -Heung Jin Choi -Mike Retterer -Keith Wood -Viljo Liukku -Eric Beier -Burt Pickard-Richardson -Helmut Renz -Rick Harms -Vincenzo Vavala -Patricia Martin -Harald Klein -Carl Petersen -Douglas Burkett -Clifford Evans -Teodor Yantchev -Jarad Berkman -Christian Schulz -Gregory J Shepherd -Michael Shellim -Ming Wang -Bernard Lukaschek -Nigel Chippindale -Mike Perkins -Ted Hammond -David Beanland -Bernd Koehler -Frédéric Duflos -Dave Fasken -Heinrich Illig -Michael Collins -Michael Manning -Craig Lorentz -André Lasseret -Felipe Alexandre de Oliveira -Brian Harris -Philippe Herbots -Rainer Nelte -Franck Bernhard -Erhard Werner -Stig Jøran Moen -Keith Hertzog -Christophe Dauvergne -Tauno Rautakorpi -Sven Assmus -Paul Dittman -Mike Matheny -Cheryl Wynne -Emay Toha -Don Nolder -André Lasseret -Filip Lowette -Arnaldo Gabella -Fiorenzo Agnelli -Michele Villa -Christophe Rodriguez -Larisa Filocamo -Hartmut Sahm -Åke Brodin -Ted Moss -Filippos Tigarakis -Chewytm -Eric Burdis -Nigel Chippindale -Michael Deasy -Stephen Stough -Kenneth Lilja -Robert Jero -Gary Bancroft -Robert Cotsford -NorthSide -George Constandinides -Robert Schonk Jr -Kevin Berkefeld -Peter Webster -Mike Matheny -Martin Sniedze -Fernando Rimoldi -Sidney Fisher -John Rodgers -Ed Pare -Thomas Kilduff -Robert Ferguson -Bryan Green -Kevin Berkefeld -Julien Michel -Krittikun Chiraphanda -Douglas Law -Alberto Scotti -Oliver Kunkel -D. Joseph Frazier -Heiko Polig -Andrew Fernie -Marco Lange -Nick McMillan -Michel Baily (monthly) -Patrick Mullen -Scott Campbell -Erich Roeder -Wayne Davy -Michael Fontenot -Willie Swanepoel -Satoru Sasaki -Tyler Darby -Nicholas Crego -Johan Moelich -Timo Esser -Brian Paddock -Jean Pierre Parisy -Norbert Martsch -Jean-Marie Guitard -Tilman Baumann -Fred Larssen -Ari Aalto -Robert Sams -Kirk Robertson -John Koontz -Jeffery Golias -Paul Robinson -Dave Matison -Mike Matheny -Pino Agostino -Graham Boucher -Nelson Noura -Joel Allamy -Philip David Martin -Sean Stephen -Bruce Mackay -Blake Spilman -Timothy Pelletier -Glen Roe (ShowMaster) -Jan Van Ooteghem -Lawrence Christensen -Leo Duflou -Bruce Wood -Arnd Feige -Tauno Rautakorpi -Steve Coley -Stefan Kiendl -Gregory Nuspel -Mitchell Brenner -Ronnnie DePrez -Ferenc Koller -Robert Sessler -Didier Lanot -Rodney Hunt -Steve Bernard -Paul Nazaroff -Gordon Ernenputsch -Ksamak -Marc Gittelman -David Poole -Ralph Sauer -Karl-Heinz Gansel -Michels Bernhard -Thomas Demmelbauer -Felice Baratto -Michael Halse -Horst Kampen -Ian Gough -Matthew Brett -Lexington S Morley -Clemens Drews -Axel Stöckle -Roberto Orsello -Richard Ruck -Hugh Caldwell -Christian Marauli -Albin Esbjörnsson -Per Esbjörnsson -Bernd Hohmann -Sławomir Juszczak -Stephen Henderson -David Morgan -Aloft Hobbies -Netanel Hobara -Cameron Galipo -Doug Schafer -Pietro Rossin -Earl Killingsworth -Victor B Wright -Terry McKinley -Марков Алексей -Offer Shmuely -Ian Lobley -Stéphane Fortas -Peter Mitrik -Thomas Majewski -ANF King -Henrik Hammarström -Kenneth Lilja -R Wells -Uwe Jordt -Harald Wilczak -Bernhard Lohmann -Ferenc Koller -Robert Ferguson -Daniel Byers -Tyler Darby -Miguel Villalpando -Kim Dong Hoon -Terry McKinley -Walter Bell -Clinton Linck -Josep Clodas Sola -Thierry Martin -Peter Mauro -Mitchell Brenner -Yak -Lluis Bullich Rañe -Steffen Rohr -Eric Jacquin -Harvest Lane -Ville Kuvaja -DK-System -Heinz Vogel -Heung Jin Choi -MMJS van der Helm -Dan Neelands -Yashiro Masayuki -Isaac Sloan -Harold Baird -Roy Bender -Bradley Murchie -Maximilian Süß -Dean Jansa -Ronald Donker -Paul Oldenkamp -Dietmar Drees -Bradley Murchie -Richard Fahie -James Kaufman -Henry Deucker -Christian Fuchs -Arold Reinders -Robert Miller -Mark Gaskievicz -Roland Müller -Frank Gewalt -Remi Viard -Reginald H Millsom -Pierluigi Sommaruga -A Harris -Stefan Grunenberg -Francisco Gutierrez Muñoz -Steve Coley -Sean Cull -Roberto Orsello -David Finger -Jean-Marie Oddo -Mike Matheny -Arron Bates -Tim Spurr -Daniel Morgan -Trent Ready -Mark Maskiell -Robert Crockford -Mark Illum -David McGuire -Martyn Coles -Jose Sobral -Heung Jin Choi -Tomasz Janiak -Fabien Gagné -Micha Ronen -Albert Blondin -Klaus Schuebel -Evening Shade Pottery -Thomas Kilduff -Sven Assmus -Markus Eberl -Nicholas Field -Harald Wilczak -John Grepps -Anthony Burbidge -Sherba Baine -Gordon Evans -Fred Figge -Uwe Kuehn -David Beatty -Aaron Stringer -Alan J Wasserman -Wolfgang Rauser -Samuel Cook -Friedrich Ipolt -Barrington Cole -Charles Lakins -Thos. O'Meara Photography -Adam Chevalier -Mike Mulligan -Serge Michaux -Robert Young -Wilco Hijink -Roy Nixon -Lexington S Morley -Daryl Dacko -Beat Zurflueh -Piotr Kundu -Kevin Berkefeld -Tomasz Klys -Mirco Didone' -Christoph Schroeter -Zdenek Trojanek -Bryan Anderson -Kamco Enterprises -Robert Bates -Robert Brown -Dennis Marinus -Ronald Van Putte -Thomas Kvitle Jenssen -Patrick Tuxbury -Istvan Magi -Sasaki Satoru -David Laburthe -Vit Jelinek -Pablo Gomez Martinez -Alan Thoren -Jack Clodfelter -William Simon -Peter Fithern -Thomas Svedman -TechFixPros -Rafael Eric Suarez Nordlow -Colin Rycroft -Emanuel Stassar -Michael Gregory -Robert Russell -Felix Kaiser -Joshua Bardwell -Davd Goodall -Leonard MacKey -Miles Kelly -Sergio Robledo -Mikael Wallbäck -Daniel Malcman -Paul Dittman -Attilio Rausse -Sidney Gates -Andrea Montefusco -Paul Luby -Donald L Webster -Kenneth Frehafer -Matthias Hase -Markus Wolf -Andrew Fazio -Stefan Künst -Stephen Adams -Tauno Rautakorpi -Frank Houvenaghel -George Neusse -Andreja Rusjakovski -Axel Stöckle -Erwin Störrle -Rodger Hopper -Fernando Cesar -Jonathan Gillis -DK-System -Lexington S Morley -Bernd Koehler -Davis RC -Pete Johnson -Patricia Martin -Florian Tschacher -Brian Spearing -Craig Hall -Joseph Case -Harald Klein -Robert Crockford -Chris Boultinghouse -Kitsew -Georgios Papadopoulos -Fourmost Products -Dennis Miller -Dave Matison -Maximilian Radig -Juan Rodriguez -Robert Sessler -John Murray -Martin Sniedze -David Poole -Manfred Delakowitz -Martijn Kruissen -Jörgen Norman -Nathan Kinney -John Godden -Larry Roper -Mike Frizell -Daniel Pospolita -Peter Herz -Don Mondrik -Paul Fram -Charles Knight -Matthew Adams -Kenneth Reed -Gary Wild -Christof Ramm -Bruno Bedard -Salih Samim Aydin -Alexander Pils -Andrew Scerbina -Donovan Bodishbaugh -Ray Dunn -Burt Pickard-Richardson -Robert Ferguson -CY Enterprise -Michel Stathakis Neto -Beat Zurflueh -Portstate Pty Ltd -Jens Hoffmann -Ricardo Santos -Jean-Francois Le Breton -Michael Deasy -Anindya Mukerjee -Emay Toha -Kamco Enterprises -Peter Mueller -Giovanni Trentini -Cecil Porter -Robert Canavan -Greg Higginbottom -Tim Walker -Spis Ltd/TurboNote -Patricia Cox -Matthew Lukes -Sabine Witte -Phillip Perry -Beat Zurflueh -Russell Stutzman -Dietmar Drees -Kenneth Ward -Jens Lochmüller -Anthony Witham -Peter Hauke -Arizona Action Photos -Francis F Dale -Willie Swanepoel -Edward Hauser -Adilson Oliveira -Joseph Ordille -Michael Shellim -Teddie Holmes -Alexandre Rault -Eric Albin -Lukas Kliment -Bernard Philippe -Bernard Delpy -Didier Klein -Arnaldo Guedes -Cyberauto Systems -John Alsbrooks -John Kearney -Christopher Borden -Marc Virgilio Ricci -Frederick Davie -Jürgen Enders -Terrence Pitts -Thomas Sandner -Marco Coltorti -Harald Wilczak -Rodney Lorimor -Richard Davis -Stephen Palmer -Michael Napolitan -Joshua Bardwell -Fred Dawson -Jim Wagner -Peter Johnson -Fredrik Lewerth -Arvin Stenersen -Daniel Morgan -Roy Nixon -Joachim Blunck -Karl-Heinz Gansel -Monrovia Mountain Enterprises -Alessandro Villa -Jan-Åke Nilsson -Matthias Rei -DVR Solutions BV -Bertrand Condevaux Lanloy -Henri Mirra -Aurélien Planiol -Kevin Caldwell -Andrew Garello -Tomasz Maziarz -Russell Flack -Fernando Rimoldi -Greg Reid -Dietmar Drees -Holger Landwehr -Arno Loehdorf -Boon Sripattha -Patrik Åkerfeldt -Alonzo Fretwell -Renjith Chandrasekharan -Ruben Gomez Hernandez -Michael Gardner -Judith Green -Timo Ruppell -John Lipscomb -Norbert Wenke -Erik Frieberg -Raimo Ruotsalainen -Brian Harris -Sebastian Blüml -Efisio Maxia -Jeff Theobald -Anthony Rizzo -Rodney Huddleston -Dietmar Drees -Jürgen Monden -David Morgan -Andrew Fernie -Donald Burke -Ronald Donker -Fredie Singh -Patrizio Simoncini -Harald Gabler -Michael Brown -Julien Gérard -Alexandre d'Alton -Peter Mergaerts -Jan Houwers -Christian Grandjean -Roger Bergevin -NorthSide -Sigmund Martinsen -Lionel Lafraise -Gisli Ofeigsson -The Gruvin9x Project -Manuel McLure -Fernando Rimoldi -Hiltenkamp Stephan -Sandeep Kishore Jain -Greg Parker -Norman Maaß -Adriano Del Ben -Justin Poole -Kenneth Harrison -Eugene LaFaille -John O'Shaughnessy -Uwe Jordt -Stuart Olson -Frédéric Devillard -Cheung Leo -Peter Webster -Jean-Claude Bachetta -Delfin Perena -Sae-wook Yoon -Focus on Excellence -Jeffery Golias -Nick Milton -Paul Zasso -Reidar Johannes Lillebotn -Handley William -Luke Williams -Michael Shellim -Brian Spearing -Derek Foster -Pasi Pitkänen -Lexington S Morley -Jeff Roberson -Volkov Victor -Bryan Anderson -Daniel Garber -Pavel Stein -RCdiy -Patrick Tuxbury -Mark Deverell -John Capell -Neil McVean -Matthew Elyash -Kerry Cochrell -Willem Aandewiel -Reg Bell -Jean Chenoz -Philippe Grand -Tauno Rautakorpi -Jeff Dillingham -Brad Kelley -Shaun Currier -Danilo Schiara -John Hennig -RK Custom Homes -Piet Teekens -Tommy Widenflycht -Johan Petrus Theophilus -Maria van Melis -Ralph Gustafson -Paul Luby -Andrew Duncan -Stephen Crowther -Edward Glover -Kelly Byrd -Brad Curtis -Wolfgang Kuhl -John Beidl -Roy Nixon -Glen Roe -CY Enterprise -Evening Shade Pottery -Gilles Dando -Patrick Richard -Justin Altemeier -Constant Dupuis -Tony Kenward -Pierre Rondel -Ernest Luguera Sanchez -Adam Brackney -Joe Baker -单 雷平 -Ben Fay -Chris Monk -Stan von Miller -Christian Krebs -Michel Motte -Graziano Rampinelli -Joe Baker -Jean-Philippe Laurent -Romain Rouzaud -Michel Garbarino -Henri Mirra -Otto Fröhlich -Thomas Cramer -Anthony Trombetta -Fernando Rimoldi -Dietmar Drees -Michal Kowalski -Ivan Correa -Modellbau -Massimo Luigi Stara -Graham Baldwin -Tomasz Rejman -Wolfgang Lang -John Greenwood -Till von Reumont -Paul Pereira Brunner -Donald L Singer -Junsun Lee -Guy Lamaison -Erwin Dulken -Mike H Dailey -Jon Cammarata -Martin Krueger -Adolfo Perogio -Sylvain Techer -Wes Warner -Kevin Caldwell -Ali Ersan Gur -Hans-Rudolf Riniker -Sébastien Boutard -Jean Chessé -Mike H Dailey -Don Polk -Roberto Orsello -Borovikov Dmitriy -John Lipscomb -Peter Glassey -Joseph Kramer -F.Javier Martinez Velasco -Claudio Piccinini -John Jackson -John Beech -Rene TraaJohn Jackson -Sebastien Charpentier (monthly) -Nigel Hendriks -Frédéric Devillard -Albert Herzog -Anindya Mukerjee -Kenny Stanberry -Tauno Rautakorpi -Mathias Krapp -Fernando Rimoldi -Wolfgang Rauser -Richard Shagam -Stephen Bailey -DK-System -Casa Kuxtal -Christopher Potts -Douglas George -Michael Banks -Jon Wiltshire -David Green -Guy Willems -Xavier Mestelan Pinon -Maik Gottschalk -Scott Sparks -John Dunning -RAD51 -Ron Powell -Alain Labonne -Carol Sills -Franck Aßmann -Larry Anderson -Mikael Wallbäck -Wes Warner -Christoffer H Henni -Donna Bayer -Garry Ogilvie -Karlheinz Sirsch -Fred Larssen -Rob Coppock -Franz Josef Hahn -Serge Ribault -Tanguy Le Moign -Barrett Powell -Patrice Lafeuille -Martin Blume -Marek Kopyto -Marco Lange -Gary Nix -Jack Oliphant -John Lever -Adolphe Montefiore -Steven De Weerdt -Håkan Berggen -Ayelet Egosi -Jean-Frederic Gaudreault -Jim Wagner -Lee Scott -Roger Keatley -Sherman Lovell -Hugh Caldwell -JB Fisher Company -Michels Bernhard -Pietro Rossin -Carsten Wache -Brock White -Steven Poretz -David Huelster -Gordon Stahl -John Mathison -Richard Duczmal -Gregory Barron -Marcel Fischer -Klas Mälman -Viljo Liukku -Eric Smith -Sven Assmus -Luke Mole -NorthSide -Hannes Mössler -James Kaufman -Lexington S Morley -Ralph Segar -Frédéric Devillard -Cory Theurer -Valentinos Zachariou -Garrett Paquette -Heung Jin Choi -Kerry Cochrell -Doug Miller -Andrzej Weydmann -Chair-man.nl -Eric Beier -Jay Warren -Marian Matej -Alastair Smith -Timothy Senecal -Dietmar Drees -Bruce Jones -Adil Busaidy -Herman Hofman -Jean Paul Michel -Peter McHenry -Julien lecoquierre -Jean-Marie Clay -Robert Nicoll -Dan Nixon -Ewald Moehring -Giovanni Carnesecchi -Paul Dumsday -Tadeusz Adamowski -Andrew Newton -Neil Horne -Kerstin Appelqvist -John Curran -Gerald Thiel -Jürg Bingisser -George Emer -Jerzy Manarczyk -Gerard Braakhuis -Nicolas Leblond -Burt Pickard-Richardson -Jiri Petrzelka -RK Custom Homes -David Semeria -Philip Lewis -William Kim -Dean Berg -Tim Spurr -Clifton Hipsher -Mike Frizell -Oliver Jacob -Pawel Stepien -Thomas Kilduff -Barry Fox -Anatoly Bakalenko -Bruce Anderson -Jeremy Cowgar -Edward Hauser -Stuart Brown -Anton Glock -Roger Ritchie -George Carnie -Philippe Stofleth -Tim Dzugan -Illia Izotov -Richard Miles -Attila Kapolnai -Gilles Dando -Denis Roussille -Olivier Anken -Michel Motte -David McDonald -Tauno Rautakorpi -Carsten Schlassa -Angel de la Dehesa Calles -Michel Garbarin -Algirdas Tamosiunas -Petr Kysela -Pascal Roux -Robert Whitfield -InTheTubeDeep -Jaromir Malek -Joe Street -Regin Poulsen -Hervé Laveyssiere -Walter Fowler -Richard Wagner -Kevin Hyman -Herald Reichel -Frederic Rouyre -David Libby -Hans Timmermans -Adrian De Zee -John Hanagan -Didier van Steensel -Julius Vicze -Cristiano Merighi -James Holley -Chris Merry -Jiri Fojtasek -Thierry Laligand -Hassouna Cherif -Fred Thijssen -Andrew Gardiner -Christian Niß -Douglas Penney -Starck Associates -Johannes Wollenweber -Fred Page -Jean Trouche -Patrick Blanc -Jean-Louis Tonnellier -Masoud -Mustafa Güven -William Waters -Joël Allamy -William Mckinstry -Jean-Jacques Pointel -Frédéric Rouyre -Jonathan Pruett -Jörg Zieren -Christopher Rhodes -Marco Strack -Stefano Boggia -Dwayne Myers -Stavros Papathanasiou -Roland Nittby -Courtney Puskas -NorthSide -Martin Polák -Ulf Reinhardt -Wolfgang Renisch -Trevor Hinze -Mohammad Zargari -Jean Pierre Bernard -Patrick Castellan -Udo Tödter -Marc J Merlin -Paul Chitonu -Wolfgang Rauser -Emmanuel Dallery -James Lyons -Tauno Rautakorpi -Gerald Peklar -Fabien Gagné -David Cox -Philip Cork -Kevin Wright -John Scott -Yves Berger -Otto Fröhlich -Kenneth Lilja -Benjamin Johnson -Brad Kelley -Michel Biancki -Lynn Laycock -Claude Godefroy -Gérald Joubert -Wayne J Podaima -Philippe Peyron -Julien Kieffer -Gregor Walter -Carlos Viegas -Roberto Orsello -Steve Murray -Marcel Schäfer -Sean Cull -Holger Bothmer -Michael Manning -Martin Risik -ZEN Computer Services -Egbert Stohlmann -Martin Peryea -Nathan James -Luis Suarez -Artur Uzieblo -InTheTubeDeep -Jaap Greve -Peter Glassey -David Reynolds -David Frazier -Donald L Singer -George Carnie -Susan Holbert -Richard Garrett -Paco Galván -Matthew Sylvester -Robert Bates -Hans-Peter Endres -Axel Stöckle -Leonard MacKey -Andrew Fernie -Mark McCoy -Damir Pooshs -Jeff Dillingham -Brent Hampton -Arkadiusz Milewski -Garry Ogilvie -Donald Porter -William Simon -Thomas Sandner -Pascal Pochard -Helmut Renz -T S Pung -Jorge Trinidad -Yeo Jonathan -David Olivier -Thierry Martin -Udo Nowakowski -Philippe Stofleth -Alain Labonne -Atam Gangaram Panday -Sajjad Rahman -Giovanni Carnesecchi -Lorenzo Frassy -Reinaldo Perez -Christian Aussillou -Christopher Potts -Eric Tremblet -Bernard Hunt -Evening Shade Pottery -Brian Cole -George McGinnis -Egid Schabl -Harold Henn -Chris VanCaeseele -Denis Novomlintsev -Pascal Amidey -Hermann Klampferer -Philippe Faure -Dean Berg -Sven Assmus -Gary Potter -Moritz Suerdieck -Eric Olivi -Jean-Jacques Pointel -Vianney Levesque -Fred Carlisle -Pierre Duvezin-Caubet -Pascal Dugué -Burt Pickard-Richardson -Robert Wilhelm -Thomas Kilduff -Hans-Rudolf Riniker -Arkadiusz Milewski -Kenneth Frehafer -Jens Ziegler -Peter Arnold -Jason Cole -Richard Vollkommer -Sherwood Drumheller -Jean-Christophe Gardaz -Igor Pongrac -James Mare -Kerry Cochrell -Florian Derriennic -HLL Vogels -Gordon Evans -Gaines Smith -Daniel Vogel -RCdiy -Joseph S Robinson -Jack Dunkley -Hannes Niethammer -Thierry Laligand -Pierre Duvezin-Caubet -Hannes Mössler -Petr Kysela -Calvin McCarthy -Piet Bomberg -Arne Johan Helle -Cees de Greef -Marc Gittelman -Scott Pritchett -Konstantinos Katsaklis -William Tortorello -Mark Maskiell -Gerald Peklar -Sidney Gates -Jörg Zander -Bryan Anderson -Stephane Monfette -Paul Poschen -Marco Lange -Peter Foto -Antonio Munuera -Vasil Petrov -Robert Wilhelm -Richard Hodgson -Manny Tau -Leonard MacKey -Johannes Wollenweber -Rodney Huddleston -Glen Roe -Chad Cranford -Tom Figge -Joerg-Dieter Rothfuchs -David Lorenzo -Chris Conroy -Fernando Wascheck -Martin Schoitsch -André Curci -Lukas Fischer -Larry Truesdale -Bernd Koehler -David Newton -Stephen Lesage -Mona Sturgis -Russell G Shanks -CY Enterprise -William Tortorello -André Lasseret -Lothar Thole -Stuart Olson -Paweł Stróż -Tim Buss -Christian Schaefer -Willyp -David Owens (monthly) -Willem Reij -Arthur Costerus -Martin Oldershaw -Robin Wienke -Jeffrey Johnson -Franz Josef Hahn -Burt Gray -Daniel Dupont -Felix Kaiser -Nicola Claudio Rossi -Gary Clayton -John Bitzer -Scott Campbell -Martin Polák -Jonathan Pruett -Charles Nowell -Randy Melton -Jo Jung -Chris Monk -Alvin Burke -Georges d'Haussy -Philippe Lhomme -Carsten Ullerup -Wolfgang Schneider-Reif -Anselm Schopplick -Georgios Papadopoulos -Thorsten Weber -Alexander Röhlich -Karl-Heinz Behn -Stefan Köhler -Jochen Kaphengst -Hans-Jüergen Duwe -Christoph Dalloz -Alexander Wimmer -Horst Efftinge -Nektarios Ntikmpasanis -Derek Gates -John Alsbrooks -Jürgen Deininger -Bruce Jones -Meinhard Schöll -Rolf Lemb -Casey Layton -Robert Bates -Udo Nowakowski -William Hallman -Paul Stein -Nurflügel & Modelltechnik -Gary Wild -James A Davey -Marco Giuseppe Colturi -Martin van Estrik -Vakhrushev Andrey -Jörgen Norman -Chen Zhongzhong -Eddie Ehlin -Evening Shade Pottery -Michel Vanaken -Forgues Research -Hike For Happiness -Vegar Elde -Anindya Mukerjee -Fabrice Debonnet -Darko Perković -Leonard MacKey -James A Davey -Matthias Häusel -Thierry Laligand -Pascal Gelis -Christelle Boudet -Damir Pooshs -Bertrand Brunner -Alexander Mathis -Jean-Luc Le Goff -Allan Abbott -Paul Elstob -Mark Levine -K L Wolfbrandt -Jeffrey Horton -Erlendur Konradsson -Dennis Miller -Шарлаимов Константин -Philippe Roussely -Michel Gutierrez -Joel Meziere -Widco Us -Marcos Guimaraes -Olivier Petri -Alfredo Mac Donald -Erich Strebel -Robert Goillandeau -Joel Lopez -Morten Myklebust -Ferenc Kunkli -Josh Kraker -Roger Bergevin -Geoff Sim -Arthur Reynolds -David Dalley -Colin Macdonald -Charles Wilson -Walter Daser -CG Tech Inc -Alexander Röhlich -Peter Goodrich -Randy Melton -Paul Pridday -Jörgen Norman -Peter Glassey -Carlos Vicente -Nael Bishtawi -Paul Dr. Willutzki -Heart of NM LLC -Ulf Hedlund -Meinolph Kaufmann -Bill Keenan -Ralf Kosel -Lukas Hucik -Uwe Jordt -Tuan Le -Burt Pickard-Richardson -Robert Rubio -Merv Dale -Michel Garbarino -Geoff Graham -Georges Pezet -Robert Wilhelm -Francis Herzog -Bo Hjeresen -Danny Koch -John Eppling -Thierry Malosse -Johann Antretter -Jan Kaiser -Rachel Berkhahn -Luca Massimiliano Comolli -Mario Wesierski -Evening Shade Pottery -Jean Desmet -Alexis Pons -Roger Bergevin -Eddie Ehlin -Bernard Avisse -Brent Warman -Tim Johnson -Reinhard Herden -Mark Hanson -Sander Helling -Anthony Hrabusicky -David Frazier -Alexander Orlov -Wes Warner -Samuel Grob -Wolfgang Kuhl -Stuart Olson -Michael Shellim -Jay Watkins -Juan Rodriguez -John Bitzer -Bryan Anderson -Claudio Piccinini -Patrick Breidenbach -Harald Puff -Mike Frizell -James A Davey -Ronald Fahlbusch -Piet Teekens -Jean Jacques Bultez -Paul Dittman -Philippe Faure -Jean-Jacques Pointel -Didier Christien -Huguette Viale -Marc Rivière -Cyril Maquaire -Nick Webb -Kristjan Crnoja -Gaines Smith -Tomasz Łapucha -Karl-Heinz Behn -Geir Atle Storhaug -Marco Lange -2 Brains Design -Philip Michels -Peter Helbling -Guy Lamaison -Michael Oeschger -Alistair Sutherland -Chris Hawley -Jeffrey Albers -Thomas Hollatz -Patrice Lafeuille -Gary Jones -Benoit Gruson -Petr Kysela -Sebastien Jehan -Jean Mathieu -Barry Andersen -James Vincent -Baker Hart -Thomas Voth -Michael Kiefer -Ronald Dalton -Thierry Laligand -Joel Lefebvre -Murray Rogers -Renato Elias -Richard Husta -Ian Ferreira -Zhang Tianyu -Josef de Beer -Ewald Moehring -Kevin Karamitros -Beat Zurflueh -Frank Morris -Edwin Butin Bik -Geir Atle Storhaug -Ted Hoenderdos -Sebastian Stefanitsch -Leif Pernstig -Michael Garofalo -Chris Sunman -Adam Kalus -Christoffer H Henni -Michael Stauning -Stuart Smith -Giuseppe Esposito -Stefano Boggia -Manuel Peon -Mark Bennett -Nicholas Platts -Carol B Meravi -Norman Hunt -Raymond Henderson -Christopher Marshall -Christopher Prinos -AntiSocial Engineering -Pierre Duvezin-Caubet -Hermann Haberer -Guy Poignonec -Robin Lauff -Renato Müller -Hannes Mössler -Cédric Lagoutte -Alexander Mathis -Barry Andersen -Philippe Glur -Felix Tang -Heiko Polig -Pierre Marty -Dirk Weiler -Eddie Ehlin -John Clarke -Laurent Thibaudet -James A Davey -Stuart Olson -claudio Piccinini -Kenneth Kriegel -Evening Shade Pottery -Raymond Henderson -Clifton Hipsher -François Carton -Olivier Portron -Didier Hochedez -Julien Gérard -Christian Syrbe -Juan Luis Guerrero Portero -Jonathan Badley -Ms Place -Heart of NM LLC -Daniele Gnesutta -Erik Peterson -SkyRaccoon -James Lummel -Jürgen Husske -Marko Domagoj Zic -Fabrice Debonnet -Ms Place -Jörg Hammer -Rapid Informatics LLC (monthly) -Renaud Perriguey -Edmond Dufresne -Jaroslav Gazik -Philippe Desrichard -Vincent Heron -Marcel Schäfer -Stefano Pascucci -Frédéric Bourgois -Stefan Hufnagl -Jean Philippe Bonacci -Jack Mitchell -Santiago Iglesias Garcia -Steve Kurywchak -Tore Skjefstad -Sergio Digiandco di Molino -Xavier Delepine -Miles Shearman -Bernard Teyssier -Entel Consulting BVBA -Stuart Olson -Maximilian Wechselberger -Kenneth Crump -Ken Elder -Darko Perković -Martin Krueger -Jack Lopes -Huguette Viale -Didier Christien -Pascal Roublot -Arnaud Sourisse -Aldo Midali -Sidney Gates -Serhiy Semenenko -Miguel Esquer Ramiro -Stefan Grunenberg -Ferenc Kunkli -Stefano Boggia -Lee Bennett -Morgantech -Marek Přikryl -Peter Scott -Ernst Camenzind -Steve Robbins -Jean Noel Berlan -Walter Szempruch -Petr Kysela -Gerhard Zdzuj -Joseph S Robinson -Zdenek Trojanek -Fred Page -Burt Pickard-Richardson -Eric Destrebecq -Derek Quigley -Lionel Lunan -Paul Dittman -Justin Delaire -Damir Pooshs -Alvin Burke -Pete Rathbun -Christophe Molliex -Ulf Hedlund -Damian Niegowski -Michae St Cyr -Ivan Pik -Rothermann, Kurt -Antinoro Ferdinando -Sam Day -Roman Rychtarik -Pierre Malriq -Jean Gaillard -Michel Garbarino -For Our Better World -Lothar Herrl -James Rhodes -Edward Glover -James Snodgrass -Dwayne Carden -Gerald Migely -Mark Schmidt -Hendrik Goessaert -Arturas Giedraitis -Paul Vernon -Rick Smith -Marcin Galczynski -Tom Knudtson -Sascha Heinrich -James Snodgrass -Alain Labonne -Darko Perković -Pierre Malriq -Donald Manson -Johannes Ferschl -Piotr Wysocki -Thomas Halenbeck (monthly) -Sjoerd Dost -Ralph Gustafson -Herbert Feix -Robert Costford -Taavi Tuisk -Carlos Quian -Noah Reinhart -Timothy Fry -Marc Stelzner -NXGRAPHICS -AIR-RC -Nicolas Deshaies -Jean-Francois Delhove -Hugo Daniel Farneti -RC electronic products -Adrian Andrei -Henk van de Kerkhof -Daniel Dubovski -Hans-Georg Böhm -Tiberiu Atudorei -Alessandro Apostoli (Yaapu!) -Kenneth Bonerigo -Frits van Voorst -Steven Dodge -Christian Buchinger -Patrick Blanc -Darrell Carew -Philippe Faure -Marco Lange -Aaron Tygart -Frantisek Vajbar -Mike Perkins -Knut Einar Kristensen -Georgios Papadopoulos -He Liu -Andrias Thomsen -Alain Azais -Alan Stuart -Fernando Rimoldi -James Snodgrass -Diego Mendoza Gonzalez -Dale Wheeler -Nico Wagner -James A Davey -Peter Glassey -Jeff Dillingham -Don Crowe -Nicola Claudio Rossi -Fabien Leroy -Tyler Nelson -Stuart Olson -Reinhard Plietsch -Manuel Spoerri -Paul Pearson -Thierry Laligand -Bruno Mexique -Uwe Jordt -Markus Goelzner -Jean-Claude Etiemble -Wojciech Winiarski -Michael Fleming -Russell G Shanks -Mike Sedgwick -William Goodrich -Marcel Schäfer -Joseph Santa Cruz -Gerald Roedel -James D McKeown -鄭 淳中 -Matthias Wuethrich -Michael Tessler -John Beech -Stefan Möst -Thomas McGraw -Bruno N Russo Jr -Daniel Eikenkötter -Guy Poignonec -Gérard Falaise -Jacques Loubier -Kelly Warner -James Cox -Sidney B Harden -CG Tech Inc. -Richard Gopstein -Francesco Ziche -Jean Paul Duroch -Romane Oughlissi -Alexander Maciol -Udo Kastenholz -Jacek Wielogórski -Siegfried Preißler -Bernard Mohamedaly -John North -Thomas Wormsley -Michael Schreiber -DTg Privat -Frédéric Devillard -Lauland Bourg -Jurij Peternel -Murray King -Horia Adrian Bucovanu -Freddy Prousteau -Wojciech Winiarski -James A Davey -James Donelson -David Jolly -Domingos S. Fonseca M. -Kenneth Frehafer -Christian Epple -David Williams -Michael Bernard -Michael Wagner -Carl Pennington -LTR Consulting -Norman Brisson -Darko Perković -Andreas Fischer -Pablo Peinado Abad -NthWave Web Works -Simon Brenner -Joseph Litko -Bradley Murchie -William Cessna -Justin Farnsworth -James Snodgrass -Peter Schneider -Norman Schenck -Boris Hemmer -Gilles Arbona -Patrice Germain -Mart Rogers -Stefan Möst -John Beech -John Rodgers -Stanton Sweet -Peter Suphan -FGS -Outward Ideas -Sylvie Le Madec -James Houck (monthly) -Frank Steinmetz -Gary Garland -Stefano Boggia -Jean-Jacques Pointel -Ferenc Kunkli -Sven Müller -Taavi Tuisk -Thomas Floyd -Matthew LePard -Peter Schneider -Michel Garbarino -Achim Stolze -Fernando Rimoldi -Bernard Delpy -Daniel Dubovsky -Jonathan Starch -Coolwind -Benoit Pichereau -Darko Perković -Burt Pickard-Richardson -Roland Nittby -Frank Barbas -Scott McCoy -Fabrice Debonnet -James Laver -Kevin Bowens -David Frech -Udo Kastenholz -Julio Margarido -Uwe Muendelein -James Jewitt -Daniel Ferreira -Michael Charlston -Leopoldo Cicero -Tom Van Driel -Karl Vetter -Johannes Janssen -François Blondé -Precision Aero -Thomas Håkansson -Gordon Evans -Benny Simonsen -George Kennedy -Stefano Boggia -Maksym Arshynkin -Tomas Sodergren -Jörg Lemnitz -TMac FPV -Josef Schaeffler -Mike Frizell -MeCodeGoodSomeday -Timothy Fry -John Beech -Wojciech Winiarski -Armin Kuepfer -Alain Bregand -James Thompson -Dautremépuis Benoit -Adriano Emanuele Figliola -Stefano Bortolotti -Gerald Zierer -Alessio Noto -Walter Fowler -Robert Black -Klaus Kernstock -Michael Wittich -AG-Software -Dietmar Drees -Winfried Goers -Steve Schoonover -N. Haasnoot (monthly) -Wolfram Bahmann -Florian Reck -Gary Bancroft -Karl-Heinz Behn -Stuart Godsmark -Josko Povse -David Reese -Paul Pearson -Stuart Olson -Pierre Connan -Henk Eeltink -Robert Miller -George Walker -Александр Щитов -Heiko Polig -Gary Wild -Peter Sarcher -Steve Schoonover -Francisco Orcera Exposito -Alan Powell -Martin Eriksson -Wayne J Podaima -Tom Wilkinson -Fred Ceratt -Stefan Grunenberg -Aram Parsamyan -Wolfgang Rauser -John Wall -Martin Haggas -Denis Kelly -James Houck -Brian Stephanik -William McNeice -Sven De Boeck -SB Europe Ltd -Evening Shade Pottery -D van Oostveen -Michael Grosso -Carlos Marcal -d@taweb -Justin Digby -Hermann Vocat -Michael Francini -Michael Chambers -Harold H Youngren -Yann Orselli -Dieter Schaad -Ernst Camenzind -Ciobanu Rivelino Costel -David Jolly -Aram Parsamyan -Stewart Davies -Karsten Schwarz -Robert Mckay -Michael Oeschger -Randy Ling -Jonathan Wise -David Gardner -Christophe Judas -Lachlan Peters -Patrick C Kutschke -Thomas Halenbeck -Barry Wright -Nicolas Ducher -Giampiero Sintoni -Sidney B Harden -John Moody -Sylvain Cubizolles -Adam Kouse -FCG Kas -Dennis Marinus -James Donelson -Stefan Hassler -Reinhard Prix -Jeffrey Johnson -Michael Conway -Ryan Buffington -Thomas Horns -Michael Carnes -William Hallman -James Snodgrass -Michal Mesaros -James Lindner -Laurence Gerrard -Nico Wagner -Christoph Rössner -Ruben Flores -Jim Cukla -Lee Taylor -Stefan Kuster -Barry Wright -Steven Gilley -Lloyd Evans -Nolan O'Hearne -Jeffrey James N Buffie -James Houck -Andreas Arlt -William Walker -Salvador Munoz Vinas -Chris Geiger Photography -John F Smith -Robert Zecha -Fernando Martins -Martin Brungard -Paul Witko -Michael Campbell -Stuart Posnett -PK Doddema -Leonard MacKey -Andrew Peterson -Dominik Sedlacek -Ronald Hellstern -Vicente Suarez -Patrick Geerts -Rossi Giampaolo -Jose Luis Franco Torres -Bart Sillen -Antonio Moreno -Carolina Carcione -Lonnie Misner -John Eppling -Phillip Elliott -Robin Bayer -Jurij Peternel -George Aandahl -Guy Dangerfield -Thomas Limpert -Ismael G Zapater -Alan Hall -Bradley Goodwin -Paul Dittman -John Johnson -Liam Mahoney -Joseph Carr -Fiorenzo Agnelli -Brian Ramsey -Angelo Movio -Weldon Parks -Simon Brink -Weldon Parks -Ralf Herzenbruch -Ashley Pearce -SneakIT -Soaring Stuff -Jörg Lemnitz -Johann Gross -Mark Gibson -Rendall Assoc -Cozyn Holdings Pty Ltd -Tim Karsten -Nick Hesson -Laurent Lapassade -Peter Deacon -Gilles Dando -Philippe Desrichard -Jón Haase -Michael Hansen -Sylvain Vanston -Helmut Nemecek -Alexander Mathis -Jay Watkins -Patrice Oudjaoudi -Didier Hochedez -Robert Hunter -Christophe Gilsoul -Lincoln Roberts -Johan Jurriens -Michael Ledward -Dave Waldesbuehl -Dale Rhoads -Denis Kelly -SBEurope LTD -Jean-Louis Mouche -Grant Mills -Fernando Rimoldi -Jim Cukla -Tomas Kirnak -Raymond Henderson -James Jewitt -Martin Sauter -Philip Hawkey -Lonnie Misner -Michael Hirschauer -Brian Bracken -Stuart Olson -Terry McKinley -Miklos Turcsin -Edward Skerness -Stefano Perinetti -Toni Marchante -Stuart Olson -Peter Campbell -Keith Wood -Leo Duflou -Michael Florey -Gerhard Weixelbaumer -Peter K Lehotsky -Elisha Jones -Joerg Sattler -paul42 -Pascal Heg -Bjorn Sorenssen -Chris Payne -Pascal Afflard -Robert Boboryko -Chris Whitehead -David Bradley -Ian Lever -Phillip Barber -Jan Bronee -N Haasnoot -Rick Smith -Randall Grant -Patrick Degouy -Piotr Zdanowski -David Gardner -TMac FPV -Bernard Thompson -Mark Sutton -Darren J Crane -Michael Keyes -Magnus Borg -David Lorentzen -Antony Smith -Aleksandr Sarkisov -Johannes Kuhne -Kathleen Cilluffo -David Hoffmann -Alan Porter -Arlé Mooldijk -Tenbones -Kim Bitsch Lauridsen -Arthur Costerus -Peter Harvey -John Simpson -Landy de los Santos -Graham Ridley -Schenk Peter -Joseph Rex -Richard Honeywell -Roy Nixon -Andrew Shewan -David Bradley -Alan Micklethwaite -Susan Siegel -Stephen Evans -William Hallman -Franck Michel -László Gajcsi (monthly) -Danny Koch -Robert Martin -Gavin Meerwald -Frédéric Maix -Frank Steinberg -Kevin Berkefeld -Marccos Colon -Kerry Reynolds -Kim Jeppesen -Arthur Peters -Andrew Lowes -Anthony Hallo -Bill Hill -Gerard Falaise -Kevin Raynor -Lorenzo gh -Jan Landeweer -David Bland -Manuel Spoerri -Jeff Jacobs -David Thorne -Maddox Philip -James Jewitt -Justin Digby -John Magnuson (monthly) -Holger Lippert -Hubert Huber -David Blum -Noam Kfir -Mats gårdstad friberg -Jesper Frickmann -Alan Bunker -Emanuel Kircher -Barry Andersen -Gabriel Formanek -Timothy Justiniano -Kelvin Garcia Urbina -Jan Lau -Choon Wei Jonathan Tan -Daniel Navas -Ray Moss -Markus Frielingsdorf -Michael Hirschauer -Jesse Frey -Philipp Koch -Robert Rubio -Dennis G Miller -Leonardo Garcia Osuna -Antonio Carrasco Pastor -Musa Pinar -Jens Moder -Josef de Beer -Chad Mofford -Pim Pouw -Kenth Jonsson -Gordon Westfall -Jean-Michel Saves -Roberto Orsello -Luboš Konvalinka -Lawrence Dorn -Michael Dittmann -Bernd Schmiedel -Raoul Piccioli -Uwe Probst -Glendon Satchell -Trevor Collins -Horst Grashauser -Miguel José Cárdenas Herrera -Mike Jennings -José Bernardo -Carlos Dangle -Gordon Evans -Pablo Peinado Abad -Carl Payne -Adam Sosnowski -Гасак Сергей -SaltCtyRacingFPV -Georg Bernhardt -James Mildenhall -Dave Plummer -Ivan Mokris -Patrick Daniels -Stuart Olson -Cory Znebel -Andrey Yarovoy -Christian Pons -Burt Pickard-Richardson -Michal Mesaros -Conrad Young -Martin Mathes -Jens Rainer Hansen -Mark Trible -Marc Dubois -Alan Wilkins -Daniel Hryciuk -Thomas Fox -Sidney B Harden -Augustas Sereika -David Belletete -Karl-Heinz Behn -Lena Hjort -Jan Langhorst -Alberto Scotti -John Rock -Adam Kouse -Ricardo Martins -Noel Irwin -Christoph Rausch -Anthony Hrabusicky -Sergio Tondini -Aldo Visentin -Greg Wilson -Mark Sutton -Lukas Kana -Peter Newman -Kevin Cave -Arold Reinders -Jason Plant -John Beech -Ian Parris -Danny Music -Eric Bissonnette -Riso LTD -William Booth -Ferenc Kunkli -Offer Shmuely -Troy Atneosen -Long Technologies -John Jaugilas -Jan-Hinrich Klee -Hans-Reinhard Mette -Alejandro Casals Oliver -David Homewood -John Dunning -Konrad Helbach -Bernard Delpy -Raymond Ellsworth -Bogdan Musial -Гасак Сергей -Philip Garcia -Helder Simoes -Thomas Blanchin -Jean-Luc Mesnier -Michael Bajer -David Homewood -Marc Sanders -Буров Александр -Rudy T'Jolleyn -Jay Watkins -Blaz Vodopivec -David De Salvo -Willem Verschoren -Dennis Kathrens -Alan Aucote -Richard Jerome Danstrom -David Garcia-Mendia -Mark Jones -John Zseleczky -Xiao Sun -Glenn Harvey -Albrecht Friebel -Gunter Klemke -Travis McCarthy -Franz Zier -Ian Contessa -Sean Sadler -Richard F Janczak -Mateusz Dziadosz -Thomas Merchant -M L Perkins -Stefano Boggia -Новоселов Юрий -James Rhodes -Peter Gaskill -Jacques Temey -Anthony Challis -Gerard Falaise -George McGinnis -Antoine Soulie -Tjeerd Jager -Bertold Van den Bergh -Stefanie Zerbe -James Mandelbaum -Javier J. Cordovez -Jess Barkley -Schneider Modell -Michael Hasselgaard -Thomas Young -Непочатов Алексей -Thomas Goebel -Joseph Macias -Paw Melin-Nielsen -Liam O'Brien -Ronald B Backman -Corvus Inspection Services Inc -Stuart Posnett -Clark Emerick -Helmut Sippel -Jhon Lennon Silva do Nascimento -Peter McCarthy -Bob Brown -Claude Lawyer -Peter Fithern -Michael Hoffman -Tim Smith -OpenSki Institute -Simon Melov -Richard Podolsky -James Wilson -John Norrbin -James Goins -Phillip Nguyen -Jeffrey M Engel -Richard Marotto -Greg Bell -Scott Geer -Thomas Abshier -Ernst Camenzind -Radomir Sterba -Ignacio Barrio -Bradley Murchie -Emmanuel Balintec -Rowell Torres -Christopher Kokis -Ken Bryan -Eric Yoder -Olav Roth -Rowell Torres -Christopher Kokis -Ken Bryan -Glenn Noonan -Michael Jakob -Dean Berg -David Hankins -Gary Cripps -Devin Crumb -Daniel Naude -James Miller -Pascal Cayol -eDefine -Mario Sette -Hans-Georg Böhm -Robert Oats -Helmut Suhrbier -Johannes Vorster -Deon du Rand -Stephen Hill-Harriss -Regi Pradeeswaran -Gary Busler -Stefano Boggia -Vernon Martin -Alexander W Wilson Jr -Adam Bowersock -Gary Burrows -Mark Gaskievicz -James Miller -Donald Taylor -Paul Makepeace -Thomas Fowler -Walter Szempruch -Charles Starck -Fabian Mächler -David Van Dyne -Karim el Mawardi From 8e758e499406402a5a66717de8d11e8af7cc0008 Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 17 Jun 2021 19:03:55 +1000 Subject: [PATCH 10/13] CI should ignore changes to issue templates --- .github/workflows/actions.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/actions.yml b/.github/workflows/actions.yml index a4dff18f0..c50d5fa85 100644 --- a/.github/workflows/actions.yml +++ b/.github/workflows/actions.yml @@ -6,11 +6,13 @@ on: - '2.4' paths-ignore: - '**.md' + - '.github/ISSUE_TEMPLATE/**' pull_request: branches: - '2.4' paths-ignore: - '**.md' + - '.github/ISSUE_TEMPLATE/**' jobs: test: From 7e28102dab0bc63b287f1111976769acf11fa0fc Mon Sep 17 00:00:00 2001 From: Risto Date: Thu, 17 Jun 2021 19:56:25 +0200 Subject: [PATCH 11/13] Is not for WSL/WSL2 Added comment that this script is for bare-metal or virtualized Ubuntu installations only. Does NOT run under WSL or WSL2. --- tools/setup_buildenv_ubuntu20.04.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/setup_buildenv_ubuntu20.04.sh b/tools/setup_buildenv_ubuntu20.04.sh index e7b38719b..cce914737 100644 --- a/tools/setup_buildenv_ubuntu20.04.sh +++ b/tools/setup_buildenv_ubuntu20.04.sh @@ -1,6 +1,7 @@ #! /usr/bin/env bash -## Bash script to setup EdgeTX v2.4 development environment on Ubuntu 20.04. +## Bash script to setup EdgeTX v2.4 development environment on Ubuntu 20.04 running on bare-metal or in a virtual machine. +## Does NOT work with WSL/WSL2 under Windows 10! ## Let it run as normal user and when asked, give sudo credentials PAUSEAFTEREACHLINE="false" From a49abcf19fd40d0e7b35965141720e595ad442d9 Mon Sep 17 00:00:00 2001 From: rotorman Date: Thu, 17 Jun 2021 22:50:54 +0200 Subject: [PATCH 12/13] Re-created blank credits to allow building Companion and Simulator binaries for now, until a better solution is available. See #242 --- CREDITS.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 CREDITS.txt diff --git a/CREDITS.txt b/CREDITS.txt new file mode 100644 index 000000000..e69de29bb From 384130583d19e871165f542b8b23df4014dc2a21 Mon Sep 17 00:00:00 2001 From: Peter Feerick Date: Fri, 18 Jun 2021 11:11:07 +1000 Subject: [PATCH 13/13] Finish ripping out `credits.txt` by removing from `companion24` --- CREDITS.txt | 0 companion/src/CMakeLists.txt | 2 - companion/src/companion.qrc | 1 - companion/src/creditsdialog.cpp | 135 -------------------------------- companion/src/creditsdialog.h | 62 --------------- companion/src/mainwindow.cpp | 18 +---- companion/src/mainwindow.h | 2 - radio/src/thirdparty/libopenui | 2 +- 8 files changed, 4 insertions(+), 218 deletions(-) delete mode 100644 CREDITS.txt delete mode 100644 companion/src/creditsdialog.cpp delete mode 100644 companion/src/creditsdialog.h diff --git a/CREDITS.txt b/CREDITS.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 4e8f11ca5..b022c3bcf 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -223,7 +223,6 @@ set(companion_SRCS burnconfigdialog.cpp multimodelprinter.cpp comparedialog.cpp - creditsdialog.cpp releasenotesdialog.cpp releasenotesfirmwaredialog.cpp customizesplashdialog.cpp @@ -257,7 +256,6 @@ set(companion_MOC_HDRS comparedialog.h printdialog.h logsdialog.h - creditsdialog.h releasenotesdialog.h releasenotesfirmwaredialog.h customizesplashdialog.h diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index c76418135..5c231c5a2 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -2,7 +2,6 @@ images/customize.png images/icon.png - ../../CREDITS.txt ../releasenotes.txt images/screenshot.png images/splash.png diff --git a/companion/src/creditsdialog.cpp b/companion/src/creditsdialog.cpp deleted file mode 100644 index 29b6b79bc..000000000 --- a/companion/src/creditsdialog.cpp +++ /dev/null @@ -1,135 +0,0 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#include "creditsdialog.h" -#include "ui_htmldialog.h" -#include "helpers.h" -#include - -CreditsDialog::CreditsDialog(QWidget * parent): - QDialog(parent), - ui(new Ui::HtmlDialog) -{ - ui->setupUi(this); - - setWindowTitle(tr("OpenTX Contributors")); - setWindowIcon(CompanionIcon("contributors.png")); - - QString str = "" \ - "" \ - " " \ - "" - ""; - - foreach(CreditsSection section, readCredits()) { - str.append(formatTable(sectionTitle(section.title), section.names, 3)); - } - - str.append("" \ - " " \ - "
 
" + tr("Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)") + "
"); - -#if 0 - QFile blacklist(":/BLACKLIST.txt"); - if (blacklist.open(QIODevice::ReadOnly | QIODevice::Text)) { - QStringList names; - names << blacklist.readAll(); - str.append(formatTable(tr("OpenTX Blacklist"), names, 1)); - } -#endif - - str.append(""); - ui->textEditor->setHtml(str); - ui->textEditor->scroll(0, 0); - ui->textEditor->setOpenExternalLinks(true); -} - -CreditsDialog::~CreditsDialog() -{ - delete ui; -} - -QList CreditsDialog::readCredits() -{ - QFile credits(":/CREDITS.txt"); - QList result; - if (credits.open(QIODevice::ReadOnly | QIODevice::Text)) { - while (!credits.atEnd()) { - QByteArray line = credits.readLine().trimmed(); - if (line.size() >= 2) { - if (line.startsWith("[") && line.endsWith("]")) { - result.push_back(CreditsSection(line.mid(1, line.size() - 2))); - } else { - result.back().addName(line); - } - } - } - } - return result; -} - -QString CreditsDialog::sectionTitle(const QString & title) -{ - if (title == "Main developers") - return tr("Main developers"); - else if (title == "Translators") - return tr("Translators"); - else if (title == "Companies and projects who have donated to OpenTX") - return tr("Companies and projects who have donated to OpenTX"); - else if (title == "People who have donated to OpenTX") - return tr("People who have donated to OpenTX"); - else - return tr("Other contributors"); -} - -QString CreditsDialog::formatTable(const QString & title, const QStringList & names, int columns) -{ - const float cwidth = 100.0 / columns; - QString str = "" \ - " " \ - " " \ - "
 
" + title + "
"; - - str.append(""); - - int column = 0; - foreach(QString name, names) { - if (column == 0) { - str.append(""); - } - QString trclass = name.contains("monthly") ? "bold" : "normal"; - str.append(QString("").arg(cwidth).arg(trclass).arg(name.trimmed().replace("monthly", tr("monthly")))); - if (++column == columns) { - str.append(""); - column = 0; - } - } - - if (column != 0) { - str.append(""); - } - - str.append("
%3
"); - return str; -} diff --git a/companion/src/creditsdialog.h b/companion/src/creditsdialog.h deleted file mode 100644 index c1327aeea..000000000 --- a/companion/src/creditsdialog.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) OpenTX - * - * Based on code named - * th9x - http://code.google.com/p/th9x - * er9x - http://code.google.com/p/er9x - * gruvin9x - http://code.google.com/p/gruvin9x - * - * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ - -#ifndef _CREDITSDIALOG_H_ -#define _CREDITSDIALOG_H_ - -#include - -namespace Ui { - class HtmlDialog; -} - -class CreditsDialog : public QDialog -{ - Q_OBJECT - - class CreditsSection - { - public: - CreditsSection(const QString & title): - title(title) - { - } - - void addName(const QString & name) - { - names.push_back(name); - } - - QString title; - QStringList names; - }; - - public: - explicit CreditsDialog(QWidget * parent = 0); - ~CreditsDialog(); - - private: - Ui::HtmlDialog * ui; - QList readCredits(); - QString sectionTitle(const QString & title); - QString formatTable(const QString & title, const QStringList & names, int colums); -}; - -#endif // _CREDITSDIALOG_H_ diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 23c5f71b7..deb9652da 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -29,7 +29,6 @@ #include "downloaddialog.h" #include "printdialog.h" #include "version.h" -#include "creditsdialog.h" #include "releasenotesdialog.h" #include "releasenotesfirmwaredialog.h" #include "customizesplashdialog.h" @@ -868,13 +867,6 @@ void MainWindow::fwPrefs() dialog->deleteLater(); } -void MainWindow::contributors() -{ - CreditsDialog * dialog = new CreditsDialog(this); - dialog->exec(); - dialog->deleteLater(); -} - void MainWindow::sdsync() { // remember user-selectable options for duration of session TODO: save to settings @@ -1230,8 +1222,7 @@ void MainWindow::retranslateUi(bool showMsg) trAct(burnConfigAct, tr("Configure Communications..."), tr("Configure software for communicating with the Radio")); trAct(writeBUToRadioAct, tr("Write Backup to Radio"), tr("Write Backup from file to Radio")); trAct(readBUToFileAct, tr("Backup Radio to File"), tr("Save a complete backup file of all settings and model data in the Radio")); - trAct(contributorsAct, tr("Contributors..."), tr("A tribute to those who have contributed to OpenTX and Companion")); - + trAct(createProfileAct, tr("Add Radio Profile"), tr("Create a new Radio Settings Profile")); trAct(copyProfileAct, tr("Copy Current Radio Profile"), tr("Duplicate current Radio Settings Profile")); trAct(deleteProfileAct, tr("Delete Current Radio Profile..."), tr("Delete the current Radio Settings Profile")); @@ -1306,8 +1297,7 @@ void MainWindow::createActions() aboutAct = addAct("information.png", SLOT(about())); openDocURLAct = addAct("changelog.png", SLOT(openDocURL())); changelogAct = addAct("changelog.png", SLOT(changelog())); - contributorsAct = addAct("contributors.png", SLOT(contributors())); - + // these two get assigned menus in createMenus() recentFilesAct = addAct("recentdocument.png"); profilesMenuAct = addAct("profiles.png"); @@ -1315,7 +1305,6 @@ void MainWindow::createActions() exitAct->setMenuRole(QAction::QuitRole); aboutAct->setMenuRole(QAction::AboutRole); appPrefsAct->setMenuRole(QAction::PreferencesRole); - contributorsAct->setMenuRole(QAction::ApplicationSpecificRole); openDocURLAct->setMenuRole(QAction::ApplicationSpecificRole); checkForUpdatesAct->setMenuRole(QAction::ApplicationSpecificRole); changelogAct->setMenuRole(QAction::ApplicationSpecificRole); @@ -1402,8 +1391,7 @@ void MainWindow::createMenus() helpMenu->addSeparator(); helpMenu->addAction(changelogAct); helpMenu->addSeparator(); - helpMenu->addAction(contributorsAct); - + recentFilesMenu = new QMenu(this); recentFilesMenu->setToolTipsVisible(true); for ( int i = 0; i < g.historySize(); ++i) { diff --git a/companion/src/mainwindow.h b/companion/src/mainwindow.h index 0be249f04..78178d7f8 100644 --- a/companion/src/mainwindow.h +++ b/companion/src/mainwindow.h @@ -111,7 +111,6 @@ class MainWindow : public QMainWindow void readBackup(); void burnConfig(); void burnList(); - void contributors(); void sdsync(); void changelog(); void customizeSplash(); @@ -200,7 +199,6 @@ class MainWindow : public QMainWindow QAction *appPrefsAct; QAction *fwPrefsAct; QAction *checkForUpdatesAct; - QAction *contributorsAct; QAction *sdsyncAct; QAction *changelogAct; QAction *compareAct; diff --git a/radio/src/thirdparty/libopenui b/radio/src/thirdparty/libopenui index 3c280f84c..6b661c490 160000 --- a/radio/src/thirdparty/libopenui +++ b/radio/src/thirdparty/libopenui @@ -1 +1 @@ -Subproject commit 3c280f84cef56f84044c76d8aacea0d5e1bc8278 +Subproject commit 6b661c4907bcafc08436e5c96fc5a38e9eb6e499