updating my copy#32
Merged
atari2600tim merged 60 commits intoatari2600tim:developmentfrom Jul 28, 2020
Merged
Conversation
* New translations mudlet.ts (Russian) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Russian) * New translations mudlet-lua.json (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Greek) * New translations mudlet.ts (German) * New translations mudlet.ts (French) * New translations mudlet-lua.json (Spanish) * New translations mudlet-lua.json (Pirate English) * New translations mudlet-lua.json (Portuguese, Brazilian) * New translations mudlet-lua.json (Chinese Traditional) * New translations mudlet-lua.json (Chinese Simplified) * New translations mudlet-lua.json (Turkish) * New translations mudlet-lua.json (Portuguese) * New translations mudlet-lua.json (Polish) * New translations mudlet-lua.json (Dutch) * New translations mudlet-lua.json (Greek) * New translations mudlet.ts (Pirate English) * New translations mudlet.ts (German) * New translations mudlet.ts (German) * New translations mudlet.ts (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (German) * New translations mudlet.ts (Greek) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Pirate English) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Italian) * New translations mudlet.ts (German) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet-lua.json (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Greek) * New translations mudlet.ts (German) * New translations mudlet.ts (French) * New translations mudlet-lua.json (Spanish) * New translations mudlet-lua.json (Pirate English) * New translations mudlet-lua.json (Portuguese, Brazilian) * New translations mudlet-lua.json (Chinese Traditional) * New translations mudlet-lua.json (Chinese Simplified) * New translations mudlet-lua.json (Turkish) * New translations mudlet-lua.json (Portuguese) * New translations mudlet-lua.json (Polish) * New translations mudlet-lua.json (Dutch) * New translations mudlet-lua.json (Greek) * New translations mudlet.ts (Pirate English) * New translations mudlet-lua.json (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Greek) * New translations mudlet.ts (German) * New translations mudlet.ts (French) * New translations mudlet-lua.json (Spanish) * New translations mudlet-lua.json (Pirate English) * New translations mudlet-lua.json (Portuguese, Brazilian) * New translations mudlet-lua.json (Chinese Traditional) * New translations mudlet-lua.json (Chinese Simplified) * New translations mudlet-lua.json (Turkish) * New translations mudlet-lua.json (Portuguese) * New translations mudlet-lua.json (Polish) * New translations mudlet-lua.json (Dutch) * New translations mudlet-lua.json (Greek) * New translations mudlet.ts (Pirate English)
* deal with empty strings * Update src/mudlet-lua/lua/Other.lua Co-authored-by: Kebap <leckerkebap@gmx.li> Co-authored-by: Kebap <leckerkebap@gmx.li> Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
I was trying to be too clever and return a reference to an object. I think I might have been able to extend the life-time of the item concerned if I had made it a `const` but all in all it is simpler just to use the normal return action that a compiler can use RVO to avoid making a unneeded copy of the item. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
* Enhance: make multiView persistent & compact input line act on all profiles Makes the compact input line a toggle (so now it also has constant text). Makes the multi-view stay active when `<Ctrl>+<Tab>` / `<Ctrl>+Number` switching between - or clicking on the tab bars. Also disables the (now a toggle) control for multi-view when there is less than two profiles active. This should close #1111 #1831 #3136 #3204 #2400, it may also improve #2099 It also disables dragging the tabs around so will prevent the issue mentioned in #1456 pending a fix that can also rearrange the main `TConsole`s to match. Also improve layout of the Multi-view tool-tip for both the toolbar and menu instances of the control. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Revoke: remove changes disassociated with the multi-view issues Required to simplify this PR and so they can be moved to a separate PR. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Enhance: improve active tab indication in multi-view Examining the situations in which clicking on a part of the UI does not cause the indication of the active tab to reflect the profile that the widget is part of has shown a few places which are addressed in this commit: * 2D Mapper * 3D Mapper * Search term entry widget in the commandl ine * either `TTextEdit` in the Main or User Window `TConsole` * `TLabels` in any `TConsole` All of the above will now call a new mudlet::activateProfile(Host*) which will ensure that the correct tab is selected, and that the member: `(Host*) mudlet::mpCurrentActiveHost` is updated to also reflect that. Also, if multi-view is active than there is not need to highlight the tabs of profiles that have seen any changes - which is just as well as the code to clear the tab is dependent on the user clicking on the affected tab to show the tab and clear it - which is less likely to happen when in the multi-view mode. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…ers (#3890) * Bugfix: prevent build failure with libzip 1.70.0 with no version numbers As the Travis MacOs CI builds are using the latest libzip which is currently the one which doesn't have LIBZIP_MAJOR and other version numbers they were encountering a #error situation and aborting the build. This is being fixed upstream so 1.70.1 should be okay. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Check for defines of LIBZIP_VERSION_MINOR Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
* Bugfix: prevent build failure with libzip 1.70.0 with no version numbers (#3890) * Bugfix: prevent build failure with libzip 1.70.0 with no version numbers As the Travis MacOs CI builds are using the latest libzip which is currently the one which doesn't have LIBZIP_MAJOR and other version numbers they were encountering a #error situation and aborting the build. This is being fixed upstream so 1.70.1 should be okay. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Check for defines of LIBZIP_VERSION_MINOR Co-authored-by: Vadim Peretokin <vperetokin@gmail.com> (cherry picked from commit bcbf8a0) * 4.9.0 release! * Back to -dev Co-authored-by: Stephen Lyons <slysven@virginmedia.com>
* Adding spairs function for iterating over tables in a sorted fashion. Also adding tests for same * Minor test change just to force appveyor to start over
* Added getClipboardText and setClipboardText functions to allow scripts to interact with the clipboard. * A little bit of arranging so this code is matching the style of other Lua functions. * Added references to the function's pages on the wiki.
This adds a white outline around the otherwise entirely black icons so that they becomes visible when used with a dark desktop theme. For the record this icon was created from scratch on a 256x256 transparent background using The G.I.M.P. to draw "X=" in text in black using the "Serif" or "Sans serif" font at a size of 150 (for two of the text based ones the third had to be reduced to fit), that image was then redrawn in white four times and each of them was offset by +/-4 in complimentary X and Y directions (and the gaps at the ends filled in and blurred) so that they expanded the background white around the black foreground. The reason for expanding from the original 48x48 pixel size was to make the anti-aliasing take up a much smaller proportion of the image - so it will appear sharper even at higher resolutions. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
*Total -- 150.01kb -> 128.86kb (14.1%) /src/icons/variables.png -- 15.69kb -> 7.79kb (50.32%) /src/icons/table.png -- 1.60kb -> 0.85kb (46.89%) /src/icons/function.png -- 39.66kb -> 31.92kb (19.53%) /src/icons/variable.png -- 30.14kb -> 26.13kb (13.31%) /src/icons/mudlet_ptb_256px.png -- 62.92kb -> 62.16kb (1.2%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com> Co-authored-by: ImgBotApp <ImgBotHelp@gmail.com>
* prevent height/width of 0 * better solution still keeps hbox at 0 * small correction
* Bugfix: prevent build failure with libzip 1.70.0 with no version numbers (#3890) * Bugfix: prevent build failure with libzip 1.70.0 with no version numbers As the Travis MacOs CI builds are using the latest libzip which is currently the one which doesn't have LIBZIP_MAJOR and other version numbers they were encountering a #error situation and aborting the build. This is being fixed upstream so 1.70.1 should be okay. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Check for defines of LIBZIP_VERSION_MINOR Co-authored-by: Vadim Peretokin <vperetokin@gmail.com> (cherry picked from commit bcbf8a0) * 4.9.0 release! * Back to -dev * Fix crash loading MMP map (#3899) (cherry picked from commit 510c3be) * Fixes #3900, bug on MXP SEND tags (#3908) - Bug was caused by index out of range when processing MXP SEND tags with more commands than associated hints - The solution uses HREF instead of HINT when the number of available hints is one and smaller than the number of commands (cherry picked from commit 46320c3) * Fix for Geyser HBox/VBox with width/height at 0 (#3909) * prevent height/width of 0 * better solution still keeps hbox at 0 * small correction (cherry picked from commit a7dc3a2) * Fixes bug #3886 with links in miniconsoles (#3904) - In TTextEdit code was looking for links and tooltips associated to the main console (cherry picked from commit 547c658) * 4.9.1 bugfix release * Back to -dev Co-authored-by: Stephen Lyons <slysven@virginmedia.com> Co-authored-by: Gustavo Sousa <gustavocms@gmail.com> Co-authored-by: Manuel Wegmann <60551052+Edru2@users.noreply.github.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
…nd be saved for each profile (#3866) This message is an edited compilation of the individual commits that made up the eventual squashed and merged PR: Makes the compact input line a toggle (so now it also has constant text). The previous code only considered the currently active profile which was contradicted by the fact that the state - which was maintained between sessions - was stored centrally as an application setting rather than a per profile one. This was split out of a larger PR that originally included it: #3844 . Because of the poor tracking of `(Host*) mudlet::mCurrentActiveHost` the use of the short-cut or menu item to toggle the state of the input line did not fully track which profile is active yet. That was improved when PR 3844 went in. BugFix: clicking on a different profile needs to update compact input line Although clicking on the tab bar changed the currently active host and that would update the compact input line menu item state to match the newly made active profile the same thing was not happening if the profile was made active by being clicked on in other places when in multi-view. This was only discovered after PR 3844 was applied. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
* New translations mudlet.ts (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (German) * New translations mudlet.ts (Greek) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Pirate English) * New translations mudlet.ts (Russian) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (German) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Simplified)
* Remove Camel Case Requirement from Client.Media * Remove Camel Case Requirement from Client.Media
* Don't call Lua functions with too many arguments * Show a warning when trimming
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
This will close Issue: #2706. Also fix a couple of warnings for the `dlgConnectionProfiles` class: * an out of order initialisation list * an unused argument in: `(void) dlgConnectionProfiles::slot_update_name(const QString&)` Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
This revises cTelnet::sendData(...) so that it does NOT create a `sysDataSendRequest` with the password when called from: `cTelnet::slot_send_pass()` . Also, in passing also found that similar mudlet class slot methods: `mudlet::::slot_send_login()` and `mudlet::::slot_send_pass()` are not used so can be pruned and then three `QQueue<QString>` in that same class are not used either. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…ale (#3917) * BugFix: make date display of profile's history follow selected UI locale This PR adds a `QLocale` object to the `mudlet` class that is set to the user's selection of UI locale (language + country) so that items that need to return data in a locale aware form can use: `(const QLocale&) mudlet::getUserLocale()` in order to present their information in their selected form rather than using what they or their OS/DE has set system/desktop-wide. In this PR it is used to format and present in the correct language the date and time entries for the profile's history but it can be used elsewhere within the Mudlet application as needed. Also: * reorder some items in `dlgConnectionProfile`'s class to be correct. * mark an unused argument in `dlgConnectionProfile::slot_update_name(...)` as unused to prevent a warning. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Revise: exclude the display of a time zone in the profile's history It takes up extra space which is tight in that widget and (apart from the time around a DST change) does not impart much information to the display. Signed-off-by: Stephen Lyons <slysven@virginmedia.com> * Apply suggestions from code review Removed unwanted ellipses from debug texts... Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
We have been trying to hide the text associated with the `QListWidgetItems`
in the connection dialogue by setting the font size to the minimum of `1`
and by setting it's colour to be white. This is not effective when the
background is not white - which is likely for a "Dark" desktop environment.
The only way to successfully hide the text is, I think, to not have any!
However the text was being used programmatically, so the best way to use
a `QListWidget` in this mannar is to store the text elsewhere in each
item's structure. Fortunately Qt provides for this with the user data
functionality which allows multiple data items (based on the `QVariant`
class) to be stored within each `QListWidgetItem` using an integer key to
denote the type of the data. Ironically the text, icon and other details
for each item are ALSO stored in this way - however for non-Qt internal
use the lowest integer key that is to be used is `Qt::UserRole` - which
I have assigned to the `(const int) dlgConnectionProfiles::csmNameRole`
static value. It is quite possible that a redesign of the Connect Profiles
dialogue may use this system to store/cache more details about each profile
in the future!
The only issue with this is the lack of a:
`QListWidget::findData(const QVarient&data, int role = Qt::UserRole ...)`
method (c.f. `QComboBox::findData(...)`) so I have had to provide a:
`(QList<QListWidgetItem*>) findData(const QListWidget&, const QVariant&,
const int role = Qt::UserRole) const;
method to fill in this gap and to replace the previous
`QListWidget::find(...)` that examined each item's text.
Also removed local `(QString) profile` from:
`(void) dlgConnectionProfiles::slot_item_clicked(QListWidgetItem*)` as it
is merely a redundent duplicate of another local `(QString) profile_name`.
Renamed local `(QListWidgetItem*) pM` from:
`(void) dlgConnectionProfiles::fillout_form()` to:
`(QListWidgetItem*) pItem` as that reflects the name used throughout the
rest of the class for this type of variable.
Changed a `(QLabel*)::setText(tr(""))` call to the more explicit and less
stupid `(QLabel*)::clear()`. Similarly changed a
`(QWidget*)::setToolTip("")` to a `(QWidget*)::setToolTip(QString())`.
Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
* New translations mudlet.ts (Russian) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (French) * New translations mudlet.ts (Spanish) * New translations mudlet.ts (German) * New translations mudlet.ts (Greek) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Dutch) * New translations mudlet.ts (Polish) * New translations mudlet.ts (Portuguese) * New translations mudlet.ts (Russian) * New translations mudlet.ts (Turkish) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Portuguese, Brazilian) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Pirate English) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Simplified) * New translations mudlet.ts (Italian) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (German) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet-lua.json (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (English, United Kingdom) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional) * New translations mudlet.ts (Chinese Traditional)
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
Remove unneeded command as per peer-review suggestion. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
CodeFactor says that the `static` keyword should come first (before the `const` one). Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
…nises This is so that a text is displayed instead of a fall-back of the locale code. Signed-off-by: Stephen Lyons <slysven@virginmedia.com>
…eFromIcons Refactor: remove minute visible name from Connection dialogue icons
* Update Linux builds to Qt 5.12.9 * Update .travis.yml
* Allow string.split("my string", "") with strings > 32 characters
Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
Co-authored-by: Vadim Peretokin <vperetokin@gmail.com>
* Add cfeedTriggers, dfeedTriggers, and hfeedTriggers * add apt update back to linux github build runner * Giving in because too tired to argue
* Add TELOPT_CHARSET (42) Support * Add TELOPT_CHARSET (42) Support * Add TELOPT_CHARSET (42) Support * Add TELOPT_CHARSET (42) Support * Add TELOPT_CHARSET (42) Support * Add TELOPT_CHARSET (42) Support
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
Co-authored-by: mudlet-machine-account <mudlet-machine-account@users.noreply.github.com>
|
✅ Build Mudlet 1.0.100 completed (commit ad1b053aa4 by @smurfix) |
|
✅ Build Mudlet 1.0.101 completed (commit c719fb7511 by @mpconley) |
atari2600tim
pushed a commit
that referenced
this pull request
Oct 1, 2020
Refactoring/reimplementation of MXP protocol
Extracts MXP support from TBuffer
Separates input parsing from protocol processing: input is parsed into MxpTag objects by the MxpNodeBuilder and are passed to be handled by the MxpTagProcessor
Class hierarchy of MxpTagHandler for implementing support for each tag: allows for a clear separation of the implementation of each tag and makes it easier for adding support for new tags
Defines a clear interface (MxpClient) separating the MXP implementation from other parts of the code
Solves some limitations of previous implementation such as supporting element definitions not only for<SEND> tags, interpolating named and positional attributes and interpolating &text; placeholder by tag content
Includes support for COLOR tag
Handles FONT, U, I, B, VAR and !ENTITY tags, but so far no defined behavior (can be implemented in MxpMudlet)
Attributes that hold MXP state are now in the Host class to avoid needless copies when TBuffer is copied around
Introduces QtTests for some of the classes
Other refactorings intended to simplify TBuffer class, extracting responbilities that aren't directly related to the buffer mgmt
Extracted TEncodingTable from TBuffer, this class is responsible for mapping encoding names to tables. It also removes some bloat from TBuffer.
TLinkStore to manage links and associated hints to be displayed.
TEntityResolver to map character entities, such as >     to their associated string values; supports interpolating strings replacing the entity placeholders by their values
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brief overview of PR changes/additions
Motivation for adding to Mudlet
Other info (issues closed, discussion etc)