Subversion Repositories tpanel

Rev

Rev 465 | Blame | Compare with Previous | Last modification | View Log | RSS feed

ChangeLog
=========

Release: 1.4.1
===============================================================================
2024-03-10 Improved intercom to be able to convert audio as needed.

2024-03-03 Implemented an intercom class.

2024-02-25 Implemented the answer to request 0x020d (request network
           information of device) from the NetLinx.

2024-02-18 Added commands ^MODEL?, ^ICE, ^ICS and ^ICM.

2024-01-20 Created a new branch "refactor" and refactored the directory tree.
           Removed the system settings implemented as TP4 file.

2024-01-11 Fixed color handling.

2024-01-05 Fixed bargraphs with an image.

2024-01-04 Added support for placeholder text in input lines.

2024-01-01 Added support for bargraph control buttons (+/-).

2023-12-22 Fixed speed and time calculation for bargraphs.

2023-12-13 Added joystick support.
           Added command ^GIV

2023-12-12 Completed the bargraphs by adding all possible level functions.

2023-12-06 Added command ^RPP to reset panel protect password
           Added support for reset of subpage when showed.

2023-12-05 Fixed broken FTP transfer.

2023-12-02 Fixed the borders of buttons.

2023-11-30 Added password support for Android and iOS.
           Added new commands ^PWD and @PWD.
           Added new commands ^LPB, ^LPC, ^LPR and ^LPS.

2023-11-28 Added support for password protection.

2023-11-25 Implemented Marquee lines completely.
           Added command ^MSP to set the speed of a marquee line.

2023-11-21 Fixed the battery state for iOS.

2023-11-19 Added marquee lines. Currently only left to right and vice versa is
           supported.

Release: 1.4.0
===============================================================================
2023-11-12 Added the commands ^GDI, ^GRD and ^GRU. Although this commands exist
           now, the TButton class does not honor them.

2023-10-28 Fixed bug: When there is no "sr" section on a page it doesn't crash
           any more.

2023-10-27 Added support for logfiles on Android.

2023-10-26 Added new refresh function for objects drawn during display was
           suspended.

2023-10-25 Changed behavior of bars on Android to appear only for a short time.

2023-10-15 Fixed compiling on Mac for OSX and Android. The build script for
           Android works now on Mac too.

2023-10-10 Fixed compiling for iOS.
           Fixed compiling for Android.
           Fixed compiling for Linux.

2023-10-01 Improved sound playing.

2023-09-30 Fixed volume control with Qt6.
           Fixed size of toolbar on Android with Qt6.

2023-09-24 Compiled latest version of Skia library and adapted the source to
           work with the changes of this library.

2023-09-08 Added command ^GSN.
           Fixed the command ^UNI to expect Unicode.

2023-09-05 New build scripts removing support for Qt5.
           New documentation of how to build the program.

2023-08-14 Added a shell script to build an Android APK file on command line.

2023-07-30 Changed the pointer chain for subpages into a std::map.

2023-07-24 Fixed the sound playing with Qt6.x.

2023-07-22 Fixed the drawing of buttons so that all elements are drawn.
           Optimized the rules to draw a button new what increased speed.

2023-07-17 Fixed the drawing of external system defined borders.

2023-07-12 Fixed setting of opacity.
           Added another command to the testmode to be able to distinguish
           between screen part and lower level part finish.
           Fixed sound playing with Qt6.x.

2023-07-10 Fixed the repositioning and sizing of a button.

2023-07-04 Added more test cases and improved the test framework.

2023-07-03 Fixed the creating of paths for ressources.

2023-06-18 Started to implement a test framework.

2023-04-18 Created a seperate class for the filter events.

2023-04-12 Improvement of subviews.

2023-04-06 Fixed the commands ICO and TXT to not enable the latest state automatically.

2023-04-01 Fixed issues with input lines and the system keyboard.

2023-03-31 Completed the system keyboard. If such a keayboard is displayed, the
           input lines, if there are any, are ordered to the keyboard.

2023-03-27 Fixed the system frames. This are the ones stored as graphics in
           the system section of each surface project.

2023-03-26 Added thread IDs to the logs.


Release: 1.3.3
===============================================================================
2023-03-16 Serialized mouse clicks and removed primitive queues for mouse
           clicks.

2023-03-12 Changed the object handling of class MainWindow to use a std::map.
           All created objects are kept now until the class MainWindow is
           destroyed.

2023-03-04 Fixed the scrolling areas to not have an invisible frame any more.

2023-03-02 Added a new locking mechanism which can detect deadlocks and print
           an aproppriate message into the logfile.
           Fixed the button fill step to make sure that previous drawn elements
           are not destroyed.

2023-02-27 Added click accepts to subviw lists.

2013-02-12 Added subview lists. The list is displayed but doesn't accept
           clicks currently.

2023-01-19 System keyboard keys for a keyboard are working now.

2023-01-12 Refactored the handling of the central widget of the Qt framework.
           Added a stacked widget to handle pages.
           Fixed the mouse coordinates for IOS by taking a possible notch into
           consideration.

2023-01-11 Removed the preprocessor variables QT5_LINUX and QT6_LINUX and
           replaced them by a macro checking the Qt version.

2023-01-07 Improved the colors for all plattforms.
           Improved the frames of subpages.
           Fixed some bugs in logging mechanism for Mac and Linux.

2023-01-06 Added the possibility to select a surface file for Android setup.
           Tried to find a bullet proof algorithm to have the colors correct.

2023-01-05 Added a new special animated wait box.

2022-12-30 Added partial support for settings activity in Android.

2022.12.25 Fixed the chameleon and button background colors for all kinds of
           CPUs.

2022.12.23 Fixes background run for IOS.

2022.12.13 Repairs the broken Android compilation.

2022.12.11 Adds setup call from within application.
           Fixes battery callbacks.

2022.12.07 Adds detection for iPhones with a notch. The offset for the first
           left pixel is now set to the correct value according to the
           orientation.

2022.12-06 Adds battery support for IOS.

2022-12-04 Adds configurations suitable for XCode 14.x.

2022-11-29 Adds rotation setting for IOS.
           Added languages german and greek for setup dialog.

2022-11-24 Added settings for IOS.
           Fixed chameleon images on big endian CPUs.

2022-11-20 Ported to IOS.

2022-11-17 Ported to MacOS.

2022-11-16 Added commands ^LVF, ^LVL, ^LVM, ^LVN, ^LVR, ^LVS.

2022-11-12 Added the command ^LVD to set the source for a list view.
           Added the command ^LVF to set a filter for the list view.

2022-11-07 Added the command ^BIM to set an input mask on input lines.

2022-11-06 Fixed the buttons to play sounds in the setup dialog.

2022-11-05 Fixed the system borders.

2022-11-04 Removed the explicit widget because it made more trouble then help.

2022-10-30 Added an explicit widget for pages so that the Qt central widget
           remains untouched.
           The setup pages are complete and are working.

2022-10-18 Fixed input lines and lists for Android.

2022-10-15 Fixed the compilation for Android.

2022-10-14 Added functionality to the buttons on the logging page.

2022-10-13 Fixed the setup of the edit line of surface files. Fixed the dialog
           boxes used to signal the download state.

2022-10-12 Added FTP support for downloading surface files from a NetLinx.

2022-10-08 Added content fill for lists. Sound settings are fully working now.

2022-10-01 Refactored the classes TPage and TSubpage: Added an interface class
           to not have duplicated methods.

2022-09-24 Added setup functions for sound settings.

2022-09-18 Added setup functions for SIP settings.

2022-09-17 Added setup functions for view settings.

2022-09-11 Added setup functions for NetLinx settings.

2022-09-10 Added setup functions for log settings.

2022-09-04 Added internal list handling for system pages.

2022-09-03 Added TP4 system pages to replace the setup dialog box on Android.

2022-08-28 Fixed Qt 5.15.x compiling for Android (Qt 6.3 does not support
           Android).
           Fixing cameleon images if size of mask and bitmap differ.
           Removing preprocessor directives used as a work around for the RGB
           bug in previous Skia versions.

2022-07-18 Changed source for Qt6.3 library (Qt5 is still supported).

2022-07-14 Added a new progress dialog to show the progress of a file download.

2022-07-13 Upgrade for latest Skia library

2022-07-01 Added a mechanism to redraw a button internally only if it was
           changed.

2022-06-01 Fixed the colors of the chameleon images.

Release: 1.3.2
===============================================================================
2022-05-31 Changed the commands arrived from a Netlinx to go into a command
           queue which is now handled in a thread of it's own.
           Fixed the text parts of the ^BMF command to replace a "|" sign with
           a LF (0x0a).

2022-05-30 Changed the writing to Netlinx into a thread so that it now reads
           and writes really asynchronous.

2022-05-27 Fixed several index bugs triggered by the ^BMF command.
           Changed the image cache to a global one and removed the small one
           inside the button class. This saves a lot of memory and speeds up.

2022-05-26 Fixed multi line text to not cut off the last character and to leave
           an empty line as such.
           Improved the drawing of chameleon images a bit.

2022-05-25 Fixed the chameleon images if the bitmap has a different size.
           Fixed buttons with functions to not show state 1 when pressed.

2022-05-22 Addedd text effects for Glow and Outline.
           Fixed the border drawing.
           Fixed the position of symbols from a symbol font.

2022-05-20 Changed the borders to take the normal borders on instance 0 and the
           alpha border on instance 1.

2022-05-17 Fixed the look and size of the settings dialog.
           Fixed loading of a font which is not loadable by loading a
           default font instead.

2022-05-16 Fixed a bug in UTF8 to UTF16 conversion who let TPanel crash.
           Fixed the way fonts are loaded. Skia allows to load a font only
           once. Therefor I implemented a font cache to avoid the attempt
           to load a font more than once.

2022-05-15 Changed the size calculation of the setup dialog. It should now
           be useable on a damn small display too. But it still looks ugly.
           Added a remove of the "virgin" marker when a surface is received
           over a file transfer from a NetLinx.

2022-05-14 Fixed sorting of subpages.
           Added some system buttons to upper and lower the volume TPanel uses.
           Fixed a bug in sort algorithm which ended in a crash of application.

2022-05-12 Made commands case insensitive.
           Added swipe support.
           If there is no toolbar the back button is now asking if the user
           want to see the setup dialog or quit the app.

2022-05-10 Fixed the orientation so that portrait and landscape is now
           correctly detected.
           Fixed the Z-order when a popup is raised to top.
           Fixed the Z-order for popups called from existing popups previously
           raised to top.
           Added recognition of sub parameters on command ^BMF.

2022-05-09 Added command ^BMF: Not all options are implemented!
           Fixed cuted off text lines containing a comma for command ^TXT.

2022-05-07 Added command ^VTP.

2022-05-05 Added command ^AFP rudimentary. The command is missing the
           animation effects.
           Added self feed commands.
           Added command send on button hit to controller.
           Fixed switching pages: The open popups are closed and buttons are
           removed from page. Then the new page is initialized.

2022-05-04 Fixed color search when a color was defined as an index number.
           Fixed page size setting and calculation of a potential hight
           oversize.
           Added the scPanel command to the button functions.
           Fixed the sToggle button command. Now it loads a page and shows it
           if it is not in the internal cache.

2022-05-02 Honors now the VOIP channel setting for SIP.
           Added the "User-Agent" header to the SIP client.
           Added a new command IM (instant message) to send instant messages
           over a SIP server.

2022-04-29 Fixed a crash on Android when a phone call was detected and the
           internal phone dialog is displayed.
           Fixed the bargraph to draw the second image if there is no first
           image.

2022-04-28 Added a system volume control and a system mute control.
           Completed the selection of system sound files, single beep and
           double beep files.

2022-04-26 Added a new tab to the settings to adjust sound related settings.
           Added ring tone support to the SIP client.
           Fixed calling a phone.
           Fixed SIP states send to controller and the internal SIP phone.

2022-04-24 Completed the internal phone dialog. If internal phone is enabled
           and if it's ringing the dialog box appears.

2022-04-23 Added a new phone dialog to have an integrated small phone.
           Added a new checkbox to settings to enable an automatic internal
           phone.

2022-04-22 Completed the SIP client handling calls, except DND setting.

Release: 1.3.1
===============================================================================
2022-04-21 Added a static color table which is used in case there is no palette
           file.
           Fixed a bug in reading the palette. Now the first color is also read.
           Fixed the FTP download on Android devices.

2022-04-15 Removed Linphone from Android and replaced it by PJSIP.

2022-04-07 Removed liblinphone completely because the java part necessary for
           Android had a lot of dependencies who couldn't be resolved. I added
           PJSIP instead.

2022-04-04 Fixed the detection of the client IP address. TPanel reports now the
           correct client IP address to the AMX controller.
           Added a serial number. It consists of a date and the version number.
           The serial number is visible on the command line of the controller
           with the command "show device".

2022-04-03 Added a few commands similar to the TPControl commands.

2022-04-02 Added functions to pause the orientation sensor if the program is
           inactive.
           Added functions to calculate the orientation of the screen.

2022-03-30 Added orientation sensor to turn from portrait to inverted portrait
           or from landscape to inverted landscape and back.

2022-03-26 Completed the PHN commands.

2022-03-25 Fixed the SIP client configuration.
           Added SIP configuration for network protocolls and to handle
           behavior behind a firewall.

2022-03-18 Added some not supported but possible commands to the table of known
           commands in tamxcommand.cpp.
           Improved the way commands are identified as such.

2022-03-16 Added linphone libraries to android build.
           Fixed the scaling for the download button in the settings dialog.
           Fixed a bug on a fresh installation when no controller was
           configured.

2022-03-10 Added support for more than 1 phone line.

2022-03-09 Added a new class to handle SIP commands and to abstract the
           linphone library.
           Started to add some ^PHN commands.

Release: 1.3.0
===============================================================================
2022-03-07 Changed the edit line "TP4 file name" into a comboBox and added
           a button to force the download of a surface file.
           The contents of the comboBox are feeded by a directory read on the
           controller. Each file with the extension "TP4" (case insensitive)
           is added as an item to the comboBox. The surface will now be
           downloaded when the selection in the comboBox changed  or the force
           button was clicked. The foce button gets a red background if the
           user wants to download the surface in any way. To be sure the user is
           asked whether the surface file should be downloaded or not.

           The second way to download a surface file is when the directory with
           the surface does not exist or contains the hidden file ".system".
           Then, if the configuration file was already configured, the surface
           is downloaded on startup of TPanel. When it finishes successfully
           the program comes up with the new surface.

2022-03-04 Fixed the look of the settings dialog on mobile devices.
           Added a feature to force the toolbar to be visible.

2022-03-02 Added a busy indicator which is shown when a file is downloaded.

2022-03-01 Changed the settings dialog. Added input lines for FTP and SIP.

2022-02-28 Adds a new FTP library to do FTP stuff and fixes the unpacking of
           the downloaded file.

2022-02-26 Fixes an accidentaly written warning on startup claiming the system
           directories are not found although the contrary was the case.
           Integrates the FTP transfer into initialisation.

2022-02-25 Corrects the startpage if the program is started for the first time
           and has no surface loaded.
           Cleans up the class TTPinit.

2022-02-22 Adds an FSF reader which contains an FTP client to search and read
           a TPDesign file directly from the controller.
           Sets the icon on a desktop.

Release: 1.2.1
===============================================================================
2022-02-18 Adding commands ^RSR, ^KPS, ^VKS

2022-02-17 Made all methods who need the "instance" (button state) as a
           parameter a full method instead of a 1 line method in only the
           header file.
           Added a general method to send custom events and replaced the
           repeating parts for sending custom events with a call to the new
           method.
           Adding commands ^BML, ^TEF, ?TEF, ?TXT

2022-02-16 Adding commands ?BWW, ?FON, ^GSC, ?ICO, ^JSB, ?JSB, ^JSI, ?JSI,
           ^JST, ?JST, ABEEP, ADBEEP, ^TEC, ?TEC

2022-02-15 Adding command ?BRD, ^BSM, ^BSO
           Fixes a bug where a crash could happen when a fading or moving out
           animation was running and an attempt to write an image to it was
           made. Writing an image to such a subpage is suppressed now.

2022-02-14 Adding command ^BMC, ?BOP, ^BOS

2022-02-13 Adding G5 commands ^ABP, ^ADB, ^SOU, ^STP, ^TKP, ^PGE, ^PPA, ^PPF,
           ^PPG, ^PPK, ^PPM, ^PPN, ^PPT, ^PPX, ^UTF
           Expanded the ^BMP command to be compatible with G5.
           Adding G4 commands ^UNI
           Adding configuration options for SIP to configuration file.

2022-02-09 Fixes the border drawing.
           Fixes the button hang if the mouse moves during a mouse press.

Release: 1.2.0
===============================================================================
2022-02-06 Fixes the drawing of a bargraph with a button slider.
           Add the documentation for end users.

2022-02-01 Adds a slider button out of the system slider images.

Release: 1.1.3
===============================================================================
2022-01-22 Adds a new callback function to set a button visible or to hide it.

Release: 1.1.2
===============================================================================
2022-01-21 Adds the commands ^RFR, ^RAF.
           Improved the command ^BBR to immediately refreshing the button.
           Fixes the remote loading of images over a REST interface.
           Implements an image cache to speed up remote loading.

Release: 1.1.1
===============================================================================
2022-01-18 Fixes a bug when retriving images from a HTTP server.

2022-01-13 Fixes the restart after changing connection credentials or receiving
           a new surface.

Release: 1.1.0
===============================================================================
2022-01-02 Removes the dependency to asio and implements a new socket class
           instead.

2021-10-17 Adds new commands @SOU, ?BMP, ?BCT, ?BCB and ?BCF.

Release: <= 1.0.0
===============================================================================
2021-07-21 Replaces the old XML parser for reading pages and subpages with
           Expat.

2021-07-14 Adds the class to read the system graphics index.

2021-07-13 Adds support for playing sounds.
           Adds button sounds if system ressources are installed.
           Adds support for system button to enable/disable button sounds.

2021-07-07 Adds support for symbol fonts like wingding.

2021-06-14 Adds the commands SETUP and SHUTDOWN.

2021-06-09 Adds all of the keyboard/keypad commands. Implements private
           keyboard/keypad.

2021-06-07 Adds a keyboard and a keypad. Adds also the aproppriate commands to
           use them.

2021-06-05 Adds an activity to get the phone state.
           Extracts the logging API in Java and puts it into an extra class.
           Implements a new queue to store all drawing events during the app is
           suspended.

2021-06-02 Fixes the range of buttons detected.
           Adds the commands BAU, BCF, BCT, BDO, BFB, BOR, BRD, GLH and GLL.

2021-05-28 Adds fade in/out to subpages.

2021-05-24 Fixes multiline printing: Breaks a string in pieces and makes it
           multiline, if the button allows it.
           Adds methods to grab a pinch event to start the settings.

2021-05-23 Adds/completes the timer function for a subpage.
           Adds optional text on the background image.
           Adds text as a background image.

2021-05-18 Adds a timeout function to subpages.

2021-05-10 Adds a basic function to draw and handle an input line.

2021-05-09 Implements the touch function to bargraphs.

2021-05-06 Adds a vritual page to show progress bars on file upload from
           TPDesign.
           Adds directory structure for system files. Reads system fonts if
           they exist.

2021-05-01 Sliding effects for subpages.

2021-04-29 Removes top bar on Android.
           Moved start point of page manager to signal active.
           Implents scaling at UI and disables scaling with Skia.

2021-04-24 Adds functions for getting the wifi connection strength in android.

2021-04-18 Reads external.xma to make the external buttons function.

2021-04-17 Finish and fixes scale mode.
           Removes menu and adds a toolbar on the right side instead.

2021-04-12 Implements scaling for background pages and subpages.
           Adds button management for pages.

2021-04-10 Implemets basic functions needed for scaling in future.
           Adds a splash screen on Android and brings a new logo.

2021-04-08 Adds battery state on Android devices.

2021-04-03 Implements basic settings dialog.

2021-03-14 Adds support for Android.

2021-01-09 Adds handling of system buttons connection status and date/time.

2021-01-01 Adds a Z-Order to subpages

2020-12-20 Adds network communication with controller and adds the first
           commands to control pages.

2020-12-17 Adds mouse press events. Fixes the position of text.

2020-12-16 Takes the overall opacity and sets it to the filling and chameleon
           images.

2020-12-13 Adds fonts with Skia library.

2020-12-10 Implements basic subpages and buttons.
           Draws the background and simple graphics.

2020-12-08 Display a background image in the main window.

2020-11-29 Added interpreter for buttons and pages.