Kexi/Releases/3.1.0 Changes
Changes in KEXI
Highlight: TODO
- 3.1.0 Beta 1 (3.0.94)
- 72d5368a3 New: Add support for setting character encoding for source database to import table assistant
- Bug fixes
- 12c56e660 Reports: Make jumping to specific page possible
- 9f7e374b2 Reports: Keep information about type of data source (table or query). Detects if needed. (Bug #385071)
- 4457b59d9 CSV import assistant: switch back to checkboxes from command link buttons
- 87b9be923 CSV import assistant: fix layout of delimiter widget
- 1afb7fbf6 CSV import assistant: Improve getting filename selection from the new file requester
- c4103f731 CSV import assistant: Single click on file requester's item moves to next page
- 10a3e4d85 Fix broken CSV import (Bug #386102)
- 17fcaf440 Rework the KexiFileRequester to use a simple and light QTreeView
- c7385a4af Update mimetypes info when needed
- 608d6b4db Fix "wait" cursors
- 7e783f1bc Fix crash when deleting or renaming a table (Bug #379078)
- 28f684a4d Table Designer: don't warn about non-existing table or query when lookup fields are cleared
- 97472ba5d Table view's combo box editor: delete the combo button when needed, this fixes possible crash when user clicks the non-deleted button
- d98f53f12 Fix possible crash when table view containing combo boxes is re-used (Bug #389029)
- b0eddb7aa Fix recent dirs handling for file widgets (bug from Kexi 3.0.x), move recent start/recent dirs handling to KexiUtils
- f69ac59ad Forms: Fix double moving forward/backward on tab/backtab key press
- 1400c0fbc Before physical altering or deleting table ask the user to close depending table/query/report/form (Bug #371896, Task #7704, Review #8118)
- 6cc93c7c2 Synchronize the "dirty" flag between Design and Text views
- 619f967f1 SQL designer: remove possible memory leak if the parsed query object is still present on destruction
- ab0373aec Queries: fix possible crash in data view when the query design changes in a design view
- 6da3188a6 Queries: after parsing the SQL only assume the query changed if the SQL differs from the previous SQL
- 80363610d Fix memory leak in Project data object (list of auto-open objects)
- cbb7e9a9c Fix detection of single-click mode for XFCE
- Optimizations
- 54558040c Improve memory management of raw SQL execution and preparing (Review #5772)
- Improvements
- acec3e586 Set Cancel as default for critical question message boxes
- e6d0010d1 Use Delete verb rather than Remove for consistency
- 16da909e5 Don't use empty space by object tabs (like in web browsers)
- 4adbe1bd3 Backport experimental scripting in Kexi. (Task #4649, Review #6037)
- c220b122c Add config file setting to force the use of KFileWidgets or simple file requesters independently of the desktop (Task #5791)
- e246e138c Detect whether native operating system's dialogs should be used
- ec71dc00c Query Designer: Improve "The query you entered is incorrect. Do you want to cancel any changes made to this SQL text?" question
- b141d08d6 Query Designer: Improve "Do you want to save invalid query?" question
- ec3ed6fd9 Import Table assistant: improve appearance of the "Finish" page and logic for buttons
- ef638949c Project Import assistant: support single-click accepting of source databases if needed
- 9d113c82f Translations and typo fixes
- ae73eabbc Add option to build without KFileWidget, default on Windows
- 1b9febfe5 Connection selector widget: select Next step on double click, don't select on highlighting
- 12d1adf10 Add location edit and file filter combo work in KexiFileRequester, add filename completion
- 9d63a4f52 Reports: Remove traces of "external data" support, this is not supported since Kexi 2.3
- ae0116bb2 Reports: Remove no longer necessary "Set Data" button from the data source tab
- Docs and examples
- d7a681d22 Fix and update Simple_Database.kexi example (Task #4737)
- 3.1.0
Changes in KDb
KDb is a database connectivity and creation framework for various database vendors.
- 3.1.0 Beta 1 (3.0.94)
- API changes
- c9724af4 Add optimized overload KDb::isIdentifier(const QByteArray&)
- ad942b0c KDbUtils::Property/Set: add operators ==, !=, setCaption(), setValue(), allow Property to be not null even is there is no caption
- da0ee94a KDbConnectionOptions: add operators ==, !=, add setValue(), make insert() work for valid identifiers only
- a133a6d4 Add some more const correctness to KDbField and KDbQueryAsterisk
- 8324d4b0 Add d-pointer to KDbIndexSchema, improve API and docs
- 52c0091a Add d-pointer to KDbInternalTableSchema for future extensions
- a004dbe7 Add d-pointer to KDbLongLongValidator
- 2c8d47d3 Add d-pointer to KDbQueryColumnInfo for future extensions
- e1bbd778 KDbConnection::TableSchemaChangeListenerInterface -> KDbTableSchemaChangeListener
- bf289538 Remove abbreviations from KDbResultInfo
- 95e6ba91 Make KDbTableViewData::autoIncrementedColumn() const
- 9ba04128 Add more QDebug operators
- 7c25225f Move KDbLookupFieldSchema::RecordSource to KDbLookupFieldSchemaRecordSource
- cb098025 Add and clean up operators ==, !=, = for KDbLookupFieldSchemaRecordSource, KDbLookupFieldSchema, PropertySet
- 47e6a5e0 Add d-pointer to KDbOrderByColumn, use enum class for SortOrder
- 86706b3a Add many overloads to KDbQuerySchema, remove use of bool args, update docs
- 61473975 KDbField, KDbFieldList, KDbQUerySchema, KDbQueryAsterisk: clean up virtuals
- 3556a61f Move KDbQueryAsterisk to separate files
- 3b2db65b Add d-pointer to KDbQueryAsterisk
- 8d196081 Fix constructors of KDbQueryAsterisk and KDbField and improve constness
- 0da02ad6 Replace KDbCursor options with enum (Task #4736, Review #4957)
- 8647bf71 Make KDbQuerySchemaParameter implicitly shared
- de724068 Remove operator== from Resultable
- d7e1200a Improve memory management of raw SQL execution and preparing (Task #5992, Review #5771)
- 3c662e74 Pass the KDbSqlResult by value to KDb::lastInsertedAutoIncValue
- 422c62c8 Global API change: SQL -> Sql
- 013848ab Remove unnecessary inline code from headers
- 06d49115 KDbTransaction::active -> KDbTransaction::isActive
- 24da8061 Remove redundant const KDbTableSchema* KDbQueryAsterisk::table()
- 094b7290 Add operators ==, != for KDbQueryAsterisk
- 282a5608 Add operator != for KDbTransaction
- 7394ee0f Replace boolean parameter 'table' with enum in KDbTableOrQuerySchema
- 91081ea7 Replace boolean parameter 'owner' with enum in KDbTableViewColumn
- 5492b72c Use enums for KDbConnection::commitTransaction and KDbConnection::rollbackTransaction
- 499ba8a7 Add and use KDbConnection::QueryRecordOptions
- ad1e4880 Add and use KDbConnection::AlterTableNameOptions
- d7397ec6 Add and use KDbConnection::CreateTableOptions
- b8fad114 KDbConnection::dropTable -> KDbConnection::dropTableInternal
- a5d50f94 Make KDbSelectStatementOptions implicitly shared
- 9cddfb10 Move KDbDriverBehavior pointer to driver's d-pointer, add protected KDbDriver::behavior()
- df0a5eab Add d-pointer to KDbRelationship, assignment and comparison operators, simplify header
- 22082b9b Add d-pointer to transaction classes, split their headers, move KDbConnection::TransactionOptions to KDbTransaction, improve docs
- 3962069c Improve constness of KDbTableViewColumn and related classes
- bccf9296 Add d-pointer to KDbField
- 0d701f0e Add d-pointer to KDbFieldList
- c0c0dc1c Add two KDb::escapeString() helpers
- 70fb2d24 Reduce number of assertions, make many parameters optional
- ec8ea1af Make KDbConnection::loadObjectData(id) require object type, allow to pass existing query object to parser, use loadObjectData() more
- 637866b6 Use 'cannot' instead of 'could not' for something that can never work
- 1d6ce3b6 KDbOrderByColumnList: Remove inheritance from template classes (Task #407)
- f6e1d8fd KDbField: Remove inheritance from template classes (Task #407)
- 865aaae8 KDbFunctionExpression and KDbToken: Remove inheritance from template classes (Task #407)
- 3e87811c Make query and table objects independent of connection (decouple) (Review #7027)
- e755e3af Cache expanded fields of KDbQuerySchema in context of connection
- aa2a7a43 Make query and table objects independent of connection (decouple) (Task #6695, Review #7027)
- 28840f34 Use enum class in findExe()
- 43b52dc1 Use enum classes in KDbLookupFieldSchema and KDbLookupFieldSchemaRecordSource
- 3145dccd Use enum class for BLOBEscapingType
- f8d07600 Use enum class for KDbConnectionData::UserVisibleStringOption
- 6752c58f Make alias-related methods for query schema return boolean result
- Bug fixes
- 75ce1082 SQLite driver: don't clear set of paths in extraSqliteExtensionPaths Connection property if exists
- 564a9237 Add safer debug for large values
- 46c6f293 Fix issues because of using " quotes for identifiers in SQLite driver (Bug #376052)
- 7c489ffa Query parsing: try harder to locate positions of table/table aliases
- ba423b99 Connection dialog: make message handler optional, return result, accept on success
- 06de0ced Fix KDbNativeStatementBuilder API: connection is always needed
- 9fb605c7 Add COLLATION keywords when generated statements are native, otherwise KDbSQL string is invalid (Bug #379447)
- a10c1be7 Fix generating of SQL statements if there are tables used having lookup fields based on queries (Bug #385417)
- e56318d1 Aesthetics: generate "SELECT FROM ..." statements with exactly one space after SELECT
- a2c5c9ec Fix crash when generating "SELECT a.* FROM a, b" statements
- 58acda41 Generate automatic ORDER BY only for native SQL statements
- 40c07dec Raise SQL parse error when alias is duplicated for columns, e.g. "SELECT foo AS a, bar AS a FROM t"
- 479333c2 Raise SQL parse error when alias is duplicated for tables, e.g. "SELECT * FROM foo AS a, bar AS a"
- 3d6032f4 Expand scope of KDbTableSchemaChangeListener to allow registering queries for changes in table schema (Bug #371896, Task #7704, Review #8117)
- 29bf64b2 Properly unregister table from listeners before dropping (Task #7703, Review #9771)
- 7eefe215 Setup query in connection: parsing failure can delete the query object so do not try to access it
- 48f42f04 Query schema: fix possible crashes - explicitly/properly remove query from connection's cache when needed
- 3028f8ac Query schema: fix memory leaks - remove internal expressions
- Optimizations
- Docs and examples
- 0f477121 Enable creation of API docs QCH file during the build (Review #3513)
- API changes
- 3.1.0
Changes in KProperty
KProperty is a property editing framework with editor widget similar to what is known from Qt Designer.
- 3.1.0 Beta 1 (3.0.94)
- API changes
- 81d317c Make KF a component that can be specified in find_package(KPropertyWidgets)
- d2cb9e1 Move paintInternal() to KPropertyValuePainterInterface::paint()
- 6f90a8f Make KProperty::hasOptions() look at parent property too, if possible
- 4a27e3a Reduce protected API of KProperty, make d-pointers private, not protected
- 42b1e7b Property groupDescription is now called groupCaption, icon is called iconName
- 692a02d Reduce protected API of KPropertySet, use KPropertySetPrivate API internally
- 80e8f6d Reimplement support for property groups, add API to show/hide groups (Task #5020, Review #3957)
- f97ab39 Many enums are now enum classes, and some booleans are now QFlags
- ad82184 Add missing operators !=
- afa69a9 Add KPropertySet::groupNameForProperty()
- c37eb63 Changes from uint to int (Qt convention)
- c6c5914 Replace "unit" property option with "suffix"; add "prefix", support in double/integer/composed types (Task #5872, Review #5419)
- 5eb591a Allow to use newline characters for captions in the property view, add KProperty::captionOrName()
- 4a55b4b Add d-pointers and Q_DISABLE_COPY to composed factory APIs
- 9b55579 Replace KPropertyEditorCreatorInterface::Options by KPropertyEditorCreatorOptions, add d-pointers
- f1e24a7 KPropertyBuffer -> KPropertySetBuffer, add d-pointer
- 959ff43 Improve KPropertyListData API, remove one constructor from KProperty
- 4f247d7 Move KPropertyListData to separate files
- ff64dc9 Add d-pointer to KPropertyComboBoxEditor and move nested classess
- cc03c09 Add d-pointer to KPropertyLabel
- b85c684 Add d-pointer to KPropertySetIterator, add operators and copy constructor
- b3f950a Make API of KPropertySetPrivate more protected
- 08ac635 d075767 Add d-pointers to editor classes
- af67dc6 Invert logic of KProperty::ValueOption enums to simplify user's code; return result of setValue()
- 1afd2d2 Return true in KProperty::isModified() also when at least one subproperty is modified
- 4e123fa Add KPropertySet::clearModifiedFlags() and KPropertySet::isModified()
- 5a20f08 Allow to remove property option by setting the option's value to null
- be46e3f Add toolTipsVisible feature to KPropertyEditorView, if enabled tooltips are visible for property editor items
- Bug fixes
- 2e82810 Fix painting grid over scroll areas
- 3ae4b9b Fix background of multiline editor
- 1f1ebb7 Fix background color for multiline editor when alternate color is needed or is in readonly mode
- 494a9ab Try to locate icon rcc files in PATH subdirs too, useful for running apps from the build dir, without installing
- cb98dcd Color editor: display hex color code also when the editor is active
- 94ff37a Combo box icon provider: fix possible memory issue with assigning KPropertyComboBoxEditorOptions values
- 65b4c1a Add translations missing in 3.0.x
- 1b3f4c4 Properly update properties with subproperties in the view when value or the "modify" flag changes
- 2ad9224 Do not display unclear "None" text when point/size/rect values are null
- af30f18 Fix displaying minimum values for types having minimum value defined but no minValueText value
- ff32c68 Translations: split kproperty_qt into kpropertycore_qt & kpropertywidgets_qt (Task #3992, Review #8230)
- a05c8f4 Int/double spin boxes: do not allow to set values out of range, fix invalid ranges
- 46b682e List .pot files explicitly, this allows releaseme l10n detection to work, used in KDE neon
- e34ed54 Fix handling values in the URL editor
- aaa5e51 Improve commit changes for the URL editor only; fixup paths
- Docs and examples
- f1ac05e Enable creation of API docs QCH file during the build (Review #3514)
- c58d9b1 Resize first column of the property view to contents in KPropertyExample
- API changes
- 3.1.0
Changes in KReport
KReport is a framework for the creation and generation of reports in multiple formats.
- 3.1.0 Beta 1 (3.0.94)
- d5194fc276 New: Add support for custom page width/height (Review #1263)
- 3eb3ec6ff7 New: Add more page sizes (Task #6855, Review #8559)
- API changes
- 83e154bb47 Use d-pointer in KReportDocument (Review #3043)
- 138351e2df Use d-pointer in KReportItemBase and KReportItemLine (Review #3286)
- 0ee55729c2 Remove KReportPageOptions (Review #3322)
- 1b554d8e75 Improve ORODocument (Review #3423)
- 4e7e49cb2a Remove KReportPosition and KReportSize, port the Line item to QPointF and KProperty. (Review #3612)
- d3dbe757ad Remove ZoomHandler and ZoomMode from the public API
- 3ae612d44e Use d-pointer in KReportScriptHandler (Review #3741)
- 77732e2fb5 Use d-pointer in classes of KReportRendererBase.h (Review #3746)
- 2209f06112 Use d-pointer in KReportData and SortedField (Review #3757)
- fbac3ff79a Use d-pointer in KReportUnit (Review #3792)
- 362b144caf Make KReportDpi a private non-exported class (Task #4491, Review #3800)
- 5abc07dd79 API cleanups/renames related to KReportDataSource and others (Task #4492, Review #4230)
- 1af771ed14 Make KReportDesignerSection constructed by KReportDesigner, hide the zoom handler, use more stack, some renames (Review #5120)
- e113f991c2 Add missing KReportView::moveToPage(int)
- ffcf691186 Rename KRTextStyleData to KReportTextStyleData (Task #4820, Review #5437)
- c1f6e2ae24 Move script sourcing to its own class, with associated changes (Review #6036)
- 77812dc417 Make page break related enums enum-classes, fix API
- 5ac90cb317 Make page break related enums in KReportDetailSectionData and KReportDetailGroupSectionData enum-classes, fix API
- fc57429bc1 Add more enum classes (Review #6758)
- d4af3605e6 Clean up KReportUnit API (Task #4967, Review #6756)
- 084f43295a Use d-pointer for remaining memebers of KReportDesignerItemRectBase (Task #6773, Review #7638)
- ec870b7d19 KReportPreRenderer::setSourceData -> KReportPreRenderer::setDataSource
- 81246e54a1 Add d-pointer to KReportSectionData and clean up the API and export it (Review #9893)
- Bug fixes
- b7ee4ca8e5 Stability fixes from Coverity tests (Review #3827)
- e1cdb13902 Fix build warnings and clear up init() code for items (Review #3891)
- 5dadf632c2 Fix crasg in SortedField when copy-constructing (Review #4005)
- 9f1a380616 Fix usage of QPageLayout by calling the non default constructor (Review #4021)
- bccf32cc7d Port QRegExp to QRegularExpression (Review #2889)
- acab7faf5d Remove unnescessary strings for translation (Task #5863, Review #5418)
- 1c74f5980a Linestyle width > weight
- bc7a9debce Fix initialization of report elements created by user, e.g. barcodes had invalid default settings
- 7e339dc51e Fix field type not updating report dirty state
- d74b78557e Improve detection of scripting in reports (Task #668, Review #5700)
- 67ee9944d1 Set the default interpreter to Javascript if it is empty
- f3a6b850a1 Fix interpreter if empty
- 0944e7cf34 Add missing features from 2.9 (Task #1744, Review #5875)
- 108881ef2b Always save the interpreter as javascript if empty (Task #6183, Review #5965)
- 475726960f Fix broken logic related to looping over report elements
- 4d79eb358a Fix recursion crash when item is smaller than scene (Task #6558)
- 19c616db56 Change X-KReport-Priority field in .desktop files to X-KReport-PluginInfo-Priority (Task #367, Review #6911)
- d3261a8252 Fix horizontal alignment for barcode scripting and use alignment enum
- d7b7d97bfc Make KReport build and kreportexample run also when KREPORT_SCRIPTING is OFF
- 8dc953ad04 Fix crash when showing first-page section
- 01c74dd484 Fix crash when pasting line element
- 7382bae90a Improve initialization of properties in Report Designer (Review #8518)
- 9bd89ac975 Use suffix option from the new KProperty instead of units; implement units locally in KReport (Task #6559, Review #5441)
- Docs and examples
- 1dc3c3edd9 Enable creation of API docs QCH file during the build (Review #3515)
- eabeab11d1 Add and improve user scripting API docs from 2.9 (Task #1744, Review #5894)
- 152e9e3113 Add brief docs for exported classes (Review #9401)
- 3.1.0
- Bug fixes
- df4177c0ac Fix rendering asynchronously rendered elements such as maps and web boxes (Review #9933)
- Bug fixes