derula / strainer Goto Github PK
View Code? Open in Web Editor NEWA GUI for Sieve scripts and ManageSieve communications.
License: The Unlicense
A GUI for Sieve scripts and ManageSieve communications.
License: The Unlicense
saveState
and saveGeometry
to save / restore user settingsA new lexer and parser are in development, They are currently much slower than the sievelib parser, but should also be more accurate / resistant to errors. Plus, since they are based on a grammar, they are more easily extendable / bugs should be easier to fix.
To do:
See also #16.
Currently, partial lexing uses a strange logic of "moving the goalposts" before lexing starts. This, however, potentially doesn't perform well, and causes other problems (cf. #15).
Instead:
Lark has an option to give an error callback instead of raising on first error. With this, we could add a list of all errors instead of just highlighting the first.
The sieve documentation window currently has no option to return to the main page, making it difficult to look at other parts of the documentation unreachable by clicking on things. A button could either be added to a common (cf. #2) or separate toolbar (with actions loaded from the QWebEngine context menu), or just as a new entry in the context menu.
Currently, scripts can be opened and edited, but not saved. We need:
Currently it takes a long time before the window is shown, making it seem like something's not right.
Possible solutions:
Probably not random, but I couldn't reproduce them well yet.
Dearly needed.
There is already GUI in place to activate / delete scripts, it's just not functional yet. Should be done after #2 to avoid accidentally deleting scripts while testing and then not having any test data left.
When the status bar content is set to a long string, the minimum width of the window is adjusted to show it in full. This should not happen; status bar text should just be limited to the available width.
Currently, we rely on the sievelib lexer to style the script in Scintilla. Unfortunately, this lexer returns multi-line comments and strings as a single token, which breaks the ability to use Scintilla's partial restyling. (Neither "text:\n"
not "/* comment\n"
are recognized as the beginning of a string / comment in isolation.)
Possible solutions:
For renaming scripts, the save button is grayed out if the name already exists. Accounts should do the same.
Leads to page not found. Should open the page for if
.
This is currently a hacky re-use of the Scintilla default menu and can't be used in the toolbar. Should reimplement all fioelds and add to toolbar.
It works... okay, most of the time. Sometimes it's stuttering. But if you have 2 accounts set up and restart the program, it completely crashes without even so much as an error message. It's likely that the way it's currently done is really stupid and based on a misunderstanding of how Qt works.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.