Commit Graph

2714 Commits

Author SHA1 Message Date
Martin Kleusberg
285e0ef49e Remove unused code and fix a warning 2018-12-26 13:38:42 +01:00
Martin Kleusberg
7f597d07e4 Fix handling of custom rowids/pseudo PKs
This should avoid double queries in the Browse Data tab for views and
for tables.
2018-12-26 13:35:11 +01:00
mgrojo
4f9c21f83f Closable main tabs and saving automatically open tabs and order
Main tabs are made closable, so they can be closed by the user. New entries
are added to the View menu for toggling their open/closed state.

Spartan users can closed all tabs but their preferred, and then the tab bar
is hidden saving some space.

The set of open tabs and their order is automatically saved in the settings
on application exit and restored on application start.

Tab labels are stored in the statusTip attribute in order to restore them,
since those labels are not stored anywhere else.

See issues #1675 and #459
2018-12-25 21:12:28 +01:00
Martin Kleusberg
79ffd779b9 Show current platform and destination platform information
Add the destination platform from the compilation process and the
platform we are running on to the About dialog and the Bug Report
template text.

See issue #1660.
2018-12-25 19:42:55 +01:00
Martin Kleusberg
c8ef76241d Do not recreate table schema if table did not change
When the table schema was not modified in the Edit Table dialog, do not
do anything when clicking the OK button.

See issue #1686.
2018-12-25 18:51:36 +01:00
Martin Kleusberg
094a6a624a Fix plot
Fix a plot bug introduced in 37a5645bf5 by
an oversight.

See issue #1679.
2018-12-25 18:46:29 +01:00
Martin Kleusberg
73f7cc824f Fix 195d8683e5
Some parts of the code were still using indices instead of widget
pointers for referencing the main window tabs.
2018-12-25 17:50:11 +01:00
Justin Clift
dd1878c81e Use Qt 5.11.3 for the macOS builds too
This is due to a weird word wrapping bug present in Qt 5.12.0.

We'll use the Qt 5.11.x releases for now, until a solution to the
problem is found.
2018-12-24 21:51:12 +11:00
mgrojo
195d8683e5 Enable the movable attribute for main tabs
The movable attribute for the main tabs is enabled and the code is adapted
to use widget references instead of indices.

This allows user to move tabs and set a preferred order, but the order is
still not saved.

See issue #1675
2018-12-24 00:56:44 +01:00
zvova7890
a983248931 Change UI size policy, make RU translation shorter (#1678)
The width of the UI elements is forced by the text in buttons. This is a problem in some translations,
where the text are longer than the original. This PR address this tweaking some aspects:

* change UI size policy

* make RU translation for some buttons shorter

* move Set as NULL to bottom in EditDialog
2018-12-23 12:31:06 +01:00
Justin Clift
573bcdb7d0 Use Qt 5.11.3 for our Win64 nightly builds 2018-12-22 22:44:15 +11:00
Justin Clift
21ce868fef Update SQLCipher version used by the nightly build scripts
These versions are a copy of the ones actually used, so changes
can sometimes lag.
2018-12-21 08:17:39 +11:00
mgrojo
cfdf68d562 Use a specialised count query for browsing tables/views
For queries built from a table and filters, use a specialised count query
that only takes into account the where part of the statement. This will
speed-up the Browse Data tab for big tables.

See issue #1666
2018-12-20 10:49:22 +01:00
mgrojo
b4667b6bac Change the maximum size of the SQL results pane to a more flexible approach
Set a default equal to the previous maximum, but allow user to grow this
pane to any value, permitted by the other widgets.

See issue #1670
2018-12-18 22:53:56 +01:00
mgr
f2ff1472a8 Load all data when select all is requested
selectAll is overridden so all data is actually selected. Warn and ask user
as this may take some time and consume lots of memory (when the table is
big).

See issue #1373
2018-12-15 18:09:13 +01:00
Justin Clift
df33455fda Generate a new .ts file for Persian
It's not yet hooked into the build process, which can come later.
2018-12-15 14:49:09 +11:00
Justin Clift
66c2ad10c0 Fix a misleading error message typo
Also tweaked the message wording slightly, to make it sound more
natural.
2018-12-14 20:00:46 +11:00
mgrojo
256ae36a13 Do not show more than 512 characters in DB Structure tooltips
Truncate the SQL create sentence when it is longer than 512 characters
and pad with "...".

See issue #1659
2018-12-14 00:29:23 +01:00
Iulian Onofrei
1af7b031ea Removed dead code 2018-12-13 11:26:10 +02:00
Justin Clift
790110206e Include the math extension with our macOS nightly build 2018-12-13 18:02:28 +11:00
Justin Clift
ee4518cd7b Build our macOS nightlies using SQLCipher 4.0.0 2018-12-13 16:57:38 +11:00
Justin Clift
66e3322088 Add macOS .dylib extension to the extension selector dialog 2018-12-13 16:50:45 +11:00
Karim ElDeeb
ffb07e1f23 Disable running the application after installation on Windows
See issue #1656.
2018-12-12 17:08:48 +02:00
Martin Kleusberg
035bc161f9 dbhub: Redesign the Remote teb of the Preferences dialog
The new layout hopefully makes it a bit easier to understand how to use
the dialog.
2018-12-12 14:23:50 +01:00
Martin Kleusberg
d86b45e7e6 dbhub: Open Preferences dialog on the correct tab
When opening the Preferences dialog from the Remote dock, we now show
the Remote tab by default.
2018-12-12 14:23:44 +01:00
Martin Kleusberg
88ce4acf97 sqlcipher: Add new encryption settings to improve support for SQLCipher4
This adds three new settings to the cipher dialog: KDF iterations, HMAC
algorithm, and KDF algorithm. To simplify things we also add two presets
for all the encryption settings: SQLCipher3 defaults and SQLCipher4
defaults. The preselected default is chosen depending on the SQLCipher
version which we use.

This should work with any combination of SQLCipher3 and SQLCipher4 and
any database created by either. It should also work with DotEnv files as
expected. Again, the defaults which are used for missing values in the
DotEnv files are chosen depending on the SQLCipher version we use.
2018-12-12 13:41:47 +01:00
Justin Clift
2c8883d540 Use our temporary SQLCipher 3.4.2 Homebrew tap
This is just until we get some things for SQLCipher 4.0.x worked
out.
2018-12-12 13:04:19 +11:00
Justin Clift
ac5551458d Fix a bad cut-n-paste
We don't go a git pull of the sqlitebrowser repo for the SQLCipher
build, else the SQLite and SQLCipher builds could differ in the
commits they'd done with.
2018-12-12 00:27:07 +11:00
Justin Clift
f6abc61ff4 Work around an edge case for the macOS nightly builds 2018-12-12 00:19:25 +11:00
Justin Clift
c796a7cb8e Optimise the macOS nightly build script slightly 2018-12-11 23:47:28 +11:00
Justin Clift
ca4c39b855 Homebrew SQLite package no longer has a --without-readline option 2018-12-11 22:49:03 +11:00
Justin Clift
5093ac02a3 Update macOS nightly build to use Qt 5.12.0 2018-12-11 21:54:21 +11:00
Justin Clift
1181687115 Update Windows x64 nightly build to use Qt 5.12.0 2018-12-11 19:34:58 +11:00
Manuel
87e9732fcd Foreign key combobox in table browser #614 (#1550)
Foreign key combo-box in table browser

This adds a combo-box for the editor delegate when the associated column
has a foreign key constraint. In this way the user can choose the key value
based from a combo-box.

To minimise possible performance problems, the model only loads the foreign
key field, instead of the whole related table.

Except for not-null columns, a NULL value is given as possible value in
the foreign-key combo-box.

See issue #614
2018-12-10 21:39:16 +01:00
Martin Kleusberg
7e549c7c4c Don't show misleading "determining row count" message in empty db
When no table is selected in the Browse Data tab, either because the
current database is empty or because no database is opened, we would
forever show the "determining row count" message even though nothing is
to be determined at this point. This commit makes sure to show a better
"0 - 0 of 0" message as we did before.

See issue #1654.
2018-12-09 12:43:50 +01:00
Justin Clift
6944874f85 Add Italian language entries for our nightly build scripts 2018-12-08 17:24:25 +11:00
Justin Clift
2ce52c0518 Add entry for Italian flag to flags.qrc 2018-12-08 16:34:22 +11:00
Justin Clift
e399d3ac1b Trivial spacing adjustment. 2018-12-08 14:42:00 +11:00
Feyn-Man
6431998470 Italian translation (#1584)
Partial Italian translation for now.  Will be continued later as time permits.
2018-12-08 14:39:34 +11:00
Bartlomiej Przymus
f2be488898 Working on Polish Translation (#1582)
Update file with some translations done
2018-12-08 12:06:51 +11:00
Martin Kleusberg
47422f36c7 Fix alterTable() function when renaming a column
When renaming a column using SQLite >= 3.25 and changing something else
in the table, you would lose all the data in the renamed column. This is
because the second part of the alterTable() function (the part after the
renaming) didn't know about the new column name and so assumed it still
to be the old one.

See issue #1650.
2018-12-07 20:50:23 +01:00
Martin Kleusberg
b42097c704 Fix insert and delete record buttons not being activated
This was introduced in 10b6c34be6 which
fixed another issue. So this is pretty embarassing ;)
2018-12-07 20:36:38 +01:00
mgrojo
49fbc52fec Added hourglass icon to resources
The file was added and used in PR #1575 but at some time it should have
been lost in the icon resources file, so it was not actually working.
2018-12-06 21:26:14 +01:00
mgrojo
6425fb177e Use native names in the tool-tips documenting some shortcuts
There are three reasons for not hard-coding the shortcut names in tool-tips
or other texts inside the UI elements:
- Qt uses portable names for the shortcuts, that are translated to different
key combinations depending on the operating system, e.g. Ctrl is translated
to Cmd in MacOS.
- An eventual change in a shortcut is propagated to user strings affecting
translations.
- If we ever allow configuring the shortcuts in Preferences, the text
would be incoherent.

The shortcuts are added programmatically to the tool-tips and consequently
they are removed from the UI files. The translation files have been updated
semi-automatically so the translated strings aren't lost.

Shortcuts have been added to actions that lacked them (because they are
implemented through other means) so they can be used. The WidgetShortcut
scope prevents in those cases any interference with the current shortcut
logic.

In the case of Ctrl+Return for "Execute all/selected SQL", it has been
moved from code to UI file, since it no longer made sense.

See issue #721
2018-12-06 18:56:24 +01:00
mgrojo
6eebefb0f7 Fix Spanish shortcut translations for Qt5.9.5 (Ubuntu 18.04)
This translation was working for Ubuntu 16.04, because it matched the
official Qt translation for Shift, but in Qt5.9.5 (Ubuntu 18.04) the
translation is no longer abbreviated (Mayúsculas) and the former
translation breaks the shortcuts. Using the original English terms should
work for all versions and it is automatically translated in the display.
2018-12-06 18:56:24 +01:00
Karim ElDeeb
41fd313e74 Update Windows Installer to detect old NSIS installer
NSIS was used up to v3.10.1 and then we moved to MSI. The Windows Installer will now be able to detect if a previous version was installed using NSIS and uninstall it before installing the new version.

See issue #1642.
2018-12-05 23:55:12 +02:00
mgrojo
41312837b1 Consistency and fix in the Spanish translation
Avoid "Title Case" in two cases for consistency with the rest of the
translation.

Fix an "All files" filter lacking a "(*)".
2018-12-05 21:08:11 +01:00
Martin Kleusberg
a150656d87 dbhub: Make the initial account creation process a bit more obvious
This shows a short text in the Remote dock when no certificates are
configured yet. This text contains links to the dbhub.io page and gives
at least some information on the overall process. As soon as the first
certificate is imported, the old view is shown instead.
2018-12-05 19:33:20 +01:00
Martin Kleusberg
1f9101ae2a Move SQL execution in Execute SQL tab into a separate thread 2018-12-05 18:37:52 +01:00
Martin Kleusberg
7e0ff3061b Move code for running SQL statements into a separate class
This is only done for better readability and for easing future changes.
No major logic changes intended here.
2018-12-05 18:37:52 +01:00