Commit Graph

71 Commits (4c101526e62500bd68902851e30a7a0fd25cc883)

Author SHA1 Message Date
Salvo 'LtWorf' Tomaselli f892a9e162
Update copyright 2020-08-24 10:41:50 +07:00
Salvo 'LtWorf' Tomaselli 7a88dc9076
Replace == None with is 2017-07-02 12:50:48 +07:00
Salvo 'LtWorf' Tomaselli 2d9bbf39f0
make mypy happy 2017-06-24 11:31:07 +07:00
Salvo 'LtWorf' Tomaselli 47bc995fd9 Revert "Query splitter complete"
This reverts commit c4e258bbf9.

Because I had committed by mistake changes to guihandler
2016-08-21 10:58:46 +07:00
Salvo 'LtWorf' Tomaselli ae042a7ae4 "save" will act on the relation selected in the list
It used to act on the active relation, that is, the one being displayed
in the central table, that is selected with a double click.

This change makes it act on the relation directly selected instead.
It should be more intuitive.
2016-08-21 10:53:26 +07:00
Salvo 'LtWorf' Tomaselli c4e258bbf9 Query splitter complete 2016-08-16 11:15:56 +07:00
Salvo 'LtWorf' Tomaselli 03d05cf7a8 Added ui buttons to use multi line optimization 2016-05-25 15:29:32 +07:00
Salvo 'LtWorf' Tomaselli 790766827e Skip empty queries 2016-05-25 11:02:21 +07:00
Salvo 'LtWorf' Tomaselli 72318bb0e8 Updated copyright notices
With the last year of modification of the file in question.
2016-03-31 21:45:59 +07:00
Salvo 'LtWorf' Tomaselli cf2115b383 Do not crash if the returned remote version is None
That happens in case of errors.

Now it correctly shows an error.
2016-03-21 14:39:35 +07:00
Salvo 'LtWorf' Tomaselli ba8453c923 Print optimization steps
Prints the various steps on stdout, quite nice to
be able to understand what is happening internally.
2016-01-03 19:47:53 +07:00
Salvo 'LtWorf' Tomaselli ce348149f1 Better code style 2016-01-03 19:43:38 +07:00
Salvo 'LtWorf' Tomaselli 5563e1cafd Do not add query to history if it was the last
Maybe people just press enter twice.

This is the behaviour of bash.
2016-01-03 17:32:34 +07:00
Salvo 'LtWorf' Tomaselli 0dd2ef2f1d Style 2016-01-03 09:28:45 +07:00
Salvo 'LtWorf' Tomaselli 474bea6ff5 Re-unite query execution functions
For multi-line and single-line. After the change with the assignment
they are basically the same and there was no longer need
to have them separate in two functions.
2016-01-03 09:18:31 +07:00
Salvo 'LtWorf' Tomaselli 67db598b02 Shortcut to show relation
Pressing space on a selected relation shows it.

I wanted to use 'Enter' but it doesn't work.

This closes #5
2016-01-02 16:24:57 +07:00
Salvo 'LtWorf' Tomaselli 746ae6af09 Can hide history box
If it bothers you, it is possible to hide the history box.
2016-01-02 16:11:20 +07:00
Salvo 'LtWorf' Tomaselli 6315bebc61 Fix crash in case of empty history
Without that check, an empty history causes a crash
2016-01-02 15:59:02 +07:00
Salvo 'LtWorf' Tomaselli a30aac5f5b Remove result text box
It was not really easy to write the name for the result
in a separate box, and it would create a lot of garbage
results, by creating a new one per every query.

Now single lines queries can contain assignments, and if not
a default relation named 'last_' is used to hold the last result.
2016-01-02 15:28:17 +07:00
Salvo 'LtWorf' Tomaselli e017949f7d Navigate history with arrows
In single line query mode, the history can be navigated
in a way that is somewhat similar to the shell.
2016-01-02 12:36:28 +07:00
Salvo 'LtWorf' Tomaselli 7acc0d19d0 Changed the blur thing with a simple label
It was a bit buggy and was not blurring all the widgets, or
not reverting the blur properly. Probably best to just show a
label instead.

Still, the proper solution would probably be to do the processing
in a separate thread.
2015-12-31 18:07:23 +07:00
Salvo 'LtWorf' Tomaselli 76cdfe7d06 Function to add shortcuts via code
I plan on adding a few more.
2015-12-31 14:29:12 +07:00
Salvo 'LtWorf' Tomaselli 239e0e58dd Blurs UI while processing
Before the processing of a query starts, it will blur the UI.

This gives feedback to the user that something is happening, and is
simple to implement because I am too lazy to move the processing in
a separate thread.
2015-12-21 00:54:05 +07:00
Salvo 'LtWorf' Tomaselli c8c894bb7b Removed useless line 2015-12-06 13:47:56 +07:00
Salvo 'LtWorf' Tomaselli be8230d54a Align query editing box with relation viewer
Not sure of what the problem was, probably some layout or frame that
had spacing.

Replaced the whole mess with a stacked widget instead.

close #8
2015-11-20 17:06:59 +07:00
Salvo 'LtWorf' Tomaselli 3012a08ff3 Removed unused variable 2015-11-11 17:01:52 +07:00
Salvo 'LtWorf' Tomaselli f5ef1027d0 Refactored main window creation
The main window was created in a somewhat stupid way, that required
multiple steps to be taken from the main module.

Now it's all in one call.
2015-09-29 12:47:20 +07:00
Salvo 'LtWorf' Tomaselli 7a85b77f50 Save state of splitter in GUI
The splitters are not stored as part of the window's state, so
store it separately.
2015-09-11 12:41:33 +07:00
Salvo 'LtWorf' Tomaselli c6d6bbfeaf Refresh relation list in any case
If a query was failing, created relations were not shown in the list
of relations.
2015-09-09 14:45:17 +07:00
Salvo 'LtWorf' Tomaselli 66855ad50c Clear session function
Added a function to clear the current session
2015-09-09 12:38:54 +07:00
Salvo 'LtWorf' Tomaselli edc5078475 Use session handling in GUI
The UI stores the session when closing and loads it at the next
use.
2015-08-03 15:58:11 +07:00
Salvo 'LtWorf' Tomaselli be7e6fe12d Classes have now names that begin with uppercase
This is more Pythonic and makes the code more readable.

Backwards compatibility is provided by giving an alias with the
previous name of the class.

It will not be broken until the next major release.
2015-07-14 15:39:35 +07:00
Salvo 'LtWorf' Tomaselli 73dd14d9dd Style 2015-07-14 11:01:35 +07:00
Salvo 'LtWorf' Tomaselli 98ac364dc7 Removed encoding string
Not needed in Python 3
2015-07-14 10:43:13 +07:00
Salvo 'LtWorf' Tomaselli 5218f41e7b Use handler to suggest name 2015-06-17 16:35:14 +07:00
Salvo 'LtWorf' Tomaselli 05e13bfeac Use the new class
Simplify error reporting with a new function.
2015-06-16 13:22:58 +07:00
Salvo 'LtWorf' Tomaselli 3060a8562f Ask for relation name if filename is not valid
By default when loading a file, a relation with the same name is
created.
Now, if the filename is not a valid relation name, the user will be
prompted to manually insert a relation name.

De-duplicated code for doing this when a new relation is created.
2015-06-07 13:37:24 +07:00
Salvo 'LtWorf' Tomaselli cdbd59bab3 Update UI for header changes
Updates the UI to work with the new header changes
2015-06-06 15:27:11 +07:00
Salvo 'LtWorf' Tomaselli 92adb10bc6 Able to load non .csv files from UI 2015-06-04 22:38:25 +07:00
Salvo 'LtWorf' Tomaselli 62c51ab150 Removed useless compatibility module from UI
It was originally created to support both PyQt and PySide but
at this point is useless
2015-06-02 14:56:44 +07:00
Salvo 'LtWorf' Tomaselli 36a2c192a8 Fix save relation dialog
Also add an error in case no relation is selected.
2015-06-02 14:41:41 +07:00
Salvo 'LtWorf' Tomaselli 8102dbe959 Fixed and changed semantic of open relation
Now relations are always named with the default name.

Multiple relations can be opened at once from the GUI.

Removed redundant code to select the default name for a relation.

Using system dependant splitter to determine the default name for a relation.
2015-06-02 12:35:47 +07:00
Salvo 'LtWorf' Tomaselli 9d4284d624 Store the state of the main window when closing and restore it. 2015-06-01 14:20:29 +07:00
Salvo 'LtWorf' Tomaselli d60b5f7983 Print compiled expressions for multiline queries 2015-06-01 07:34:21 +07:00
Salvo 'LtWorf' Tomaselli cd5c2845e1 Store last multiline query
When loading, the last multiline query used will be available.

Also, refactored the part to execute multiline queries in a
separate function.
2015-06-01 00:17:19 +07:00
Salvo 'LtWorf' Tomaselli f3af25f132 Support multi-line editing mode
This mode supports the insertion of multiple queries in one shot,
assign them to variables and reuse them.

Basically a program. Less interactive mode but better for more
complicated queries.
2015-06-01 00:00:59 +07:00
Salvo 'LtWorf' Tomaselli abfa6a00c2 Use constants rather than hardcoded symbols
In the code that inserts the symbols in the query, use constants from the
parser module.
2015-05-31 19:03:17 +07:00
Salvo 'LtWorf' Tomaselli 5bfbe4f4af Ask again if the relation name is incorrect
When creating a new relation, if the name is incorrect, ask again rather than
drop entirely the new relation.
2015-02-23 14:19:28 +07:00
Salvo 'LtWorf' Tomaselli 512aafd946 Style 2015-02-19 14:06:11 +07:00
Salvo 'LtWorf' Tomaselli cf377eca46 Initial Qt5/Python3 switch
This converts the GUI code to use Qt5 and Python3

The GUI is still somewhat buggy, and it can't open files yet,
but seems to be mostly working, extensive testing will
be needed before this can be released.
2015-02-19 14:00:47 +07:00