Commit Graph

2464 Commits

Author SHA1 Message Date
Navdeep Singh Sidhu
1988b98f13 Updated Build guide, travis config and snap config
* Added build instructions for OpenSuse
* Updated package list for Ubuntu build
* Added initial code for x86 and x64 build of AppImage to travis file
* More experiments with snap config to fix old UI.

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-10-20 14:24:19 -05:00
Navdeep Singh Sidhu
cacd7e3090 Fixed error related to libgail and libatk modules
* Priming the gtk modules to fix
```
     Gtk-Message: Failed to load module "gail"
     Gtk-Message: Failed to load module "atk-bridge"
 ```

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-12 07:00:41 -05:00
Navdeep Singh Sidhu
a54fd6e5c0 * Fixed Typo
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 18:03:55 -05:00
Navdeep Singh Sidhu
2bdde8e9a9 Fixed Typo
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 18:02:37 -05:00
Navdeep Singh Sidhu
8e1b54fbd7 Merge branch 'sqlitebrowser-master'
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 18:00:15 -05:00
Navdeep Singh Sidhu
0e88507599 Merge branch 'master' of git://github.com/sqlitebrowser/sqlitebrowser into sqlitebrowser-master
# Conflicts:
#	snap/snapcraft.yaml

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 17:58:51 -05:00
Navdeep Singh Sidhu
bbafb950e7 Back to zero with reducing size as snap created by launchpad couldn't find display :0
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 17:51:25 -05:00
Justin Clift
d1a637bb33 Fix some trivial capitalisation problems in user visible strings 2018-08-10 23:42:37 +01:00
Navdeep Singh Sidhu
bfc261cfff Added CD (Continuous Deployment) snap packaging support (#1500)
* Added CD (Continuous Deployment) snap packaging support

* Added required files to create a snap package. Launchpad account will automate the build whenever code is committed to git repo

# What is a snap?

A snap :
* is a squashFS filesystem containing your app code and a snap.yaml file containing specific metadata. It has a read-only file-system and, once installed, a writable area.
* is self-contained. It bundles most of the libraries and run-times it needs and can be updated and reverted without affecting the rest of the system.
* is confined from the OS and other apps through security mechanisms, but can exchange content and functions with other snaps according to fine-grained policies controlled by the user and the OS defaults.

# Notes on improvements squashed into this PR

* Reduced the snap size by removing files from prime stage.
* Fixed typo in snap summary, thanks @justinclift for pointing out
* Reduced the size of snap package by removing big files from the package
* Added revno to the version script
* Added long description of snap package from deb package
* Borrowed some code from vlc snap script to fix fall back UI (need further research to fix issue)
* Added echo message to request users to report issues with snap package

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 23:35:11 +01:00
Navdeep Singh Sidhu
eb10edd4a1 Added echo message to request users to report issues with snap package
Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 17:21:16 -05:00
Navdeep Singh Sidhu
c2097561a5 Did the "wording adjustment" :), reduced the snap size by removing files from prime stage.
* Fixed typo in snap summary, thanks @justinclift for pointing out
* Reduced the size of snap package by removing big files from the package
* Added revno to the version script
* Added long description of snap package from deb package
* Borrowed some code from vlc snap script to fix fall back UI (need further research to fix issue)

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 16:05:58 -05:00
Martin Kleusberg
060c406549 Include SQLite/SQLCipher and Qt version in bug report body 2018-08-10 19:18:00 +02:00
Martin Kleusberg
f3f6662978 Fix memory leak
This was introduced in 75e4c32bc4.
2018-08-10 19:17:59 +02:00
Martin Kleusberg
b28d0f63ec Show SQLite and SQLCipher version in About dialog when using SQLCipher
See issue #1474.
2018-08-10 19:17:59 +02:00
Justin Clift
a1c982c158 CentOS 7 provides CMake 2.8.12.2, so this commit moves the min version to that
For #1488.
2018-08-10 15:01:06 +01:00
Martin Kleusberg
c8899ec0c1 Avoid confusion in the About dialog about the SQLCipher version
SQLCipher reports in its SQLITE_VERSION macro the version of the
underlying SQLite version. Because we cannot easily get any other
version from SQLCipher and because the reported version is not identical
to the SQLCipher version we need to rephrase the wording in the dialog a
bit to keep the two versions separated.

See issue #1474.
2018-08-10 15:40:17 +02:00
Martin Kleusberg
75e4c32bc4 Don't use the SqliteTableModel class for querying row counts in export
When exporting a database to an SQL file we need to query the row count
of each table to calculate the progress later in the actual export. This
commit replaces the SqliteTableModel class which was used for this
purpose by a simple query function. This might be slightly faster here
but more importantly avoids a progress window being shown for each table
before finally seeing the one for the actual export.

See issue #1476.
2018-08-10 14:26:00 +02:00
Martin Kleusberg
2b6153d9b8 Fix browse table settings not being reapplied correctly
We have already fixed the rowid column from appearing after almost every
action in the Browse Data tab, for example in commit
39302f5b60.

This didn't fix every issue related to this problem though. Hidden
columns are shown too and modified column widths are reset. Also this
happens for different actions, for example the column widths are also
reset when sorting the view or when changing the filters. All these
problems are hopefully fixed by this commit.

See issue #1475.
2018-08-10 13:52:39 +02:00
Navdeep Singh Sidhu
1e8e1eb954 Added CD (Continuous Deployment) snap packaging support
* Added required files to create a snap package. Launchpad account will automate the build whenever code is committed to git repo

# What is a snap?

A snap :
* is a squashFS filesystem containing your app code and a snap.yaml file containing specific metadata. It has a read-only file-system and, once installed, a writable area.
* is self-contained. It bundles most of the libraries and run-times it needs and can be updated and reverted without affecting the rest of the system.
* is confined from the OS and other apps through security mechanisms, but can exchange content and functions with other snaps according to fine-grained policies controlled by the user and the OS defaults.

//TODO
* Try reducing the size of final snap packages by removing unnecessary packages from priming stage

Signed-off-by: Navdeep Singh Sidhu <deepsidhu1313@users.noreply.github.com>
2018-08-10 02:12:55 -05:00
mgrojo
d3d9d10ecd Untranslatable message in SQL Log 2018-08-09 22:23:16 +02:00
Martin Kleusberg
8a07f0e655 Change page_size PRAGMA from spin box to combo box
Change the control of the page_size PRAGMA from a spin box to a combo
box in the Edit Pragma tab. This makes sure no values are entered which
aren't a power of two. The same change was done in the Cipher dialog a
while ago for the same reasons.
2018-08-09 14:39:34 +02:00
Martin Kleusberg
8f7fc07604 Order PRAGMAs in the Edit Pragma tab alphabetically
Also add tab stops.
2018-08-09 14:16:34 +02:00
Martin Kleusberg
a23c0a0852 Fix PRAGMA view when loading a project file
When loading a project file which changes the foreign_keys or the
case_sensitive_like PRAGMAs while being in the Edit Pragma tab didn't
update the UI accordingly. Only after changing the tab and returning to
the Edit Pragma tab updated the controls.
2018-08-09 14:08:09 +02:00
Martin Kleusberg
c9d651c7b2 Add value of the case_sensitive_like PRAGMA to the project files
We allow the user to edit the case_senstive_like PRAGMA via the UI. But
because its state is not saved in the database - just like with the
foreign_key PRAGMA - we should save it in the project file for users who
want to restore the entire environment.
2018-08-09 14:04:47 +02:00
Manuel
4f1256cc5f Allow "getting" and setting case_sensitive_like pragma (#1494)
* Allow "getting" and setting case_sensitive_like pragma

In order to allow case insensitive filtering, the pragma
case_sensitive_like is added to the GUI. Given that this pragma cannot be
read, a special SELECT request is made in DBBrowserDB::getPragma for
inferring its value.

See issue #1489.

* Warning in the pragma case_sensitive_like

This pragma has some peculiarities, so it is convenient to warn the user
about it through a tool-tip in the value.
2018-08-09 14:00:21 +02:00
mgrojo
282e6739d9 Prevent data loss when editing table with foreign keys enabled
Our procedure for editing tables may involve a drop of the old table
definition. This will trigger the "ON DELETE CASCADE" clauses of the
child tables, leading to unexpected and silent data loss.

Following the procedure described in:
https://www.sqlite.org/lang_altertable.html
we can guarantee that no data is deleted, but at the cost of opening a
new transaction specific for the table modification. The possible pending
changes must be saved before. This is only done when the foreign_keys
pragma is enabled.

See issue #1481
2018-08-09 13:28:49 +02:00
mgrojo
7b660338ed Standard use of title case and ellipsis in menu actions
Menu actions that take the user to a dialog, where the action is completed
with some interaction and that could be cancelled, now have ellipsis.

Actions that only open an informative window do no longer have ellipsis.

Title case used in all menu entries.

See issue #1434
2018-08-09 12:45:41 +02:00
mgrojo
732c322181 Menu bar restructured so it follows a more standard layout
- Some actions not directly related to file operations over databases or
projects have been moved from "File" to a new "Tools" top-level menu entry.
Future tools can be added here.
- Preferences moved from "View" to "Edit" (MacOS is supposed to still have
it in the application menu).

See issue #1434
2018-08-09 12:45:41 +02:00
Martin Kleusberg
9a30e6cbb0 Don't translate PRAGMAs in the UI editor
This disables translation for PRAGMA names and values in the Edit Pragma
tab. The values must not be translated when using the current
implementation because they are used as shown for reading and writing
the PRAGMA values. The names could be translated but probably should not
be because they are more fixed name than description of their function.

See issue #1489.
2018-08-09 12:35:44 +02:00
Justin Clift
2f1a012933 Removing mailing list entry
The mailing list server will likely be offline for an extended period.
2018-08-08 14:24:09 +01:00
Manuel
d343a55286 Merge pull request #1473 from sqlitebrowser/filter_strings
Support for operator filters for strings
2018-08-08 14:39:02 +02:00
Martin Kleusberg
c46081c137 Fix typo in Readme 2018-08-08 14:01:20 +02:00
mgrojo
636136a775 Use official Qt translation for Shift key
The translation of key sequences must be empty or follow the official Qt
translated names, otherwise the key sequence is not recognised and it will
not work.

The official translation for Shift key is "May" (not "Mayús" or "Mayús.")

See possibly related issue #1491
2018-08-06 21:31:05 +02:00
mgrojo
b6f47f91de Use standard SQL quotes for string literals 2018-08-06 19:46:13 +02:00
mgrojo
f977534a1b Improper use of no-translation (notr) attribute
"Preview only (N/A)" must be translated
"toolBar1" although it's a window title it will never show up, so better
not request translation.
2018-08-06 19:24:46 +02:00
Martin Kleusberg
6db6a4d327 Add link to the Wiki to the Readme file
See issue #1464.
2018-08-05 16:32:54 +02:00
Martin Kleusberg
cdbed71905 Replace Patreon badge in Readme file
Use a shields.io image for the Patreon link for better consistency with
the other badges.
2018-08-05 16:26:26 +02:00
Martin Kleusberg
9a8f223b88 Add support for in-memory databases
Add a new menu option for opening an in-memory database. When working on
an in-memory database some menu options are disabled because they only
make sense when the database is also written to disk. I have left the
Write Changes button enabled though because for some actions the current
transaction needs to be committed - even though it's only committed to
memory then.

See issues #335 and #1492.
2018-08-05 15:45:50 +02:00
Martin Kleusberg
52de8c3099 Fix a crash when opening another database after adding some records
The application crashed for me when I opeend a database, then switched
to Browse Data tab, added some records there, then created a new empty
database.
2018-08-05 15:32:36 +02:00
mgrojo
aa82b52d5c Result of spell checker in Spanish translation
- Spelling errors fixed
- Mayús as proper translation for Shift key
- Fixed misinterpretation of "Displayed text"
2018-08-04 13:57:23 +02:00
mgrojo
2b6f0d7378 Updated and improved Spanish translation
- Translation for last developments
- Consistency of translated terms
- Do not translate part of the application name
- New spelling rule for 'solo'
2018-08-04 12:34:10 +02:00
mgrojo
d65427a8a6 Fixes and improvements in user messages
- Title for the File Extension Manager
- Independent messages for each object type. See issue #1490
- Fixed incorrect wording in "What's This" message
2018-08-03 18:49:25 +02:00
mgrojo
241372e6eb Improvements for the "Unlock view editing" feature
Provide a combo box for selecting the field from the list of fields in the
view.

Uncheck the menu option when the user cancels the action.

Escape the primary key in the UPDATE statements since it is not always
rowid (views, without rowid tables) and consequently the name might needed
it.
2018-07-29 18:18:19 +02:00
mgrojo
2701223aac Crash when browsing a table, deleting it and back to the data browser
Following these steps a crash was observed:
1. Browse a Table T in "Browse Data" tab
2. Change to "Database Structure" tab and delete table T
3. Return to "Browse Data" tab

The application crashed because the combo still had the deleted table
value. It was too soon for the updateInsertDeleteRecordButton() call.
Moving it to the end of the method solves the issue.
2018-07-29 14:27:28 +02:00
mgrojo
e1ef492d78 Issue #1484 & #1480: crash when closing a DB having scrolled a table
Following a series of signals after closing the DB the application reaches
SqliteTableModel::isEditable() which isn't prepared for closed databases.
Taking this into account fixes the crash.

This crash seems to have being introduced in 3da520cdd1
2018-07-28 14:34:08 +02:00
mgrojo
01bf059270 Fix style consistency and translation problems with "Delete record" label
In 5fbf5ca1b2 the label of the "Delete
Record" was inadvertently changed to "Delete record". The label is reverted
to the old style for consistency and for restoring coherence of the
translations.

The new Polish translation is changed accordingly.

See issue #1480.
2018-07-20 19:11:44 +02:00
mgrojo
d50a27ab6e Use exact filter when jumping to referenced row
Ctrl+Shift+Click jumps from a foreign key cell to its referenced row in the
other table. It is only exactly one row if we filter for equality. It will
be also faster.
2018-07-17 23:25:57 +02:00
Martin Kleusberg
7a9f310778 Don't allow editing the SQL preview in the Edit Index dialog
Don't allow the user to edit the SQL preview in the Edit Index dialog
because it's just supposed to be a preview.
2018-07-15 23:39:40 +02:00
Justin Clift
1b7ba4a7e7 Update Qt path for build server to use Qt 5.8 2018-07-15 17:33:10 +01:00
Justin Clift
eccc6f269c Update Qt path for build server to use Qt 5.9.6 2018-07-15 12:29:19 +01:00