In commit 33ee7364f7 we have started
moving the macOS build scripts towards using cmake instead of qmake.
This commit fixes some issues introduced in that commit.
Do not call lupdate and lrelease any more because they rely on the qmake
project files and are called by cmake anyway.
Make sure cmake is reinstalled via brew after removing any installed
brew packages.
Set a hint to the Qt5 library path so cmake should be able to find it.
This removes all mentions of the qmake build system from our build
instructions because we are planning to remove support for qmake in the
near future. Building using cmake should work fine on all platforms.
This adds the moc header files to the dependencies of the executable in
the cmake project so they show up in their proper location in QtCreator.
This makes it more pleasant to use the cmake files as a QtCreator
project file.
Also rework the CMakeLists.txt file a bit by fixing whitespace issues,
rearranging some blocks and unifying the code style a bit.
This is a first attempt to use cmake instead of qmake for building our
nightlies on macOS. We are using cmake on most platforms and it would be
easier for us to only maintain one build system. Because support for
qmake is dropped in Qt6 anyway it makes sense to transition to only
using cmake in the near-ish future.
Please note that this commit has been assembled in a mostly blind
fashion. I would be surprised if this worked without further tweaking.
Changes to constraints in the Edit Table dialog were not always
correctly applied, especially when only constraints were changed. This
was because we did not make deep copies of the constraint objects so
instead of copied we were changing the original constraints. This meant
that the ALTER TABLE code we have in place thought that there were no
changes made in compariron to the original table.
This will give precedence to viewing SVG images over editing them as XML.
I suppose it makes sense, because most users will load images from disk
or using an application and will generally want to view them and not
editing them.
This also makes more sense for 4e5f117851
- Adjust fixed sizes in EditTableDialog so the bug is less visible
- Resize columns to contents after item insertion, so it is not resized
to contents when only the header is present.
QScrollArea::viewport is now used for boundaries check and
for image pan (m_pan_mode).
This should provide more accurate event filtering (content only)
When using rare network settings errors might occur when checking for
updates. Instead of displaying an irritating error message when starting
the application, just silently ignore errors. This is far from perfect
but at least does not make things worse because even if you see the
error message this commit hides, you would not be able to do much about
it.
See issue #2759.
Starting with SQLite 3.36 you cannot select the rowid column anymore
when selecting from a view. Trying to do so will throw an error.
Previously SQLite would silently return NULL when trying to do that.
This commit mimicks SQLite's previous behaviour.
Additionally, for consistency, when the option to keep old schema is not
activated, the statement does not add "IF NOT EXISTS", so it's the same
either when the keep original statement is used or not.
See issues #2735 and #2627
To check whether selector is different to the column, no escaping can be
used, since selector is never quoted, neither when it is a column name nor
a function.
See issue #2708
MainWindow::newTableBrowserTab is only calling the new TableBrowser's
refresh() method through the constructor, before it has its model set,
and the browser therefore is still blank when the user first sees it.
A manual refresh at the end seems to be one way to fix this.
94023a5 switched to storing OrderBy terms by column
name and/or expression instead of by column index, and
includes a test to ensure that identifiers are quoted
and raw expressions are not; unfortunately it seems to
have gotten the logic backwards.
The reading of a QTemporaryFile must be done before the object it's destroyed,
otherwise the file is removed.
This was broken since 09aaaccace
Reported in issue #2749.
Working cases tables without rowid and BLOB as primary key:
- Inserted value is actually TEXT, for example, from the text editor in the
GUI.
- Inserted value is really BLOB, for example, from the binary editor or
from SQL and the data is fully binary.
Not yet working case:
- Inserted value is of type BLOB, but the actual data is recognized by
DB Browser as text. In this case, no type affinity is applied by
SQLite and the row is not properly selected.
See issue #2738
Workaround for WindowsVista style (qwindowsvistastyle plugin)
There is some strange bug on windows with the system styles (windows
and windowsvista). When styleproxy is used and QDockWidget has a
custom stylesheet applied to the widget title, close-button and
float-button are rendered huge.
See #2485
DB4SProxyStyle is set before any Widget is created.
QGuiApplication::primaryScreen() is used as a screen.
Now custom QPalette can be set before MainWindows is created,
for example exported palette from KDE (Breeze, Breeze Dark, etc).