Commit Graph

1832 Commits

Author SHA1 Message Date
Justin Clift
210624353e Added developer mailing list to README.md 2017-05-14 16:33:57 +01:00
Martin Kleusberg
58996f1345 Rework the Edit Index dialog
Change the layout of the dialog entirely. Instead of having checkboxes
that, if activated, move a column into the index, use two separate table
views, one for available columns and one for used columns. This makes it
easier to see the index structure on first sight. It also makes it
possible to see the order of the different index columns from the table
views. Additionally, now expression columns that are used in the index
are shown in the table views, even allowing them to be removed from the
index.
2017-05-14 17:01:00 +02:00
Martin Kleusberg
b953edc8eb grammar: Don't produce unnecessary separator char in index SQL 2017-05-14 14:26:13 +02:00
Martin Kleusberg
5d45636b9e export: Support dropping non-table objects in SQL export 2017-05-14 14:11:42 +02:00
Justin Clift
a3709576f7 Move back to Qt 5.7 for now 2017-05-14 10:53:03 +01:00
Justin Clift
f8d9cc4361 Merge pull request #1011 from karim/master
Add Windows XP support
2017-05-12 17:50:21 +01:00
Martin Kleusberg
57c4e582c7 Don't show "Show rowid" menu item for views
Don't show the "Show rowid column" context menu item for views because
views don't really have a rowid column (it's always NULL). So showing
the column doesn't really make a lot of sense and might even confuse
some users.

Also change the order of the menu items a little to be more consistent
for views and tables.
2017-05-12 18:31:58 +02:00
Martin Kleusberg
21ee1f2703 Allow updating views
This adds a new context menu option that allows unlocking views for
updating. This requires appropriate triggers to be in place and the user
to type in a column name that can be used as a 'primary key' for the
view. By default views are still locked from editing.

Inserting into and deleting from views isn't supported yet.

See issue #141.
2017-05-12 18:17:50 +02:00
Karim ElDeeb
51f3d6f5e4 Add Windows XP support 2017-05-12 16:43:52 +02:00
Martin Kleusberg
e404b22205 Fix wording in encoding message box 2017-05-12 16:22:39 +02:00
Martin Kleusberg
037b3c0113 Some improvements to the Export SQL dialog
When possible, don't write 'CREATE TABLE/VIEW/... `name`' but 'CREATE
TABLE/VIEW/... IF NOT EXISTS `name`' to the file.

Add an option to add DROP TABLE statements before each create statement.
This needs to be enhanced to apply to views, indices, and triggers as
well. See issue #629.

Clean up code.
2017-05-12 15:38:46 +02:00
Martin Kleusberg
c74204c700 Update Qt version info in BUILDING.md 2017-05-12 11:22:16 +02:00
Martin Kleusberg
6e6f7cdc18 Add support for building with Qt 5.5 2017-05-12 10:40:24 +02:00
Martin Kleusberg
bee295da08 Avoid warning when creating new databases
When creating a new database we execute a couple of SQL statements after
opening the new file. However, since none of them happen in a
transaction there's no need to commit them. This change gets rid of the
commit statement and avoids a warning being printed by doing so.

See issue #583.
2017-05-08 14:15:21 +02:00
Martin Kleusberg
f07548dfb2 build: Add make install rule to qmake project file
See issue #833.
2017-05-08 13:51:40 +02:00
Martin Kleusberg
4f18de856d plot: Fix labels for 'Row #' columns
See issue #950.
2017-05-08 13:19:59 +02:00
Martin Kleusberg
4706dd7dd7 plot: Correctly disable signals when needed
In the plot code use the blockSignals() method instead of connecting and
disconnecting signals and slots every time. The disconnects didn't
really work using the new C++11 connection code, so this commit restored
the functionality as it was intended.

This means that *a ton* of calls to updatePlot() are eliminated which
improves the performance.

It also avoid messing up the graph selection table in the Plot Dock in
certain cases.

See issue #950.
2017-05-08 13:05:30 +02:00
Martin Kleusberg
e1fbc98ef2 Fix default path in Save file as dialog
Actually use the default path settings from the Preferences dialog when
showing a Save dialog.
2017-05-08 12:22:44 +02:00
Martin Kleusberg
ef0ae8d549 Implement page-wise scrolling in Browse Data tab
Don't scroll by 100 records when using the scroll buttons but scroll by
one screen page.

See issue #232.
2017-05-08 12:06:56 +02:00
Justin Clift
06398be884 Updated CentOS/Fedora instructions
Tested and working on Fedora 25
2017-05-07 23:33:41 +01:00
Justin Clift
c8dba296df Add note about -DFORCE_INTERNAL_QSCINTILLA=ON to BUILDING.md 2017-05-07 19:42:17 +01:00
Martin Kleusberg
715074e0c6 Revert "tests: Fix build"
This reverts commit a436901d12.
2017-05-05 15:12:33 +02:00
Martin Kleusberg
0c8cb4ec1d Revert "Move fetching data for data browsing to a separate thread"
This reverts commit 6da71b6788.

This was causing just too many problems for one. The ones I noticed
were:
- Messing up the table view when scrolling down very large table where
the prefetching code is triggered.
- Crashing when setting an auto increment PK in the Edit Table dialog
because the sqlitetablemodel is used for a check in there.
- Probably more crashed in other places but for the same reason.
- Easy to fix but an issue nonetheless: when doing plotting a number of
empty rows would be inserted into the data browser.
- It just feels a little laggy.
2017-05-05 15:08:51 +02:00
Martin Kleusberg
e205f77e6a Use platform specific path separators in window caption
For displaying the path to the currently opened database file use
platform specific path separators.

See issue #735.
2017-05-05 14:19:50 +02:00
Martin Kleusberg
8c5650a63f libs: Update qcustomplot to version 2.0-beta 2017-05-04 21:51:43 +02:00
Martin Kleusberg
bddae31bf1 libs: Update qscintilla2 to version 2.10 2017-05-04 21:22:56 +02:00
Martin Kleusberg
9a171e0621 Avoid sorting twice in Browse Data tab
When browsing a table and changing the sort order, then switching to
another table, and then switching back, we would sort the table twice:
once using the default sort order and then again using the previously
used sort order. This results in four instead of two queries for those
tables (including the COUNT queries). This commit fixes this so that
only two queries are executed which should cut the run time for these
cases in half.

See issue #1007.
2017-05-04 19:54:03 +02:00
Martin Kleusberg
a436901d12 tests: Fix build 2017-05-04 19:26:44 +02:00
Martin Kleusberg
478ddc6da4 Simplify code 2017-05-04 19:21:17 +02:00
Martin Kleusberg
b5651d8b4d Keep the UI responsive when executing many statements in Execute SQL tab 2017-05-04 19:08:38 +02:00
Martin Kleusberg
6da71b6788 Move fetching data for data browsing to a separate thread
This moves the data fetching code into a separate thread for
asynchronous execution. The Browse Data and the Execute SQL tabs are
affected by this.

Note that this is a somewhat naive implementation that is meant for some
first testing.
2017-05-04 18:58:38 +02:00
Martin Kleusberg
3ff686d96f Show consistent slashes in recent files menu actions
See issue #735.
2017-05-03 21:11:29 +02:00
Martin Kleusberg
f7421a9d62 Fix messed up table browser
This is to work around a Qt bug which is present in at least version
5.7.1. The problem is this: when you browse a table/view with n
colums, then switch to a table/view with less than n columns, you'll be
able to resize the first (hidden!) column by resizing the section to the
left of the first visible column. By doing so the table view gets messed
up. But even when not resizing the first hidden column, tab-ing through
the fields will stop at the not-so-much-hidden rowid column, too. All
this an be fixed by this line. I haven't managed to find another
workaround or way to fix this yet.

If anybody knows more about this issue please let me know.
2017-05-03 20:43:31 +02:00
Justin Clift
46555bc819 Launch DB4S as user not Admin for Win installer
See #338 for details
2017-05-03 00:53:41 +01:00
Justin Clift
becd385c86 Update Windows build path for Qt 5.8 2017-05-02 22:59:00 +01:00
Martin Kleusberg
3596bf6c8d grammar: Add support for CHECK table constraints
This adds support for CHECK table constraints. We already had support
for CHECK column constraints and still mostly use that but with this
commit there are no more hickups when encountering such a table. It also
adds basic support for editing those tables: the CHECK constraint isn't
removed anymore when editing a different part of the table.

Example:
CREATE TABLE test(
	a int CHECK a IN(1,2,3),	-- This was supported before
	b int,
	CHECK b IN (1,2,3)		-- This is added by this commit
);
2017-04-30 23:35:48 +02:00
Martin Kleusberg
1eece9ef06 tests: Add regex test files to qmake project file 2017-04-29 13:50:57 +02:00
Martin Kleusberg
e72df17bc3 grammar: Support signed default values
This adds support for table definitions with a signed default value,
like this:

CREATE TABLE test(
    a int DEFAULT -1
);
2017-04-29 13:49:00 +02:00
Martin Kleusberg
d52263fc02 Fix crash when trying to show tooltips for views in Browse Data tab
When browsing a view in the Browse Data tab and hovering a cell we would
try to show a foreign key tool tip just like for tables. However, there
was no check if the browsed object is a table or a view, it was just
assumed it is a table. That would cause a crash whenever it actually was
a view. With this commit we check if it is a table first and, if not,
don't even try to show a tool tip.
2017-04-19 11:45:05 +02:00
Martin Kleusberg
760ef092cd Try setting a saner default row height in the data browser
Maybe this helps with issue #419.
2017-04-10 15:07:51 +02:00
Martin Kleusberg
f11c0181ca Improve wording in comment 2017-04-10 14:17:01 +02:00
Justin Clift
ec916226b0 Add dodgy temporary workaround for Qt OSX's missing cert verify() 2017-04-06 20:37:31 +01:00
Genyk
f031f24cdd sqlb_uk_UA_сhange8.ts
Корекція 3054-3510
 3198, 3203, 3208, 3336, 3371, 3386 - ? зміст?
2017-04-06 19:20:29 +01:00
Genyk
db2bad0a8a sqlb_uk_UA_сhange7.ts
Корекція 2013-3049
2017-04-06 19:20:20 +01:00
Genyk
db89568cbd Updated Ukrainian translation 2017-04-06 19:19:56 +01:00
Justin Clift
a3e1ab7ffb Add Ukrainian flag 2017-04-06 19:19:50 +01:00
Андрій Кондратьєв
dd685afef1 Ukrainian translation 2017-04-06 19:19:44 +01:00
Justin Clift
8b2e93d547 Ensure 'File → Export → Table(s) to JSON' is enabled/disabled along with its siblings 2017-04-04 14:07:44 +01:00
Justin Clift
ace89f124d Ensure window title for JSON export dialog is correct
It was still using the default title for the dialog (Export data
as CSV), which was a bit confusing.
2017-04-04 13:53:30 +01:00
Martin Kleusberg
1026e9e777 Allow changing case of column name in Edit Table dialog
Allow changing the case of a column name in the Edit Table dialog
without complaining about the name already being taken. This happened
when for example changing a column called 'A' to 'a', making this sort
of changes impossible.

See issue #985.
2017-03-25 22:19:22 +01:00