summaryrefslogtreecommitdiffstats
path: root/kexi/doc/dev/CHANGELOG-Kexi-js
diff options
context:
space:
mode:
Diffstat (limited to 'kexi/doc/dev/CHANGELOG-Kexi-js')
-rwxr-xr-xkexi/doc/dev/CHANGELOG-Kexi-js5867
1 files changed, 5867 insertions, 0 deletions
diff --git a/kexi/doc/dev/CHANGELOG-Kexi-js b/kexi/doc/dev/CHANGELOG-Kexi-js
new file mode 100755
index 00000000..9b74a65d
--- /dev/null
+++ b/kexi/doc/dev/CHANGELOG-Kexi-js
@@ -0,0 +1,5867 @@
+-----------------------------------------------------------------------------
+ Kexi Development CHANGELOG Document
+ From jstaniek's Point of View
+
+ Copyright (C) 2003-2007 Jaroslaw Staniek js at iidea.pl / OpenOffice Polska
+ Kexi home page: http://www.kexi-project.org/
+-----------------------------------------------------------------------------
+
+For most important commits use: CCMAIL:[email protected]
+For interesting commits use:
+FEATURE: <desctiption>
+For bugfixes use CCMAIL:###[email protected]
+Legend:
+= -a fix for recently introduced bug or a minor/too technical fix not worth
+ mentioning in the public changelog
+
+TODO: fix displaying default values in comboboxes (form and tableview)
+TODO: use KCompletionBox in (editable/noneditable) comboboxes
+
+2007-04-11
+Forms
+- forms having parameter query as data source now ask for parameters
+2.0: merged
+
+2007-03-21, 22
+Table Designer
+- clear command history after successful saving of the design
+- on switching to data view, do not warn about removing data,
+ if the data will stay untouched
+2.0: merged
+Query Designer
+- removed possible crash in data view
+2.0: merged
+
+2007-03-16
+Query Designer
+- fixed table sizes in the Design View
+- fixed displaying relation connection lines when connected field is not visible
+- fixed mouse drop position when target points on a field of table with
+ scrolled-down contents
+- do not show internal relationships for visible lookup fields (JOINs) in SQL view
+2.0: merged
+Table View
+- make column readonly if query-based data source itself is stored (i.e. has connection)
+ and lookup column is defined
+2.0: merged
+
+2007-03-15
+KexiDB
+- SQL parser can work recursively now (needed when multiple parsers are used
+ in the same thread, removed possible crash)
+2.0: merged
+
+2007-03-12..14
+Main Window
+- main window is activated after closing "Insert image" file dialog
+= "find" action: restart searching from start for "Search all rows" mode if:
+== user has changed the value to find since previous searching, or
+== user has recently changed direction to "Search all rows"
+- searching is performed within lookup values as well
+Simple Printouts
+- fixed problem with records printed between page boundaries
+- fixed problem with updating print preview's page navigator when number of pages differs
+ compared to previous preview
+2.0: merged
+
+Table View
+- usability: within cells of type "Image" pressing Tab, Shift+Tab, Left
+ or Right keys now closes the popup and moves the cursor
+2.0: merged
+
+2007-03-07
+Simple Printouts
+- fixed refreshing print preview after table data or query results changed
+2.0: merged
+
+2007-03-02
+Simple Printouts
+- added support for printing and previewing images
+- improved previewing quality
+- fixed landscape mode
+2.0: merged
+
+2007-02-27
+Forms
+- hide popup in combo box or image box as soon as it loses focus
+- changes made to combo box selection is cancelled if the popup
+ loses focus without accepting
+- hide popup in combo box or image box as soon as user moves
+ to other record (usually with a shortcut)
+- fixed handling page down/page up keys within combo box popups
+ (previously it moved to other record)
+2.0: merged
+
+2007-02-23
+Forms
+- for buttons, left/up and right/down keys act like tab/backtab
+2.0: merged
+
+2007-02-19
+Forms
+- fixed displaying margin for image boxes
+- fixed assigning static images to image boxes without saving form's design;
+ the images can now be saved also in data view mode
+- fixed handling tab key for image boxes
+- automatic tab order:
+-- fixed ordering for widgets within containers (e.g. a group box)
+-- widgets within tab widget pages are ordered by page number
+-- widgets inside tab widget that are not visible are skipped when moving
+ focus using Tab/Shift+Tab key
+- Ctrl+Tab shortcut (for switching between tabs) works on windows
+ if multiline text editor is focused
+2.0: merged
+
+2007-02-12
+Forms
+- fields dragging & dropping works for containers (tab widgets, frames and group boxes)
+2.0: merged
+
+2007-02-09..14
+Main Window
+- Edit->Find action added, works within table, query and form views as a global,
+ context-dependent tool window.
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 1.1.2 bugfix release (with KOffice 1.6.2) ~~~~~~~~~~~~~~~~
+
+2007-02-09
+Table View
+- added more actions to the context menu in data view
+
+2007-02-08
+Tools
+- added "Delete column" tool for deleting table columns without removing data;
+ translation enabled; with GUI wrapper
+- fixes for "Add column" tool
+2.0: merged
+
+2007-02-07
+KexiDB
+= fixed possible crash when running a query without primary key included
+ (encountered e.g. when a form contains static images)
+2.0: merged
+Tools
+- added GUI version of "Add column" tool (with translation enabled)
+- the tool is now installed
+2.0: merged
+
+2007-02-06
+KexiDB
+- queries are supported as row source for lookup fields
+- sort query results by primary key fields if there is no explicit sorting specified
+ (especially useful when there are complex joins)
+2.0: merged
+
+2007-02-05
+Query Designer
+- fixed crash if column being removed has sorting set up
+2.0: merged
+
+2007-01-26..2007-02-05
+Table Designer
+- added support for multiple visible columns in the combo box editor
+ (the same for forms)
+- on altering table, remove old lookup field schema objects;
+ make sure you do not save empty type/name fields to XML
+- fixed updating "lookup column" tab's contents
+2.0: merged
+
+2007-01-24..25
+Table Designer
+- fixed altering table schema when lookup column has been changed
+2.0: merged
+Forms
+- align autofield's label to left if it is on the top
+- do not show popup after clicking on combo box
+- fixed popup position of combo boxes inside a container
+- fixed saving property values of type "enum" for subwidgets
+2.0: merged
+
+2007-01-23
+Table Designer
+- fixed crash on saving design with lookup columns defined
+2.0: merged
+Forms
+- fixed handling "align" property for image boxes when scaling is off
+2.0: merged
+
+2007-01-09
+Table Designer
+- some changes do not require table removing now:
+ e.g. field's caption, description, text width, defaultValue,
+ visibleDecimalPlaces
+- fixed updating default value when field type changes
+2.0: merged
+Forms
+- floating point values:
+-- values are now formatted in the same way as in table view,
+ so "decimal places" property of the field is honoured
+-- locale-dependent decimal symbol can be entered instead of '.'
+2.0: merged
+
+2007-01-08
+Build system
+= fixed generating examples when Kexi binaries are not installed
+ (it's the case for fresh compilation)
+2.0: merged
+General
+- Fixed crash related to QtCurve widget style.
+2.0: merged
+
+2007-01-03
+Kexi
+- use transliteration table generated by a shell script
+ to generate identifiers out of unicode characters;
+ plus some adjustments made by hand
+BUG: 133170
+2.0: merged
+
+2007-01-02
+Startup
+- Command line option "--show-navigator" added - shows the Project Navigator
+ side pane even if Kexi runs in User Mode.
+2.0: merged
+Kexi
+= Example files are generated usign a standard automake rule and are installed
+to the Kexi's data dir (so packagers can ship it).
+2.0: merged
+
+2006-12-21..28
+Kexi 2.0
+= formeditor lib ported to KDE4 (not tested)
+Startup, Main Window
+- "User Mode" implemented; command line option --final-mode replaced with --user-mode
+ as described at http://kexi-project.org/wiki/wikiview/index.php?UserMode;
+ all actions related to design are hidden as well as property editor and navigator panes
+2.0: merged
+General
+= removed usage of KEXI_SERVER_SUPPORT macro
+2.0: merged
+
+2006-12-18..20
+Forms
+- "Assign Action" dialog:
+-- added 'create new' and 'close view' actions with a given context
+-- "Current form" actions category added with actions like
+ "go to next record", "go to new record"
+-- more design actions like 'undo' moved to the global category
+2.0: merged
+Main Window
+- action tooltips made generic (not only for tables),
+ e.g. "Save changes made to the current row"
+2.0: merged
+
+2006-12-13..15
+Startup
+= do not recreate kexi__blobs table when connection is readonly;
+- projects created with older Kexi versions can be now opened
+ in readonly mode too
+2.0: merged
+Project Migration
+- fixed copying existing objects to the destination database
+- MySQL and PostgreSQL
+-- fixed importing unicode text and static images if present in the source database (BLOBs)
+-- data types are better handled for import
+2.0: merged
+Forms
+- action selection dialog:
+-- the list of menu commands now contains tooltips instead of action texts to improve
+ readability and is displayed with full width
+-- actions are now categorized, so actions that have no practical use are hidden
+2.0: merged
+
+General
+= typos fixed in API docs
+BUG:138542
+2.0: merged
+
+2006-12-07
+Tools
+- added 'add column' utility:
+ This script adds a new empty column to a table in a .kexi (SQLite 3)
+ database file without removing data from the table.
+2.0: merged
+
+2006-12-06..12
+Forms
+- action selection dialog:
+-- moved "Macros" and "Scripts" to "category" list,
+ which also supports opening tables/queries/forms, running macros/scripts
+-- added "Action type" column so it is possible to assign printing
+ and opening in objects design view
+-- added "Execute form's action" category
+2.0: merged
+Main Window
+- Project Navigator:
+== widget moved to widgets/ for reuse
+-- double/single clicking on executable objects (macro, script) executes them
+2.0: merged
+
+2006-12-05
+General
+- missing i18n()
+2.0: merged
+Query Designer
+- display "(All Columns)" near the "*"
+- SQL editor on Unix: initially, clear undo/redo buffer
+ (otherwise Ctrl+Z clears the contents)
+2.0: merged
+KexiDB
+- fixed problem with constructing SQL statements:
+ for multi-table queries "ORDER BY column" prepends "table" only if "column"
+ is not a name of alias
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 2007 (OOPL) ~~~~~~~~~~~~~~~~
+
+2006-11-28..29
+Examples
+- added parametrized query 'Owners by age'
+= update the parameter query: remove joins because there's still one related bug
+2.0: merged
+
+2006-11-27
+Examples
+- "Simple Database" example updated: added "Ownership" form and a macro
+- "Simple Database": added "write_simple_text_report" Python script
+2.0: merged
+
+2006-11-21
+Table View
+- fixed crash when combo box drop down button is clicked but bound column
+ is not defined for lookup field
+2.0: merged
+Forms
+- fixed possible crash when auto field is used for field with lookup
+ column defined
+- sane icon for the Auto Field widget and Label, improved button icon
+2.0: merged
+
+2006-11-17
+CSV Export
+- export visible values for lookup columns instead of internal values
+Simple Printouts
+- print visible values for lookup columns instead of internal values
+2.0: merged
+KexiDB
+- generate aliases for lookup table names to avoid errors because
+ of ambiguous table names when the same lookup table is used more than once;
+ For example, use persons1 and persons1 aliases here:
+ SELECT service.id, service.emploee, service.service_man, persons1.surname,
+ persons2.surname, service.OID FROM service
+ LEFT OUTER JOIN persons AS persons1 ON service.emploee=persons1.id
+ LEFT OUTER JOIN persons AS persons2 ON service.service_man=persons2.id;
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 1.1.1 bugfix release (with KOffice 1.6.1) ~~~~~~~~~~~~~~~~
+Query Designer
+- propery initialize newly appended rows
+2.0: merged
+
+2006-11-16
+Table View
+- fixed updating contents of the combobox's internal text editor after
+ pressing F2 or Enter key
+- fixed possible crash on application's close
+- fixed copying/pasting values from the combo box (visible text is now copied/pasted)
+2.0: merged
+
+2006-11-15
+Query Designer
+- fixed setting up sorting in the design view
+- fixed setting up string constants as criteria
+2.0: merged
+Table View
+- fixed copying time and date/time values to clipboard
+- fixed pasting time, date and date/time values from clipboard
+2.0: merged
+
+2006-11-14
+Forms
+- fixed displaying Date/Time values
+- fixed crash when "Esc" key is pressed to "cancel row changes"
+ and a combobox widget is focused
+- fixed handling Ctrl+Delete key for "Delete current row" action
+- fixed crash when an autofield's subwidget is painted but the parent
+ is about to be deleted
+2.0: merged
+Table View
+- fixed displaying visible values (usually a text) for lookup columns
+ when there's a default value defined in the referenced table
+- visible values of types other than text or numbers are properly
+ displayed (including images)
+2.0: merged
+Queries
+- fixed retrieving parameters of type Text
+2.0: merged
+
+2006-11-07..13
+Main Window
+- switch contents of custom property tabs after switching the current tab/window
+ (needed for Table Designer's tab)
+- added a warning message box with "Errors encountered during loading plugins"
+ message, controled by dontShowWarningsRelatedToPluginsLoading configuration setting.
+- groups and items for nonexisting plugins are not visible now
+2.0: merged
+Query Designer
+- show more error messages on opening query in design view
+ (e.g. for unsupported column expressions)
+- fixed saving relationships: removed too strict checking for datatypes when creating
+ relationships (signedness)
+2.0: merged
+KexiDB
+- Parser: improved types evaluation for expressions
+- kexi__objectdata.o_data field type changed from BLOB to LongText (backward compatible)
+ to improve human-readability
+2.0: merged
+Forms
+- fixed problem with setting "invalid" flag for fields with invalid data source
+2.0: merged
+Core
+= fixed possible crash on application exit when data changes listener is removed
+2.0: merged
+General
+- Simple_Database.kexi example updated: combo boxes are now used; example data looks better
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 1.1.1-pre ~~~~~~~~~~~~~~~~
+
+2006-10-30..2006-11-06
+Table View
+- better displaying tooltips for columns with lookup data
+- sorting columns with lookup data works
+= various improvements for combo boxes
+2.0: merged
+Forms
+- database-aware combo box form widget works, improved data displaying,
+ mouse and keyboard handling
+- fixed bug #136688 - displaying dates (e.g. with dd.mm.yyyy format)
+= do not block Escape key if there are no data changes to cancel;
+ do not block shortcuts like Shift+Left arrow
+2.0: merged
+
+2006-10-27
+Forms
+- display proper record when a new row was saved and user moved to previous record
+= fixed possible crash inside the row buffer
+2.0: merged
+Table View
+= fixed handling data in lookup fields and cursor moving
+= fixed adjusting width of column containing lookup field
+2.0: merged
+
+2006-10-24..26
+Query Designer
+- New: Added support for parameter queries in design and SQL view.
+ User is asked for entering value of a parameter in a dialog window.
+ Paramers can be of any type except Object.
+ (see also: MSA 2002 Bible, p. 767)
+2.0: merged
+Table Designer
+- Byte datatype is always set to unsigned now
+- "Double precision" datatype is now the default for the floating point
+ type group instead of Float (so we get better precision by default)
+2.0: merged
+Table View
+- fixed validating Big Integer numbers
+2.0: merged
+Forms
+- fixed validating Big Integer numbers
+2.0: merged
+
+2006-10-20
+Forms
+= fixed default size of combo box widgets
+= removed crash when a combobox without a data source was clicked
+2.0: merged
+Main Window
+- accessibility: property editor can be focused using an accelerator key;
+ moreover, Alt+2 now focuses main area and Alt+3 focuses Property Editor
+2.0: merged
+Table Designer
+- "combo" icon is displayed near the field name that have lookup column defined
+2.0: merged
+
+2006-10-16
+Query Designer
+- refresh design view after a sequence of switches:
+ text view -> data view -> design view
+2.0: merged
+KexiDB
+= saving "lookup column" metadata supported
+2.0: merged
+
+2006-10-12
+Forms
+- fixed displaying contents "Data Source" property for multiple selections;
+ unnecessary updates removed (GUI is updated only after adding
+ the last widget to the selection)
+2.0: merged
+Table Designer
+- "Lookup column" property tab added to the property pane
+2.0: merged
+
+2006-10-11
+KFormDesigner
+- removed crash on close and problems with displaying properties
+2.0: merged
+Forms
+- do not update the property editor for every form (only one is active anyway)
+2.0: merged
+
+2006-10-09..10
+Table View
+- fixed drawing selection highlighting for the horizontal header immediately after
+ scrolling the table
+2.0: merged
+Query Designer
+- column sorting is also supported for columns with cleared "visible" flag
+- SQL view's section header now provides an accelerator
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 1.1 stable (with KOffice 1.6) ~~~~~~~~~~~~~~~~
+
+2006-10-06
+KexiDB
+= fixed constructing ORDER BY part of SQL statements (ambiguous fields)
+= when creating "columns by name" cache, also remeber "table.alias" identifiers
+= QuerySchema: retrieving infromation about columns much improved
+ (needed by the parser and designer)
+2.0: merged
+Query Designer
+= fixes for handling ordering information in design mode when there're asterisks
+ in the query
+2.0: merged
+Forms
+- fixed bug #134976: Yes/No field default value does not work properly
+ (for required field: if you add a checkbox that points to a Yes/No
+ field that has a default value the default value is not accepted)
+2.0: merged
+Table View
+- fixed problem with editing floating-point values when there's default
+ value set to 0.0
+2.0: merged
+
+2006-10-04, 05
+Table View
+= fixed displaying values for combobox fields
+= it is now possible to have empty combobox item: selecting it clears
+ the value of combobox
+2.0: merged
+Query Designer
+- invalid input (e.g. criteria or sorting) now displays a message box with
+ "Correct" and "Discard Changes" buttons
+- added support for setting order of columns in Design and SQL views (ORDER BY)
+- fields were sometimes added twice
+2.0: merged
+KexiDB
+= fixed handling information about columns ordering
+2.0: ported
+KoProperty
+= Property: added a method for clearing "modified" flag
+2.0: ported
+
+2006-10-03
+Forms
+- solution for bug #134773: hide "Editor type" property for auto fields
+ Kexi 2.0 will have it unhidden.
+2.0: ported
+- fixed updating property values of enum type
+2.0: merged
+Core
+- fixed bug #134977: enabling/disabling of actions in query editor
+2.0: merged
+Main Window
+- fixed bug #134975: "Data actions do not appear on first open"
+ workaround used before Kexi 2.0: the Data toolbar is always visible
+2.0: merged
+
+~ ~ ~ ~ End of aKademy 2006, Dublin ~ ~ ~ ~
+
+2006-09-30
+KexiDB
+= support for ORDER BY while generating SQL statements
+2.0: ported
+
+2006-09-29
+Form
+- fixed bug #134504 "Several glitches in Kexi GUI"
+2.0: ported
+Docs
+- fixed bug #134503 "Typos in several Kexi docs"
+
+2006-09-28
+KexiDB
+= use COUNT(*), not COUNT() -- fixes MySQL support
+= missing ORDER BY usage while generating SQL statements
+2.0: ported
+2.0: 'parser' target added
+
+2006-09-25
+Forms
+- The first widget of a given kind should be named "widget" by default,
+ the second - "widget2" and so on. (thanks to Natalie)
+2.0: ported
+
+2006-09-21..27
+KexiDB
+- added support for ORDER BY clause
+2.0: ported
+
+~ ~ ~ ~ aKademy 2006, Dublin ~ ~ ~ ~
+
+2006-09-19
+Forms
+- double clicking items of "Available fields" list inserts a new auto field
+- fixed form's selecting data source via the data source pane
+2.0: merged
+KexiDB
+= fixed retrieving autonumber data
+2.0: merged
+
+~~~~~~~~~~~~ 1.1 RC1 release (with KOffice 1.6 RC1) ~~~~~~~~~~~~
+
+2006-09-14
+KoProperty
+- property is not changed when new and old value are both null
+- spin boxes for integer and double values: deleting the contents
+ now sets null value
+= consider unsigner long long and long long values as compatible
+2.0: merged
+KexiDB
+- do not try to insert default values into a column with unique
+ flag declared (or even PK)
+2.0: merged
+Table View
+- Fixed repainting after "Edit->Clear Table Contents" action
+= display question mark for null values in boolean column even
+ if it has to be "notNull"
+2.0: merged
+Table Designer
+- set "false" as default value for columns with Yes/No types
+- when column type changes, default value is updated to match the new type
+ (e.g. casted from integer to text; incompatible values are removed)
+2.0: merged
+
+2006-09-11..13
+KoProperty
+= fixed group widget's height
+2.0: merged
+Table View
+= fixed drawing drop-down arrow for styles like ThinKeramik
+2.0: merged
+- more shortcuts added, shortcuts are now usable and a bit MSA-like
+-- CTRL+End now moves to the last field in the last record
+ (previously: the last record)
+-- CTRL+Home now moves to the first field in the first record
+ (previously: the first record)
+-- CTRL+PgDown now moves to the next record
+-- CTRL+PgUp now moves to the previous record
+-- CTRL+Plus or CTRL+= now moves to the new record
+= some common code moved to KexiDataAwareObjectInterface from KexiTableView,
+ thus allowing to reuse it in forms
+2.0: merged
+Forms
+- fixed tab/backtab key handling
+- fixed displaying custom label text when "Auto Label" property is off
+- handling of global shortcuts like CTRL+PgDown is now shared with
+ Table View (accesibility: it is now possible to move to next/previous
+ record using keyboard)
+- moving to new row sets the focus in the first data-aware widget
+ (in tab order)
+- fixed leaving from "editing" state on "accept row changes" or moving
+ to other record
+2.0: merged
+
+2006-09-08
+Table Designer
+- fixed inserting fields of type "Object"
+= "subType" has no longer a special meaning for BLOB types,
+ "objectType" is used for this purpose
+2.0: merged
+KexiDB
+= fixed saving custom property values
+2.0: merged
+
+2006-09-07
+Forms
+- custom widget factories can be now loaded properly
+= X-KFormDesigner-XMLGUIFileName variable added
+ to the KFormDesigner/WidgetFactory service type, so it's now
+ possible to specify XMLGUI file for defining toolbar actions
+ for custom widget factories
+2.0: merged
+KexiDB
+= Added SimpleCommandLineApp class - an utility for writing small
+ command line programs and tests that support database connections
+ out of the box and provide required arguments.
+= debug areas fixed
+2.0: merged
+
+2006-09-04
+Kexi docs
+- things like 'e.g.' moved to &eg;
+- use <procedure> where appropriate
+- a chapter about forms translated to english
+i18n
+= Stephan Binner's fixes #579553 and #579330 ported to 2.0
+Forms
+- hide QRadioButton widget - current implementation is no-op
+
+~~~~~~~~~~~~ 1.1 beta 1 release (with KOffice 1.6 beta 1) ~~~~~~~~~~~~
+
+2006-09-01
+Forms
+= added KEXI_DB_COMBOBOX_WIDGET define required
+ to add support for combobox form widget (disabled by default for beta 1)
+2.0: merged
+KexiDB
+= dependency on newer (>=4.1) client library removed:
+ MySQL driver now uses 'SELECT @@version' SQL statement instead of dedicated
+ API function
+= added possibility for switching off "LIMIT 1" optmization
+ for methods like Connection::querySingleString()
+ (e.g. needed for 'SELECT @@version')
+2.0: merged
+
+2006-08-29
+General
+- Added unicode->latin1 mappings for Czech characters
+2.0: merged
+
+2006-08-25
+Table View
+= tooltips are displayed also for "insert" row, if needed
+Forms
+= fixed displaying widget names for unbound auto fields
+ and image boxes while in design mode
+= fixed setting data source for auto field
+- initial version of the combo box widget (will be disabled for beta 1)
+2.0: merged
+
+2006-08-24
+Table View
+= displaying cell's selection background fixed for nonstandard font
+2.0: merged
+
+2006-08-22..23
+Forms
+- display default values in the new row;
+ default text is displayed with a special style (italic blue) as in table view;
+ cancelling changes in a widget reverts its contents to default value
+ (if available); the special style is removed as soon as the editing starts
+- "redo" action removed from the data-aware widgets' context menu
+ (to avoid problems with data handling)
+2.0: merged
+Table Designer
+= fixed setting subtype by user
+2.0: merged
+
+2006-08-21
+CSV Import Dialog
+= fixed delimiter change using the combo box (introduced by the prev commit)
+= unnecessary rows are removed after delimiter changes
+2.0: merged
+Table View
+- do not display default values for autonumbered fields
+- do not fill default values for already filled fields
+= boolean editor in tristate mode: fixed switching between true/false/NULL values
+- display default boolean values in blue
+- display tooltip with row number when the vertical scrollbar is dragged
+= fixed displaying tooltips for default values in the "insert" row
+2.0: merged
+
+2006-08-17
+Table View
+- tooltips are displayed for cells with too large contents
+2.0: merged
+CSV Import Dialog
+- delimiter detection is now even more clever, allowing to import more complex data:
+ characters outside quotes have higher priority; additional algorithm counting
+ number of candidates for delimiters is used.
+2.0: merged
+
+2006-08-14
+Table View
+- default values are displayed and work properly with editing
+- current row and column are marked as selection on the vertical
+ and horizontal header sections
+2.0: merged
+KexiDB
+= improved table name altering
+= row edit buffer now handles default values
+2.0: merged
+
+2006-08-11
+KoProperty
+= "3rdState" option for boolean types now uses a combo box with 3 items
+= removed unmaintained QT_ONLY code
+2.0: merged
+= 2.0: some dependency on Qt3 removed
+
+CSV Export
+= fixed crash on exporting to clipboard
+- time and object values: fixed exporting or copying to clipboard
+2.0: merged
+Main Window
+= "copy special" action is available after switching back to table data view
+2.0: merged
+
+2006-08-09
+KoProperty
+= "3rdState" option added for BoolEdit - i18n'd QString, if not empty,
+ the the editor's button accept third "null" state with name equal to this string.
+ When this value is selected, Widget::value() returns null QVariant.
+ This option is used for example in the "defaultValue" property for a field
+ of type boolean (in Kexi Table Designer). Third, "null" value of the property
+ means there is no "defaultValue" specified.
+Table Designer
+- Added "defaultValue" property to the designer
+= Alter Table Test Suite: added "i" variable support (including operator++),
+ closeWindow command, quit command, and optional "clipboard" flag
+ for showSchema, showActions, showTableData. Improved showTableData command.
+ Added "defaultvalues" test.
+2.0: merged
+KexiDB
+= added BLOB-encoding/decoding-related functions
+= improved storing and retrieving "defaultValue" property of table field
+2.0: merged
+
+2006-08-08
+General
+= operator tristate::bool() removed (unsafe, comparison with false was broken)
+2.0: merged
+Table Designer, KexiDB
+- fields of type yes/no have default value set to false (by default)
+= schema editing improved; on table altering, default values are inserted
+ and not-empty values are used is there's no default
+2.0: merged
+
+2006-08-07
+KexiDB
+= improved version-related parts of the API
+= server version information is retrieved
+2.0: merged
+
+2006-08-03
+KexiDB
+= PostgreSQL: use TIMESTAMP, not DATETIME for date/time data type
+2.0: merged
+
+2006-08-02
+CSV Export
+= GUI-less exporting is supported in the API (usable for tests)
+2.0: merged
+General
+- "skip-startup-dialog" command line option added
+2.0: merged
+KexiDB
+= Field::typeForString() and Field::typeGroupForString() are now case-insensitive.
+= added missing support for "indexed" and "type" properties for functions
+ like KexiDB::setFieldProperty()
+2.0: merged
+KoProperty
+= Property::oldValue() should not return value() if no value is available.
+2.0: merged
+Table Designer
+= fixed setting types and subtypes
+= fixed a crash when there are more than 50 "alter table" actions
+2.0: merged
+
+2006-08-01
+Table Designer
+= A test suite added for table altering
+2.0: merged
+
+~~~~~~~~~~~~ 1.1 alpha 1 release (with KOffice 1.6 alpha 1) ~~~~~~~~~~~~
+
+2006-07-31
+KexiDB
+= custom properties can be set for Field objects
+2.0: merged
+Table View
+- deleting cell contents containing Yes/No values
+- do not display drop-down buttons for read-only data
+2.0: merged
+Query Designer
+- possible crash fixed when new design is saved in the data view:
+ only rebuild schema if it has not been rebuilt previously
+1.0/2.0: ported
+
+2006-07-28
+Table Designer
+- fields of Yes/No type have "not null" set by default
+- fixed clearing "not null" property
+2.0: merged
+Table View
+- boolean "not null" field displays "false" instead of null in the new row
+= fixed column width adjustment
+= unused code removed
+2.0: merged
+
+2006-07-26..27
+Property Editor
+- fixed image scaling in the image editor
+2.0: merged
+Forms
+- image box: (in data view) do not allow to show context menu using keyboard
+ for static image (i.e. if no data source is assigned);
+ such a widget also ignores focus events (effective focus policy is NoFocus then);
+ focus frame is painted when needed
+2.0: merged
+
+2006-07-24
+Main Window
+- fixed setting focus after switching between views
+2.0: merged
+
+2006-07-18..2006-07-25
+KexiDB
+- added support for db-aware lookup fields
+2.0: merged
+Table View
+- added support for db-aware combobox fields
+- displaying values in combo box popup fixed
+2.0: merged
+CSV Import Dialog
+- leading 0xFEFF "BOM" unicode character is skipped
+ (http://www.unicode.org/charts/PDF/UFFF0.pdf)
+- added "Strip leading and trailing blanks off of text values" option
+- fixed changing options
+2.0: merged
+
+2006-07-17
+Forms
+- fixed maintaining focus when menu has been clicked
+- fixed tab/backtab for button widget (non-db-aware widgets in general)
+2.0: merged
+
+2006-07-10..14
+Forms
+- context menus now have consistent title: "<objectname> : <objecttype>"
+- cut/copy/paste shared actions work for form widgets in data view
+2.0: merged
+Table View
+- context menu from image box reused in the Table View's cell editor
+- cut/copy/paste/clear actions work for the image cells, including shortcuts
+- cut/copy/paste/clear actions work for text/number/boolean cells
+- fractional character ("," or ".") can be entered as the first character for
+ floating-point data types, what means 0.xxxxx
+- fixed updating row number info in the record navigator and updating the current
+ cell after column sorting
+- BLOB data is sorted by size
+2.0: merged
+KexiDB
+- SQLite driver: read only connections work again
+2.0: merged
+
+2006-07-07
+Forms
+- AutoField, Image Box: fixed setting background color;
+ drop-down button keeps its default color
+2.0: merged
+Table View
+- added drop down button as image cell editor
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 1.0.2 bugfix release (with KOffice 1.5.2) ~~~~~~~~~~~~~~~~
+~ Now, as 1.0.x is closed for changes, all the changes are merged into 2.0 only ~~
+
+2006-07-06
+Forms
+- Data Source tab of the Property Pane: fixed entering field or table/query
+ name by hand: pressing return accepts selection; focus-out accepts selection;
+ entering in-progress clears previous selection
+2.0: merged
+- displaying images optimized: no background is cached or painted
+2.0: merged
+- text box widget now displays text aligned to the left after loosing the focus
+2.0: merged
+- possible crash removed when changing property of enum type
+1.0/2.0: ported
+Table View
+- Image cell editor: appearance improved, tooltip with a thumbnail added,
+ dropdown button with context menu added (the same as in Image Box form widget)
+2.0: merged
+KoProperty
+- fixed handling groups
+(1.0.2)
+Forms
+- improvements related to data editing within forms backported from 1.1
+(1.0.2)
+
+2006-07-05
+Forms
+- AutoField: fixed handling foreground and background colors;
+ added "foregroundLabelColor" and "backgroundLabelColor" properties;
+ subproperties coming from super classes are now visible;
+ better handling internal layout depending on label's position
+2.0: merged
+- "tristate" property for check box widget redefined:
+ supports DefaultTristate, TristateYes, TristateNo values.
+ Thus, for bound widgets null values can be set
+ and for unbound widgets only Yes or No values can be set (by default).
+2.0: merged
+- fixed creating modified property objects of enum type
+2.0: merged
+KoProperty
+- fixed possible crash when clicking "undo" button causing
+ the full property set's reload (it was the case for "Editor Type"
+ property of the AutoField widget)
+1.0/2.0: ported
+
+2006-07-04
+KexiDB
+- fixed copying index and table objects
+1.0/2.0: ported
+
+2006-07-03
+Forms
+- AutoField: focus label's associated widget (editor)
+ when user clicked the label
+2.0: merged
+- AutoField: update data source and values for subproperties on form loading
+ also when we're switching from design to data view
+1.0/2.0: ported
+- AutoField: removed crash when table field has been renamed in the data source
+1.0/2.0: ported
+
+2006-06-28
+KexiDB
+- SQLite 3.2: fixed opening databases with non-latin1 pathnames
+2.0: merged
+CSV Import Dialog
+- parsing data improved: values without leading zeros, like 1/2/2006 work;
+ Since apps like MS Access in the USA creates csv files with date
+ format month/day/year, (and without leading zeros), text with "/"
+ inside is assumed to be in this format.
+1.0/2.0: ported
+
+2006-06-27
+Forms
+- Image Box widget: now supports saving data in the database!
+ Fixed filling duplicated data widgets; fixed editing;
+ "Drop-Down Button Visible" property added.
+2.0: merged
+
+2006-06-26
+Forms
+- AutoField widget: changing value of "Widget Type" property reloads the entire
+ property set, so new properties can appear and unused properties can be hidden
+ in the Property Editor.
+2.0: merged
+KoProperty
+- delayed deleting of editors on setting a new property set
+1.0/2.0: ported
+- added additional, internal "property change" signal so it will be always emitted
+ _before_ the public one; thus e.g. it is legal to reload the property set within
+ the "property change" handler
+2.0: merged
+
+2006-06-19..23
+Forms
+- ImageBox widget: drop-down button moved to bottom-right, usability improved
+ (e.g. keyboard handling for popup), db-awareness added,
+ frame-related properties added, tab/backtab handling fixed,
+ fixed updating position of image when the frame changes
+2.0: merged
+- AutoField widget: added support for Image (Object) type,
+ fixed handling color properties, internal editor's properties are
+ automatically inherited by the AutoField widget as so-called subproperties
+2.0: merged
+- removed flickering of the Property Pane after dropping a new field
+ onto the form
+2.0: merged
+
+2006-06-06
+CSV Import Dialog
+- fixed recursion when importing clipboard data
+1.0/2.0: ported
+- allow to change the delimiter when importing clipboard data
+1.0/2.0: ported
+Migration
+- improved usability for selecting type of destination database
+ (no mention of SQLite for now)
+2.0: merged
+KexiDB
+- renaming table fields works, table schema is recreated when needed,
+ and just altered in-place when it's enough to do so
+2.0: merged
+Table View
+- cell editor: the contents are marked as changed only when the original
+ value differs from the current
+1.0/2.0: ported
+Table Designer
+- changing field's description is supported by undo/redo commands
+ and by alter table actions.
+2.0: merged
+- Internal Debugger: added "Real alter table" button,
+ for convenience, "save" action now uses the old alter table code
+2.0: merged
+
+2006-06-05
+KoProperty
+- clear all properties and group names when using operator =
+1.0/2.0: ported
+KexiDB
+- SQLite library upgraded from 3.0.7 to 3.2.8 (backward compatible),
+ to get "table renaming" function.
+2.0: merged
+- optimization: "rename table" action now uses "ALTER TABLE RENAME TO"
+ SQL statement, O(1).
+2.0: merged
+- X-Kexi-DoNotAllowProjectImportingTo KexiDB driver property added, false by defaut
+2.0: merged
+
+2006-06-02
+KexiDB
+- fixed setting database filename when relative path has been provided
+1.0/2.0: ported
+- minor utilities added usable for altering
+2.0: merged
+- table altering improved for SQLite: changing data types will be possible soon
+2.0: merged
+
+2006-05-31
+KoProperty
+- methods in Set::Iterator are now const
+2.0: merged
+- added propertyValues(const Set& set) utility function
+2.0: merged
+
+2006-05-30
+Table View
+- spreadsheet mode: fixed inserting empty rows and deleting rows
+1.0/2.0: ported
+Table Designer
+- improved undo/redo actions: deleting and redoing actions fixed
+2.0: merged
+- added title to the context menu
+2.0: merged
+KexiDB
+- improved alter table machinery; now fields are identified by UIDs
+ to avoid problems with multiple fields sharing the same name
+2.0: merged
+
+2006-05-29
+KoProperty
+- animate clicking on the group title's area
+2.0: merged
+- added a container widget that can be used to split information into hideable sections
+2.0: merged
+Form Designer
+- data source pane splitted vertically into two sections for clarity
+2.0: merged
+Table Designer
+- clear PK when selecting non-integer type
+2.0: merged
+
+2006-05-27
+KoProperty
+- Possible fix for crash. Not sure this is the definitive fix for bug 124917.
+ Thanks to Jaime Torres
+2.0: merged
+- group items now have rather pretty appearance styled with KDE style
+2.0: merged
+- fixed groups order, API changed: now it's possible to get order of groups
+2.0: merged
+- sorting disabled when groups are present
+2.0: merged
+- icons can be defined and displayed within the group items
+2.0: merged
+
+2006-05-26
+KexiDB
+- improved handling extended table schema information
+- improved alter table
+2.0: merged
+Table Designer
+- improved undo/redo actions; prepared for reuse
+ in the table-altering machinery of KexiDB
+2.0: merged
+
+2006-05-25
+Forms
+- set the data source readonly if it comes from query
+1.0/2.0: ported
+- "Read only" property is now supported by all data-aware widgets,
+ and form itself
+2.0: merged
+- background color of the line edit in read-only mode is blended with white
+ to get lighter gray
+2.0: merged
+- accessibility+usability: read only line edit widget now shows the caret
+2.0: merged
+- display field caption as title for editor's context menu
+2.0: merged
+
+~~~~~~~~~~~~~~~~ 2006.1.1 (OOPL, bugfix) ~~~~~~~~~~~~~~~~
+
+2006-05-18
+Table Designer
+- improved support Undo/Redo actions
+2.0: merged
+Forms
+- fixed saving data changes for db-aware checkboxes
+ (fixed by setting StrongFocus policy as default)
+1.0/2.0: ported
+
+~~~~~~~~~~~~~~~~ 1.0.1 bugfix release (with KOffice 1.5.1) ~~~~~~~~~~~~~~~~
+
+2006-05-17
+Main Window
+- Project Navigator: remove Enter and CTRL+Enter accels,
+ as these blocks other actions
+- Project Navigator: fix setting focus
+1.0/2.0: ported
+
+2006-05-16
+Migration
+- display error for not found import/export driver
+1.0/2.0: ported
+Startup
+- (temporary) do not propose importing broken SQLite databases files
+ as there is no import driver implemented yet; display error message instead
+1.0/2.0: ported
+Table Designer
+- fixed saving boolean types for table design
+1.0/2.0: ported
+
+2006-05-15
+General
+- -execute command line option added; useful for executing macros, scripts, etc.
+2.0: merged
+Table View
+- small API and source code improvements (s/buf/set)
+2.0: merged
+KoProperty
+- fixed making a deep copy of Set object containing custom properties
+- deep copy of Set object now maintains the original order
+- fixed possible crash on deleting Set object created by copy constructor
+1.0/2.0: ported
+
+2006-05-09
+KoProperty
+- API changed: a few methods are now const; optimization
+2.0: merged
+
+2006-05-08
+KexiDB
+- fixed converting floating-point values to SQL-compatible strings when the number
+ was provided as string QVariant
+1.0/2.0: ported
+Forms
+- fixed entering floating-point values for locales where ',', not '.' is the fractional point
+1.0/2.0: ported
+Query Designer
+- show error message when switching to other view failed (i18n-safe)
+- just show empty editor when opening a design in text view and there is no sql
+ statement found in the backend
+1.0/2.0: ported
+MDB Import
+- fixed importing decimal (numeric) values
+ (by fixing setting fractional point's position and adding negative sign when needed)
+1.0: ported
+
+2006-05-05
+Table Designer
+- Undo/Redo actions added and integrated with table altering
+Internal
+- "AlterTable" tab added to the "Kexi Internal Debugger" window
+
+~~~~~~~~~~~~~~~~ 2006.1 (OOPL) ~~~~~~~~~~~~~~~~
+
+2006-05-04
+Main Window
+- fixed crash when double (or single, depending on the settings) clicking
+ on the empty area of the Project Browser
+1.0/2.0: ported
+Query Designer
+- fix saving design changes while in Data View
+1.0/2.0: ported
+
+2006-05-02
+CSV Import Dialog
+- fixed importing floating-point values where there are integer
+ and floating-point values mixed
+1.0/2.0: ported
+MDB Import
+- fixed importing floating-point or decimal values (there is still a bug in mdbtools
+ with fetching decimal values)
+KexiDB
+- fixed building SQL INSERT statements for "prepared statement"
+1.0/2.0: ported
+
+2006-05-01
+KexiDB
+- ported to Qt4; tests/newapi works
+
+2006-04-28
+KexiDB
+- SQLite3 driver: report error when closing database failed
+1.0/2.0: ported
+Core
+- KexiProject: report error when closing database failed
+Query Data View
+- properly destroy cursor on view removing; this also fixes the problem
+ with compacting Kexi database when it cannot be reopened read/write when
+ there was opened view with query data because of db cursor blocking the database
+- properly close as soon as the data is fetched (temporary solution)
+General
+- "Kexi Internal Debugger" introduced to help in Kexi development;
+ "showKexiDBDebuger" in [General] should be set to true and KEXI_DEBUG_GUI defined
+ to use this.
+Form Designer
+- fixed possible crash on closing form
+1.0/2.0: ported
+
+2006-04-27
+KexiDB
+- "visibleDecimalPlaces" property added for table fields of type floating point
+ (will be added for decimal and currency too); "Auto" state is supported
+ as default so only meaningful fractional digits are be displayed
+Table Designer
+- "visibleDecimalPlaces" property supported for floating point types
+Table View
+- "visibleDecimalPlaces" property supported when displaying and editing
+ floating point values
+MDB Import
+- on importing table rows: report failure when inserting row failed
+
+2006-04-25
+CSV Import
+- simplify whitespace of text in cells (for preview only)
+- fixed delimiter detecting
+- priority in delimiter detection changed: now ";" has priority over ","
+1.0/2.0: ported
+Form Designer
+- hide minimumSize and maximumSize widget properties
+1.0/2.0: ported
+
+2006-04-13
+Kexi 2.0
+- merged changes since revision 523723
+KexiDB
+- fixed loading length of text fields within table schema
+0.9/1.0/2.0: ported
+
+2006-04-12
+CSV Import
+- fixed problem with importing data with more than 100 columns (for default settings)
+1.0/2.0: ported
+- only the first 10KiB of data is loaded for the preview by default; can be adjusted
+ by setting ImportExport/MaximumBytesForPreviewInImportDialog option in kexirc
+1.0/2.0: ported
+- display rows number on the top of the window
+2.0: merged
+
+2006-04-11
+Forms Designer
+- fixed prossible crash while clearing "data source" field name;
+ now setting the autofield to unbound state works
+
+2006-04-10
+KexiDB
+- QuerySchema(TableSchema* tableSchema) ctor:
+ To avoid problems (e.g. with fields added outside of Kexi using ALTER TABLE)
+ we do not use "all-tables query asterisk" (see QueryAsterisk) item
+ but instead we add all the fields explicity.
+0.9/1.0/2.0: ported
+- PostgreSQL driver: fixed crash when a new field has been added to existing
+ table outside of Kexi
+0.9/1.0/2.0: ported
+Table Designer
+- More intrusive warning when altering table design
+1.0: ported (except the message)
+2.0: merged
+Forms Designer
+- fixed possible crash when switching to data view mode unbound autofield widgets
+- while in data mode, do not display "(unbound)" text for unbound autofield widgets
+
+2006-04-08
+KexiDB
+- use SQL-compliant TRUE and FALSE constants for PostgreSQL
+ (1 and 0 are unsupported)
+0.9/1.0/2.0: ported
+
+2006-04-07
+Table View & Form View
+- "invalid data warning" tool tip improved and reused in Kexi forms
+- many fixes related to handling date, time and date/time values
+
+2006-04-05
+Form Designer
+- KexiDBDoubleSpinBox and KexiDBIntSpinBox replaced line edit with validator because
+ of problems with handling null data and signalling changes.
+ (there's no backward compatibility problems as these two widgets were used internally
+ in the AutoField data widget)
+- fixed saving data changes made within auto field widgets
+- fixed support for tab/backtab key within auto field widgets
+- fixed problem when sometimes form was not filled with data after change of the design
+1.0/2.0: ported
+
+2006-04-04
+CSV Import
+- possible crash fixed after switching character encoding
+1.0/2.0: ported
+Main Window
+- "Compact Database": now closing the current project is required;
+ if there's no project is opened, user is asked for picking one
+Property Editor
+- possible crash fixed when bool editor's state is quickly switched
+1.0/2.0: ported
+
+2006-03-29
+Main Window
+- "Compact Database" admin action added
+KexiDB
+- API version increased to 1.8
+- "Compact Database" implemented for SQLite3 databases
+
+2006-03-28
+Startup
+- --readonly command line option added
+TableView
+- boolean editor: only accept clicking on the [x] rect
+1.0/2.0: ported
+
+TODO: merge trunk with revision 523723
+
+~~~~~~~~~~~~~~~~ 1.0 stable (with KOffice 1.5) ~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~ 1.0 rc1 (with KOffice 1.5 rc1) ~~~~~~~~~~~~~~~~
+
+2006-03-20
+KexiDB
+- use local sockets by default for local server connections, if possible
+
+2006-03-16
+KexiDB
+- added simple encryption for stored passwords
+- allow to save empty password in .kexis and .kexic files
+Startup
+- ask for password (without storing it) for connection data without stored password
+
+~~~~~~~~~~~~~~~~ 1.0 beta 2 (with KOffice 1.5) ~~~~~~~~~~~~~~~~
+
+2006-02-28, 03-03
+PostgreSQL driver
+- fix for displaying unicode error messages
+- fixed escaping binary data (octal values are used for special characters)
+- fixed loading and saving BLOB data (images within forms work now)
+
+~~~~~~~~~~~~~~~~ 2006 (OOPL) ~~~~~~~~~~~~~~~~
+
+2006-02-22
+CSV Import Dialog
+- fixed updating "primary key" checkbox
+
+2006-02-21
+Table View
+- row highlighting fixed for combo box popup, now it's used for any table view
+
+2006-02-20
+Project Import Wizard
+- do not ask about overwriting file if server-based destination has been selected
+
+2006-02-17
+Query Designer
+- fixed crash on saving new query design
+Main Window
+- disabled complex and redundant action 'View -> Tool Docks' menu.
+ This comes from KMDI, not Kexi itself and will be completely removed
+ in KDE4 version. IIRC, we could not hide it now as this may cause crashes.
+
+Form Designer
+- text label widgets: "word wrap" is turned on by default
+- fixed update "word wrap" property for label widgets
+- fixed random cursor setting for the form surface
+- fixed problems with inserting widgets in a random position
+ and random rectangles painting problems
+ (all this due to MouseButtonRelease event coming BEFORE MouseButtonPress event)
+
+2006-02-16
+Query Designer
+- Row editing within the "Columns" area is accepted before saving.
+ If the editing cannot be accepted, saving is aborted.
+Table Designer
+- set property editor to read-only mode for read-only database connections
+Data Table
+- disable combobox editor's dropdown button for read-only database connections
+Property Editor
+- fix for read-only mode: support it also globally at property set level
+- disable editing for read-only widgets
+- fix for displaying double values for current locale
+
+2006-02-15
+General
+- when query design has been changed and saved, subsequent openings of a form using
+ it will reload its definition. The same for 'page setup' dialogs, etc.
+- fixed crash when 'page setup' dialog is opened, closed, and opened again for
+ the same data object
+
+2006-02-10, 14
+Main Window
+- closing dialog is now marked as 'pending job', the same as for opening
+- When there are pending jobs, 'quit' and 'close project' actions are
+ delayed and executed after last pending job finishes. This removed possible
+ crashes when user closed application's main window (or closed project)
+ when there are pending jobs.
+
+2006-02-03,07
+Forms
+- fixed painting "geometry" rectangle when inserting new widget
+- update tab stops information before displaying "Tab Stops" dialog
+- fixed invalid resizing for widget's inline editor
+- 'edit->tab order' action is available also when form design is not focused
+
+2006-02-01
+KexiDB
+- MySQL: added temporary (unoptimized) implementation of Prepared Statement
+- MySQL, SQLite: fixed inserting BLOB data (without Prepared Statements)
+- MySQL: fixed fetching BLOB data (without Prepared Statements)
+- MySQL, PostgreSQL: fixed entering strings containing characters like ' \ "
+- most debug lines commented out
+CSV Import Dialog
+- fixed importing for MySQL backend
+Form Designer
+- fixed saving images (binary data) to MySQL backend
+
+2006-01-31
+CSV Export Wizard
+- When data is copied to clipboard, default delimiter is tabulator
+ and options are hidden.
+
+2006-01-30
+Form Designer
+- fixed saving new forms for MySQL databases
+CSV Import Dialog
+- fixed crash when importing CSV files smaller than 200 bytes
+
+2006-01-25,26
+KexiDB
+- SQLite3 driver & kexisql3: fixes for read-only opening
+Main Window
+- fixed usability: read-only flag of the db connection is now visible
+ in the statusbar
+- added question about opening db file as read-only when it is already opened
+- disable actions that require write access to the db if it's opened as readonly
+Startup
+- fixed support for "-print-preview" command line option
+Simple Printing
+- enlarge default zoom
+Property Editor
+- fixed editor refreshing after contents loading
+Table View
+- 'inserting enabled' flag is always false for read-only objects
+
+2006-01-24
+KexiDB
+- Unicode support fixed for MySQL
+
+2006-01-23
+Table View
+- fixed acceping am/pm for entering time values
+- various fixes for entering date, time and date/time values
+- time can be entered without seconds
+- small passive warning box is displayed when entered value is invalid
+ (currently for date, time and date/time types)
+
+~~~~~~~~~~~~~~~~ 1.0 beta 1 (with KOffice 1.5) ~~~~~~~~~~~~~~~~
+
+Main Window
+- 'single click opens' is mode is off by default, can be turned on
+Table Designer
+- Object type hidden for beta1
+Table View
+- date, time and date/time values are displayed using KDE settings
+
+2006-01-20
+General
+- examples/ directory in the source code tree now contains
+ example database(s)
+Form Designer
+- Data source pane: disable widget's data source combo box
+ when there is no form's data source defined
+- temporary disable AutoField
+- temporary disable cursor property
+Query Designer
+- fixed displaying criteria if WHERE section contains '('
+- tables positions are preserved if possible when
+ relations view updating is needed
+
+2006-01-18, 19
+Form Designer
+- widget library naming made more verbose to avoid potential
+ conflicts between packages
+- versioning added for widget library plugins; this can also
+ avoid conflicts between plugins as we've just renamed them
+Query Designer
+- fixed displaying criteria for table view rows when 'visible'
+ column is set to false
+- all-tables-asterisk is also hidden when last table is hidden
+- temporary data member isolated; fixed possible crash when
+ switching back from SQL View to Design View
+
+2006-01-17
+KexiDB
+- even more verbose error messages for failed SQL statement execution
+CSV Import Dialog
+- tabulator is default field delimiter for clipboard data
+- delimiter detection improved
+General
+- "Dangerous" flag set for potentially destructive dialogs
+- a few redundant i18n strings removed
+Table View
+- data for large table view is destroyed without blocking GUI
+
+2006-01-16
+Project Import Wizard
+- hide Kexi file extensions in source connection file dialog's filter
+Main Window
+- fixed saving Project Navigator Side Panel's visibility
+- do not allow to open the same dialog twice - it was possible
+ for slowly loading dialogs with large data (e.g. a table view with 10^4 rows);
+ pending 'open' actions are now known
+Simple Printing
+- do not paint invalid values of type time, date or date/time
+Table Designer
+- fixed selecting subtypes
+KexiDB
+- SQLite driver: missing {} in PreparedStatement
+- testing connection executes "USE DATABASE" if needed (e.g. for PostgreSQL)
+
+2006-01-12
+Table View
+- Usability: Date, Date/Time and Time cell editors reimplemented
+
+2006-01-11
+Migration
+- fixed opening project after import if user wanted this
+
+2006-01-09
+Form Designer
+- infinite loop removed when updating multiple selection
+0.9: backported
+0.8: backported
+- "Assign Action" dialog cleaned
+KexiDB
+- generate cleaner query statements:
+ if there's single table in query schema, skip "table." prefix in resulting
+ SQL string, e.g. build "SELECT a, b FROM t" instead of "SELECT t.a, t.b from t".
+Query Designer
+- "Totals" column hidden as it is not implemented
+
+2006-01-05..6, 10
+CSV Import Dialog
+- optimalization for large data: only about 100 rows are loaded for preview
+- progress dialog added on dialog creation (opening can be cancelled)
+- layout fixes
+- missing column with primary key is added if user wants it
+- optimized importing large (many thousands of rows) tables:
+ GUI is not used to store entire table before importing;
+ only current record is kept in memory buffer
+- progress dialog added on importing (importing can be cancelled)
+
+2006-01-02..04
+Startup
+- "--skip-dialog" command line option added.
+ Skips displaying connection dialog\n"
+ and connects directly. Available when opening .kexic
+ or .kexis shortcut files.
+- opening server-based projects works in File->Open when
+ there's already project opened.
+- "--connection <shortcut_filename>" command line option added.
+ Specifies a database connection shortcut .kexic file containing
+ connection data. Can be used with --createdb or --create-opendb
+ for convenience instead of using options like --user, --host
+ or --port. Note: Options like --user, --host have precedence
+ over settings defined in the shortcut file.
+- creating server-based projects works in File->New when
+ there's already project opened.
+Migration
+- Project Migration Wizard is proposed if a server-based database
+ is incompatible with Kexi and cannot be opened
+- if a destination for imported project is a server, it is also
+ opened after import, if user wanted this
+
+2005-12-23, 29
+General
+- (data forms, table view): fixed entering row number in the row navigator
+- win32: fixed saving recently displayed directories in file dialogs
+KexiDB
+- SQLite: opened files are now locked for read/write by default;
+ related error messages improved
+Simple Printouts
+- pages to print can be selected
+- number of copies can be entered
+- pages collation switch on or off (i.e. 1-2..n; 1-2..n.... for collation
+ and 1-1-...1; 2-2..2; .. for "no collation")
+- page count is properly computed and printed on the footer as "Page x of y"
+- "Page Setup" action added;
+ now it's window is only presented when user really wants this
+- text of the page title properly updated
+
+2005-12-12..22
+Simple Printouts
+- added Simple Printouts window with print preview and settings
+Table View
+- failed accepting of row editing now cancels window closing
+- fixes for updating row data (this was sometimes visible in Table Designer)
+Table Designer
+- avoid asking twice for saving changes to the design on window closing
+- find unique name for autogenerated primary key fields
+Kexi Core
+- possibility of adding non-db-aware windows/tabs in Kexi
+General
+- added --print and --print-preview command line options
+- (temporary) mini-kolibs added to get print settings stuff and remain
+ independent on kolibs
+
+2005-12-09
+Forms
+- memory for data is now properly freed before closing a form
+0.9: backported
+0.8: backported
+CSV Export
+- CRLF characters are used as in RFC 4180
+- fixed gcc compiler-specific crash
+- quote characters are escaped inside strings
+- date/time values are exported without "T" inside (from ISO format)
+CSV Import
+- fixed handling line endings inside strings
+- time and date/time types import and detection added
+
+2005-12-05..08
+Property Editor
+- repaint fixes when column width changes or when persistent selection is set
+- Property::captionForDisplaying() added: beter support for multiline property captions
+- method names improved in Factory
+- do not steal focus when selection is preserved
+- possible crashes fixed when property values are changed in an instant reaction
+ on changing a property value in the editor; this is the case e.g. in Kexi Table Designer
+- API docs updated
+General
+- custom "Identifier" property type and editor added (allows only entering identifiers);
+ used in Table/Form/Report Designers
+Table Designer
+- Field captions can be now entered by users instead of names.
+ Field names are then automatically generated.
+- fixed problem with undo button for subtype combo box
+- support for BLOB (Object) type; "Image" is now the only subtype of this type
+- "unique" and "indexed" properties hidden for BLOB type
+Table View
+- clearing text removes value in combo box field for "enum" mode
+
+2005-12-02
+Main Window
+- usability: for IDEAl mode tabs are also visible when one window is opened
+ (otherwise user could not know what the window's caption is)
+- usability: added "close" button to the tab widget for IDEAl mode
+- 'hover close button' is now turned off by default for IDEAl mode
+ (added HoverCloseButtonForTabs setting to kexirc for changing this)
+
+2005-11-29..12-01
+General
+- file dialog's filters now contain only filters that make sense,
+ e.g. there's no "mdb" filter when we're writing to a file.
+- usability: file dialogs now store recent directory paths
+ in the config file, and this is now used everywhere in Kexi
+- default extension is properly added when there's multiple filters set
+ in the file dialog
+Startup Dialog
+- check for existence of a file user has selected to open
+CSV Files Export
+- CSV Export dialog added (also for copying to clipboard)
+ with storable export options
+CSV Files Import
+- usability: integer spin box used for "Start at line" option instead
+ of a combo box
+
+2005-11-28
+Main Window
+- "File->Export->Data Table" and "Edit->Copy Special->As Data Table"
+ actions added
+Parts
+- X-Kexi-PartVersion increased to 2
+- added boolean servicetype property: X-Kexi-SupportsDataExport;
+ true for tables and queries
+CSV Import
+- space saved: radio buttons replaced by combo boxes
+- added "Always use this encoding when importing CSV data files" option
+ to "CSV Import Options" dialog (saved to Kexi config file).
+
+2005-11-26
+Project Migration
+- added "Always use this encoding in similar situations" option
+ to "Advanced options" dialog (saved to Kexi config file).
+
+2005-11-25
+Project Migration
+(API CHANGED)
+- Added versioning for migration drivers (current one is 1.1)
+- Added properties support for migration drivers
+- All error messages are displayed on the last "Failure" page
+- Added "Advanced options" button and dialog, currently with "Encoding" parameter
+ for source database. Currently used by MDB driver for MSJet3 files.
+General
+- KexiCharacterEncodingComboBox added - a combobox widget providing
+ a list of possible character encodings
+
+2005-11-22..23
+Project Migration
+- "All Supported Files" filter added to Kexi file dialogs
+- Files like MS Access .mdb can be now clicked and then Import Wizard will pop up
+ with preselected parameters. This also works using command line.
+- Import Wizard's GUI: improved messages, added real Finish page
+- No need to select source driver, it's enought to select a filename or db connection
+Startup
+- Better usablity of 'Open Existing' tab page
+- Better usablity of 'New project wizard'
+
+General
+- compile fix for some compilers
+0.9: backported
+0.8: backported
+
+2005-11-15
+Forms
+- AutoField widget: update m_label for font/palette change
+- AutoField widget: display "Unbounded Auto Field" text when
+ no data source is set (in design time, like for image box)
+
+2005-11-09..14
+Forms
+- AutoField widget: improved behaviour in design time
+ (setting caption/type/label position)
+- frameColor property added for widgets like text label or frame:
+ behaves well also for "raised" frame shapes
+- new widget KexiFrame, will provide more features; backward compatible
+ with QFrame
+- do not allow to move top-level widget's position using arrow keys
+Property Editor
+- fix entering text into string-type editors with 'autoSync' flag
+
+2005-11-07
+Startup
+- When opening connection (most often using .kexic file), connection dialog is shown
+ so user can adjust connetion parameters, (optionally save them) and finally perform
+ the connection to see available databases. If connection failed, connection dialog
+ is popping up again.
+
+2005-11-02..04
+2005-10-31
+Project Migration
+- call KexiProject is used to create destination database instead of KexiDB::Connection
+ because tables like kexi__parts and kexi__blobs have to be created.
+- Moving kexi projects from database servers to database files works.
+ kexi__objects table contents are properly copied if existed in source database,
+ so queries, forms etc. are properly imported
+- Wizard's GUI improvements
+KexiDB
+- More verbose error messages:
+ Error messages and result numbers can be now inherited by using
+ Object::setError( KexiDB::Object *obj, const QString& prependMessage ),
+ so less information will be lost while displaying message e.g.
+ on failed cursor opening.
+- mysql/pgsql/sqlite/mdb drivers updated for the current API
+
+- Tables: fixed retrieving field captions and descriptions
+ 0.9: backported
+ 0.8: backported
+
+2005-10-27
+KexiDB
+- kexi__parts internal table is now created within KexiProject,
+ not KexiDB::Connection
+- kexi__useractions and kexi__final are no longer created
+Project Migration
+- speedup: table creation and data copying is performed within transactions
+- Added possibility of migrating Kexi projects from one backend to another
+ (e.g. from MySql server to SQLite file) internal kexi__ tables are properly recreated;
+ data, e.g. for kexi__parts and kexi__blobs is properly copied
+
+2005-10-24..26
+Forms
+- Property editor widget for pixmaps now uses KexiBLOBBuffer
+- forms manager turned into singleton,
+ and two widget libraries are now created: one for forms and one for reports
+Property Editor
+- show preview box in visible area
+KexiDB
+- DatabaseProperties utility class added to API
+Table View
+- Fixed ugly bug for switching sorting order (thanks Aaron)
+ 0.9: backported
+ 0.8: backported
+- Better sorting:
+-- NULL values are smaller than everything else
+-- Special sorting for data/time/datetime/bin integers/floating point numbers
+ 0.9: backported
+ 0.8: backported
+
+2005-10-19
+Forms
+- image box doesn't provide popup in data view mode when
+ no data source is assigned
+- Kexi Form widgets code splitted
+
+2005-10-18
+KexiDB
+- Connection::querySingleRecord() improved
+- QuerySchema::addToWhereExpression() added
+- SQLite driver: fixed BLOBs retrieval
+
+2005-10-15
+Table View
+- crash fixed in combo box
+ CCBUG: 114697
+ 0.9: backported
+ 0.8: backported
+- alt+down shortcut can be used to drop down combo box (previously only F4 worked)
+ 0.9: backported
+ 0.8: backported
+- combo box editor's popup:
+ row repainting fixed after current highlighted row has changed
+ 0.9: backported
+ 0.8: backported
+Table Designer
+- avoid possible infinite recursion
+- selecting non-integer type group using 'type combo' clears PKEY flagm, if set
+
+2005-10-14
+Forms
+- It was not possible to change the tab order of
+widgets in the Edit Tab Order dialog with keyboard.
+
+2005-10-12
+Project Import Wizard
+- usability++: after successful import, the project is opened
+
+Query Designer
+- conditions: ambiguous expressions fixed:
+ "t1.id > 100" is used instead of "id > 100" in queries like
+ SELECT * FROM t1, t2 WHERE t1.id = t2.id AND t1.id > 100
+- fixed possible crash when invalid query design is loaded in design view
+- fixed switching to design mode after invalid query was opened directly in text mode
+- eat parentheses on criteria loading, in WHERE conditions like (a.id = value)
+- also accept tableName.fieldName on criteria loading, not only tableName
+- also accept e.g. "2 = variable" as condition, not only "variable = 2"
+- graphical representation of joins is generated back from SQL statement not only
+ based on explicit query schema's relations but are also retrieved
+ from "[t1.]f1 = [t2.]f2" expressions within WHERE section
+
+TODO: joins are not visible when switching from design to text mode (and conversely)
+ when there are no columns selected in FROM section, eg. "select from a, b"
+
+2005-10-06
+KexiCore
+- Fixed autogenerating object names (e.g. tables, queries) based on caption:
+ latin1 base name can be now chosen by translator
+BUG: 104858
+
+2005-10-05
+KexiDB
+- PreparedStatement introduced
+- mysql, sqlite drivers: avoid double freeing data member in ConnectionInternal implementations
+
+2005-09-27..29
+Forms
+- Images are stored in memory in original form, converting to QPixmap is only performed
+ for displayoing purposes. Such original pixmap can be saved back to file.
+ Original file name is also kept. KexiImageBox handles pixmap data with QByteArray member
+- KexiBLOBBuffer introduced: Application-wide buffer for local (static) BLOB data like pixmaps.
+ For now only pixmaps are supported. Used on design time before objects are stored.
+ This allows to copy multimegabyte pixmaps within Kexi without unnecessary memory loss.
+- KexiCustomPropertyFactory introduced: handles Kexi-specific property editor items
+
+2005-09-26
+KoProperty lib
+- Editor: possible crash fixed
+- Property: guarded ptrs are used to store pointers to Set objects
+ to avoid dangling pointers
+
+2005-09-24
+General
+- KEXI_STANDALONE compile time definition added
+- description in 'about data' mentions whether it is a standalone or 'bundled'
+ Kexi version
+- .po files are now prefixed with "standalone_" for standalone versions
+ to avoid conflicts with KOffice installations
+- yes, 1.0 is marked as standalone version
+- custom defines cleaned up
+
+2005-09-21..22
+MDB Driver
+- all strings are now properly decoded (object names and data):
+ MDB(UCS2)->MDBTOOLS(UTF8, using libiconv)->KEXI_MDB(QString)
+- non latin1 filenames handling fixed
+- fixed date, date/time types handling (including Y2k problem for years >=1930)
+- fixed currency handling (double type is assumed for now)
+Table View; Data Interface
+- fixed possible crashes for comboboxes within non-db-aware table views
+Table Designer
+- fixed 'subtype' combo refreshing within property editor
+KexiDB
+- DriverManager: to avoid conflicts with other copies of KexiDB,
+ eg. in ShowImg application, "kexidb_" prefix is required for KexiDB
+ driver files (KDE modules)
+- some docs and above information added for Doxygen
+
+2005-09-17..20
+KexiProject
+- createInternalStructures() added; semi-internal (not well suited for kexidb itself)
+ structures like kexi__blobs table are created now if not yet exist
+- internal kexi__blobs table introduced: for BLOB storage
+General
+- some i18n strings fixed
+- KEXI_NO_AUTOFIELD_WIDGET, KEXI_NO_IMAGEBOX_WIDGET temp. compile time options added
+
+2005-09-16
+Forms
+- FormIO: some fixes in method's naming
+KexiDB
+- tristate type is used in some more methods, so it's now possible
+ to catch "no data" cases, not only "server errors"
+- InternalTableSchema class added (to avoid polluting TableSchema/Conenction APIs)
+
+2005-09-15
+Kexi supports static and data-aware images boxes
+- properties implemented: scaling (aspect ration can be kept),
+ horizontal/vertical alignment
+Project Migration
+- cleaned up the code a bit
+- 'back' button works well on "dest. type" page when file-based driver is used
+- user is warned when no source filename was specified
+Forms
+- view mode (design/preview) is now also passed as option
+ to WidgetFactory::createWidget() so widget's look&feel can differ depending
+ on the view mode
+
+2005-09-14
+Property Editor
+- PixmapEditor improved displaying, and value changes support
+- Editor's widgets have proper geometry set a bit earlier
+
+2005-09-06 (aKademy)
+2005-09-08..13
+Forms
+- data-aware image box widget
+(partial implementation started during flight back from Girona to Warsaw)
+-- "insertFromFile", "saveAs", "cut", "copy", "paste", "delete", "properties"
+ popup actions added
+- "readOnly" property added for image, spinboxes and dbfield widgets
+
+2005-09-03 (aKademy)
+Relations view
+- fixed redrawing (in an unoptimized way)
+Property Editor
+- updating combobox items after change of list data
+TableView
+- combo box popup behaves more like a normal combo (highlighting, selecting)
+- added "what's this" support for table columns
+
+2005-08-27
+Forms
+- a fix for 'value changed' flag and datachangeslistener in autofields
+
+2005-08-19
+Startup
+- "-type connection" command line arg added
+ (i.e. support for applications/x-kexi-connectiondata mime type)
+Main Window
+- project navigator visibility flag is now stored in config file (usable for IDEAl)
+
+2005-08-16..18
+Main Window
+- Toplevel (buggy) and Tabbed (redundant) KMDI modes hidden in Window menu;
+ Changing MDI mode now requires application restart (the lesser of two evils)
+- 'Create' menu renamed to more typical 'Insert'; 'Data' menuu moved after 'Format'
+- project navigator: usability fixes
+Widgets
+- KexiSmallToolButton helper class added
+- fixes for KexiFlowLayout
+Forms
+- "other widgets" toolbar popup added for clarity
+
+2005-08-12
+Form Designer
+- possible crashes fixed
+
+2005-08-10, 11
+Form Designer
+- added possibility of inserting autofields using 'Insert fields' button
+ from Data Source tab
+- CommandGroup usability improved: it's now possible to addCommand()
+ with flag telling that it will not be executed on CommandGroup::execute()
+- above CommandGroup's feature is used to make a single command
+ out of 'inserting multiple autoFields' task
+- top-level form surface is resized when inserted autoField(s) couldn't fit
+- inserting autofields is atomic command supporting undo/redo
+General
+- applications/x-kexi-connectiondata MIME type defined
+
+2005-08-09
+Form Designer
+- data source tab: usability improved for field list
+Widgets
+- KexiFieldListView is now displaying unique fields list for queries
+KexiDB
+- 'bool unique' arg supported for QuerySchema::fieldsExpanded()
+ and TableOrQuerySchema::columns()
+Query Designer
+- fixes for recent API change of KexiFieldListView
+
+2005-08-08
+Main
+- better readibility: new project type selector uses listview, not icon view
+
+2005-08-05
+Property Editor
+- '-flat' arg added for test app
+- painting improved for both flat and groupped mode
+
+2005-07-29..2005-08-02
+Form Designer
+- field editor's types list reuses KexiDB::fieldName() for i18n
+- autocaption is set properly for field editor on design time
+- field editor's labelCaption is no longer needed
+- propeditor: preserve "changed" flags (marked with BOLD) between property set switching
+- KAcceleratorManager::setNoAccel(QWidget*) is used for widgets in design mode
+ to avoid adding accelerators (for FormIO and for new widgets inserting)
+- factories: isPropertyVisibleInternal() is now called for superclass when needed
+ (thus, properties like "iconText" are properly hidden)
+- when a widget is deleted or cut, its parent container become selected
+KoProperty library
+- fix for spin box editor's width
+- better display for composed editors for types like Rect
+- fixed undo button's size in Editor
+- font editor fixed
+- Editor: expand/collapse boxes painted using styles; whitespace added on the left hand
+- Editor: editor widget's focusing fixed
+Table Designer
+- a fix for 'subType' combo
+Main Window
+- Navigator: when items renaming, treat "*" ("changed" flag) as a special character,
+ not a part of the item's name
+
+2005-07-28
+Form Designer
+- field editor's default focus policy is now inherited from internal editor
+
+2005-07-25..27
+Form Designer
+- better support for Auto Fields, including drag&drop
+- DesignTimeDynamicChildWidgetHandler added - interface for adding
+ dynamically created (at design time) widget to event eater
+- editor inside KexiDBFieldEdit is visible at design time
+- KexiDataItemInterface::field() changed to columnInfo()
+ -> more information can be now reused for visual field (i.e. query alias)
+- dbwidgets moved to libformutils as we're reusing many
+ of them outside of dbwidgets factory
+- version information is loaded/saved within form's UI string
+
+2005-07-23
+Core
+- management related to Part's ID improved; fixed related bug
+
+2005-07-22
+KexiDB
+- support for PostgreSQL on win32
+- PostgreSQL driver's transactions handling improved
+
+2005-07-21
+Form Designer
+- checkbox inline editing enabled
+- width of inserted widgets' size hint increased a bit to for better usability
+
+2005-07-13..20
+General
+- @internal added for private classes to make api docs more readable
+Startup / Server Support
+- connection data editor improved
+- connection data is now storable
+- added support for adding/deleting/editing connection data
+KexiDB
+- BIC CHANGE (witin v1.7): bool ConnectionData::savePassword flag added
+- KexiDB::connectionTestDialog() added for performing test connections
+
+TODO:::::::
+-fix shared actions availability for ideal mode! (reported by ccpasteur)
+-fix "edit tab order" action: not working when prj browser is focused...
+
+TODO: koproperty: us ListData-like struct instead of QMap, because data combo boxes should be sorted
+
+2005-07-10
+KexiDB
+- BIC CHANGE TO v1.7: (portability fix) pkeyfieldsorder and fieldsorder mapping
+ now use int instead of uint
+
+2005-07-08
+KoProperty
+- 'list data' introduced to clearly define 'keys' and 'strings' for combobox-like editors
+- cursor editor fixed
+- other minor fixes
+
+2005-07-05..07
+Form Designer
+- Data source fields can be dragged from Data Source Pane
+ and dropped on the form's surface to create data-aware line edit widgets
+- on new form empty creation, undo/redo history is cleared
+ and undo/redo actions are not available
+- on design time, 'dataSource' properties for forms and dataaware widgets
+ are synced with data source combo boxes
+
+2005-07-04
+Property Editor
+- properties now have 'sortingKey', so the order of properies is maintained
+- fixed bug in Set::clear()
+Form Designer's Property Editor
+- better handling multiple widget selection
+- fixes for widget info label
+
+2005-07-02
+Form Designer
+- fixed i18n for property captions
+- fixed filling enum values
+
+2005-06-20..30
+- * KexiProperty library made more generic as KoProperty *
+- Kexi now uses KoProperty
+
+Form Designer
+- Data source tab in the Property Pane implemented
+- 'dataSourceMimeType' property added for data-aware widgets, so it can be explicity
+ defined whether an object pointed by 'dataSource' property is a table of query.
+ This change is backward compatible.
+- fixed switching property buffers when switching between child windows
+- record navigator is now hidden if there's no data source assigned for a form
+Query Designer
+- object combo box now also contain queries (supporting queries is not implemented yet though)
+ the list within the combo is property sorted and grouped; it's reused in 'Data source' tab
+ of Prop. Pane; the combo now reacts on deleting/creating/renaming of table or query
+KexiDB
+- TableOrQuerySchema helper class added
+Main Window
+- crash fixed in 'detach window' action
+Core
+- Field draging: API improved, now both query and table fields/columns can be dragged;
+ added support for multiple fields dragging
+- added 'higlight object' action for KexiProject (available from property pane)
+- improved API for reaction on object creation/deletion/renaming
+General
+- small icons cleaned up; added better query/form/report/script icons
+- 'X-Kexi-GroupIcon' property no longer used; such icons are too hard to design and recognize
+- KexiFieldListView and KexiFieldComboBox added
+- "kfd:customHeader" element added for inserting custom information like kexiformdesigner's version
+- Number of currently selected tab of the Property Pane is preserved when switching back
+ to dialog for a particular part (in design mode). So if a user have looked at "data source" tab,
+ it's no longer necessary to click this tab again.
+
+2005-06-10..16
+General
+- more utility functions and clases moved to kexiutils library
+Form Designer
+- data aware 'text editor' widget added
+- inline editor pointer is now being kept only within parent factory
+- we're not creating additional (blue) resize handle set, but just changes color
+ of existing set thus resizing works well even if we're during inline editing
+- inconsistences with storing pointers to currently edited widget removed
+ (m_widget, m_editor members are now private)
+- we're copying common properties from an editing widget to an inline editor
+ (e.g. "margin")
+- fixed resetting cursor after editing
+- on creating a new spring, splitter and line widget, orientation is set according
+ its to aspect ratio; if the ratio is undefined, popup menu with vertical/horizontal/cancel
+ options is displayed
+- fixed crash when pressing Tab key on form surface in design mode
+- added 2 custom tabs to property pane: Data Source (mockup for now), Widgets
+Property Pane
+- widget class is displayed above property editor
+- blinking reduced on property buffer switching
+
+2005-06-08
+KexiDB
+- fixed crash for SQLite2 driver
+CSV Import Dialog
+- deadlock removed when importing CSV text like ","
+Form Designer
+- (all branches) temp. fix: QTabWidget used instead of KTabWidget ('&' bug)
+
+2005-06-01
+General
+- (all branches) missing icons added
+KexiDB
+- (all branches) field names converted to lowercase in memory to avoid problems with comparisons
+
+2005-05-31
+Core
+- editor within property panel is accepted before buffer switching
+Form Designer
+- record is properly fetched on subsequent switching to Data View mode,
+ especially after data source changes
+
+2005-05-25
+2005-05-27
+Form Designer
+- fixed crash when there're missing widgets
+Query Designer
+- bug for relationships creation fixed
+
+2005-05-23
+CSV Import Dialog
+- "Start at line" parameter in now better updated
+
+2005-05-13, 14
+Form Designer
+- "vAlign" property is now invisible for lineedit widgets (it's noop there)
+- "(autonumber)" label is (identical to the one in tableview) is displayed
+ in lineedit and label widgets assigned to autonumbered fields
+- shadow in label widgets is properly set for altered indenting, margins and alignment
+- double focusing of text field fixed
+- "format_font" action added; it's now possible setting font for one or multiple widget's
+ standard using font dialog
+Core
+- fixed possible crash when an object has beed saved with a different name than proposed
+TODO:
+- in "kexi" mode, "font" property is not visible e.g. for top-level form widget,
+ and other widgets that doesn't display text
+- fix data src updating in the data view when it has been changed in design view
+CSV Import Dialog
+- support for setting primary key (including autodetection)
+- support for 'first row contains column names' flag (including autodetection)
+- column types are autodetected
+- import is performed within a single transaction
+- characted encoding fixes; different encoding can be selected
+- delimiting character is autodetected
+- clipboard support re-added
+- floating-point values are properly parsed
+- empty cells are supported
+- new table name is based on provided filename
+Main Window
+- 'close all' works well if there are more than one yes/no/cancel dialogs required to show
+
+~~~~~~~~~~~~~~~~ 0.9 ~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~ 0.8 (excluding updated i18n; with KOffice 1.4) ~~~~~~~~~~~~~~~~
+
+2005-05-10
+Project Migration
+- MS Access filename filter added for convenience (it's autoselected when needed)
+- SQLite3 type is selected as default for destination engine type (for convenience)
+
+2005-05-09
+Forms
+- fixed crash because main window didn't notice property buffer change
+ form's property buffer is shared (ObjPropertyBuffer instance)
+- setting and clearing 'formName' property value for subform fixed
+- fixed problems with data in subforms: data provider only sets data
+ for own items, not inside subforms (data-awarness is disabled in subforms for now)
+
+2005-05-06
+Core, Property Editor, Form Designer
+- powerfull "property options" added to kexi properties:
+ can change behaviour of property editor's items
+- properties: for integer types it's now possible to set "min", "max", and "minValueText"
+ options; "minValueText", if available, is properly displayed:
+ e.g. see:"indent" property of Kexi's label widget
+Form Designer
+- shadow doesn't blink; properly refreshed on 'indent' property change
+KexiDB
+- inserting rows with autoinc values > than 0x7fffffff supported
+
+2005-05-05
+Form Designer
+- basic data type validating added to lineedit widget
+- spring drawing improved
+
+TODO: fix KIntValidator::validate()?
+
+2005-05-04
+Form Designer
+- row deleting and inserting implemented
+- when started new row editing, 'next' btn is enabled (code shared with table view)
+- "+ button" code shared with table view
+
+2005-05-02
+KexiDB
+- we're handling application/x-sqlite2 and application/x-sqlite3
+(those mime types are defined within kexi but we'll also add them for another KDE
+release)
+
+2005-04-30
+KexiDB
+- magic data is now defined for application/x-sqliteX, not for
+ application/x-kexiproject-sqliteX (X == 2 or 3)
+- file-based drivers can now define a list of supported mimetypes, not just
+ one mime type (added all known mimetypes thee, including Knoda's mimes, for
+ compatibility)
+
+2005-04-29
+Form Designer
+- fixed many crashes appearing when a widget name was changed
+- setting duplicated or invalid widget name is now impossible
+
+2005-04-28
+Form Designer
+- all known property and enum names are translated; names are simplified
+- more properties turned to advanced set and thus made invisible in Kexi
+- kexiproperty object is created only once for on propbuffer creation
+ for every QWidget's property. This fixes problems like
+ 'toggleButton' property being added twice to propeditor
+- looking for i18n'd property description or enum value description:
+ on failure, we're also asking parent widget factory for this, if one exists
+
+~~~~~~~~~~~~~~~~ 0.8 beta 1 (with KOffice 1.4) ~~~~~~~~~~~~~~~~
+
+2005-04-27
+Form Designer
+- KexiGradientWidget ifdef'd out for 0.1 release
+ (using KEXI_USE_GRADIENT_WIDGET macro) due to problems with performance
+ and child widget's palettes
+- added possibility of forcing particular class to be hidden
+ (eg. because it's not ready to use yet or makes no sense in current context)
+- fixed creating KexiProperties for enum values
+- property buffer: sometimes enums are remembered as casted to ints,
+ sometimes as string representations...
+- a few properties are now hidded due to inmaturity or senseless
+
+2005-04-25
+Main Window
+- fixed possible crash of the property editor on detached window closing
+KexiDB/SQL Parser
+- SQL Parser now accepts unicode characters for identifiers and strings
+Project Migration
+- drop existing database before if user configmed overwriting
+- close connection on failures
+- fixes for mdb driver
+
+
+2005-04-22..23
+Table View
+- Ctrl+Delete (delete row) shortcut also works inside cell's lineedit editor
+ (default shortcut is overriden)
+Table Designer
+- on switching to design mode, row buffers are initialized after old buffers
+ are cleared, not before (this fixes bug with disappearing property buffer)
+Form Designer
+- fix for setting background (gradient widget cleared background color value)
+
+2005-04-21
+Main Window
+- 'edit > select all' global shared action added
+Core
+- Active window can be found even if it's detached (as in KMDI).
+ This fixes shared actions availability for detached windows.
+Form Designer, Report Designer
+- KexiFormManager reused for reporting
+- we can now assign any kexi action to a button, not only shared one..
+
+2005-04-20
+Form Designer
+- we're not plugging to data-related actions for design view mode
+
+2005-04-19
+Project Wizard
+- 'finish' button disabled on 'select project type' page
+Form Designer
+- 'delete' key removes selected widget(s); except for top level form widget
+- 'menu' key works
+- avoid redundancy in action-creation code
+- better context menu
+- actions can interoperate with shared actions
+TableView
+- 'menu' key code taken from global settings
+Main Window
+- on startup propeditor is hidden if no project is opened
+Startup
+- Connection Selector: added information how to create connections
+
+2005-04-18
+Core
+- KexiProperty::setValue(): QCString type is now compatible with QString type
+Form Designer
+- assigning predefined Kexi actions to buttons
+- WidgetLibrary::setAdvancedPropertiesVisible() added, so advanced properties
+ can be hidden in Kexi.
+- WidgetLibrary::isPropertyVisible() improved
+- 'edit pixmap collection' and 'edit connections'
+ disabled for current version of Kexi Forms
+- using QString changed to QCString in maaany places
+
+2005-04-15..16
+Main
+- Navigator: double clicking on item which has no data view mode available,
+ opens it in design mode; Unavailable actions for given object types
+ are hidden in popup menu.
+- main window: navigator's layout management fixes, again...
+Form Designer
+- initial version of 'assigning actions to push buttons'
+- resizing main form widget is undoable and considered in setting dirty flag
+- initial size of form surface fixed
+- various fixes for form surface resizing and "Outer Area" text
+Core
+- Dialogs: new objects are not dirty by default but this is changed for forms
+
+2005-04-13
+Form Designer
+- On loading, top level form widgets with negative X or Y are moved to 0
+ to avoid weird behaviour.
+
+2005-04-12
+KexiDB
+- Scale property added for floating-point field types.
+ Now types like NUMERIC(precision,scale) are possible to declare.
+Core
+- String "Design of object \"%1\" has been modified." made well translatable
+ at plugins level.
+
+2005-04-11
+Form Designer
+- it's now possible to inherit features of a widget class from a different factory
+
+2005-04-07
+Query Designer
+- properies for rows were not cleared on switching back to design view
+ when statement changed
+
+
+2005-04-01..04
+* Many improvements added for Kexi Forms,
+ including editable query results. *
+KexiDB
+- BIC CHANGE:
+-- FieldList: field(const QString&) added
+-- QuerySchema: field(const QString&) added;
+ insertField() and fieldsExpanded() improved;
+- documentation improved
+Forms
+- setting (predefined) queries as form's dataSource works
+- editing data for _editable_ queries works (but not rows adding or removing)
+- setting "tablename.fieldname" for data-aware widget's dataSource works
+- setting "queryname.fieldname" for data-aware widget's dataSource works
+- when a table is set as form's data source, all primary key's fields
+ are always fetched (so editing works well with autonumbers)
+- autoSync set to false for dataSource properties (using KexiDataAwareWidgetInfo)
+- improved support for invalid dataSource property
+- data-aware widgets with invalid dataSource property are now removed from tab-focus cycle
+ (setInvalidState() now implies setting ClickFocus flag)
+- on form opening: first data-aware widget with TabFocus is focused (if available)
+- void KexiFormDataProvider::fillDuplicatedDataItems() works well
+ also if there are data sources like "tablename.fieldname"
+Forms Library
+- autoSync flag can be overriden independently within every widget factory
+ for every single class, using WidgetInfo::setAutoSyncForProperty()
+- when deselecting a widget with autoSync set to false property value is now set properly
+Main
+- KexiBrowser: pressing Enter key to accept item renaming won't execute "open" action
+
+
+2005-03-30
+Forms
+- setting form's background color property fixed
+KexiDB
+- BIC CHANGE: a few dtors made virtual
+- Connection: data inserting/updating/deleting:
+-- more error messages and codes added
+-- we're checking if master table's primary key is available
+- QuerySchema: pkeyFieldsOrder() improved, pkeyFieldsCount() added.
+- FieldList::indexOf() added
+
+2005-03-29
+Main Window
+- dock windows' width is managed for TabPageMode in the same way as for ChildframeMode
+- hiding property editor's dock when not needed
+Table/Form Views
+- database cursor deleted when not needed
+Forms
+- writing data changes implemented
+
+2005-03-25
+Forms
+- "cancel cell editing" and "cancel row editing" implemented
+
+2005-03-10..24
+Forms, TableViews
+- APIs for Forms and TableViews more integrated:
+-- KexiTableEdit now inherits KexiDataItemInterface
+-- KexiDataItemInterface is now used in KexiDataAwareObjectInterface,
+ not KexiTableEdit
+-- KexiFormScrollView and KexiDBForm now uses KexiDataAwareObjectInterface API
+ for dealing with r/w data
+- data-aware widgets with duplicated data source are updated concurently
+ on editing one of them
+- within forms, "column" term is now related not to column within data model,
+ but to order of data-aware widget. This "column" value is translated to
+ column number within data model when needed. This allows to duplicate data
+ widgets, hide them, change their ordering, etc. For example, tab order
+ (and visual order) of data-aware widgets is independant of column ordering
+ within data model.
+KexiDB
+- BIC CHANGE: QuerySchema::parentTable() renamed to masterTable()
+- QuerySchema::masterTable() now tries to return a table
+ if there's only one defined
+- Connection::createTable() - on error, existing table schema object
+ is not destroyed (i.e. it is still available e.g.
+ using within Connection::tableSchema(const QString& ),
+ even if the table was physically dropped.
+ This fixes crash for "alter table dialog" when recreating table failed
+ (the dialog expects that old table schema won't be destroyed).
+- Connection::resultExists() avoid appending optimizing "LIMIT 1" suffix when
+ the query statement is not "SELECT".
+- Connection::createTableStatement(): length parameter is now only used
+ for text and not long text field types.
+Alter Table Dialog
+- changing subType to LongText hides "length" property;
+ changing subType to Text shows "length" property.
+
+2005-03-04
+KexiDataAwareObjectInterface (TableView)
+- fixed setting cursor position (and iterator) when changing selected
+ row after row editing
+
+2005-03-03
+- doc/dev/compile_time_options.txt document added
+KexiDB
+- API CHANGED - version 1.5
+- KexiMessageHandler moved to KexiDB::MessageHandler, KexiDB::Title added
+ as public available, KexiDB::Object now uses MessageHandler.
+KexiProject
+- KexiProject now uses recent KexiDB additions
+Migration (Import Project Wizard)
+- fixed accepting entered target db filename
+- user is asked for confirming overwrites
+Main
+- KEXI_CUSTOM_HARDCODED_CONNDATA temp. compile-time option added,
+ see doc/dev/compile_time_options.txt
+KexiStartupFileDialog
+- Esc key is filtered-out so it's not hidden and
+ dialogs using this widget can bahave properly
+
+2005-02-27
+KexiDB
+- mysql/sqlite drivers: fixed problem with xxxxConnection::value(int)
+ when we're using raw sql statements (so expanded field list is empty)
+- MySQL Driver: a hack to enable local connections without using
+ a local socket file: if user doesn't want to use local socket file,
+ host name is automatically set (internally) to "127.0.0.1"
+ before connecting. This is especially usable when we're using SSH tunneling.
+
+2005-02-26
+Widgets
+- KexiTableRM moved to KexiRecordMarker in libguiutils
+Forms
+- "pen" icon is displayed on editing within a standard form, see:
+ www.kexi-project.org/wiki/wikiview/index.php?Forms%20embedded%20inside%20Kexi#3.5._
+- fixed Tab/BackTab ordering when there're widgets without TabFocus focus policy set
+- TabOrder dialog: "dirty" flag is always set to the curent form when the dialog is accepted
+KexiDB
+- Connection::dropTable(): be sure that we handle the correct TableSchema object
+- Connection::storeObjectSchemaData() if we already have stored a schema data
+ with the same name and type - just update it's properties as it would be existing object
+
+KexiRecordMarker
+2005-02-23..25
+Forms
+- fixed Tab/BackTab ordering within form's fields, including cycles
+ and problems after detaching/attaching windows for Child Frame Mode.
+ QApplication::sendEvent() used instead setFocus() for more realistic
+ (especially for QLineEdits) focusing effects when tabulator is pressed.
+- QLabel and KexiPixmapLabel available again in KFD
+Main
+- useful Statusbar debug info about focused widget added
+ (enable this using KEXI_STATUSBAR_DEBUG compile-time macro)
+
+2005-02-21
+Kexi Startup
+- "useLocalSocketFile" option for .kexis file implemented
+Forms
+- "autoTabStops" property added.
+ It is synced with changed made by TabStopDialog's checkbox.
+
+2005-02-11...2005-02-20
+Kexi Startup
+- Support for ".kexis" shortcut files added. You can now easily create
+ a shortcut file once, and connect to your remote database server with
+ just one click :)
+- "-type" command line option added
+ (specifies a type of a file provided as argument)
+- opened file types are additionally checked by name extension
+ (if mimetype was not detected) -- this is useful for shortcut files
+- KexiDBShortcutFile class added
+- database/connection dialog reimplemented
+- KexiDBDriverComboBox added: a combo box for selecting a database driver
+
+2005-02-17
+Forms
+- Avoid errors and handle invalid dataSource property values within forms
+- show errors as "#NAME?" in line edits and other data-aware widgets
+
+2005-02-04
+KexiDB
+- DateTime values: back to ISO 8601 datetime format:
+ http://www.w3.org/TR/NOTE-datetime
+ (ie. "1994-11-05T13:15:30" not "1994-11-05 13:15:30")
+ --backward compatible
+
+2005-02-02
+Tables/Forms
+- navigating within rows optimized by using iterators
+Forms
+- navigating readded (still read-only)
+
+
+2005-01-29..31
+Forms
+- KexiGradientWidget introduced:
+ new special effects within form surface;
+ Shadow Labels introduced
+ (by Christian Nitschkowski; segfault_ii at web.de)
+- "show ui xml code" debug function added to forms
+- 1st attempt to port Forms to updated data-awarness API
+
+2005-01-27..29
+Widgets
+- fixed several blind slot-signal connections
+Forms
+- fixed slots/signals signatures with namespaces
+- better resizing new forms contents
+
+2005-01-26
+Widgets
+- fixed focusing-out record navigator's line edit
+
+2005-01-20
+Core
+- On failed plugins loading, proper error message is associated with KexiPart::Info
+ and available later; instead of only assigning it globally to KexiPart::Manager.
+
+2005-01-17
+SQL Editor
+- focus is correctly to editor widget
+API, Utils
+- KexiDataAwareView, KexiDataAwareObjectInterface introduced
+- API and GUI Consistency highly improved:
+ KexiTableView and subclasses use the same api
+ as KexiFormView and all friends
+
+2005-01-14
+General
+- KEXI_REPORTS_SUPPORT compile-time define added
+Core
+- new Part Item added after saving to KexiProject object's structure
+ and removed from temporary list of unsaved items.
+
+2005-01-10
+Forms
+- KexiDataItemChangesListener added to allow signaling changes
+ from widgets implementing KexiDataItemInterface
+
+2005-01-08
+KexiDB
+- TableSchema: table names should be lower case to ease comparisons
+- we're using "lower(o_name)='givenobjname'" comparison in kexi__objects table
+ to avoid problems even if somebody hacked this table with upper case letters;
+ thanks to Martin Ellis for mentioning the problem
+Kexi Data-aware Widgets
+- KexiRecordNavigatorHandler interface introduced -handles requests
+ generated by KexiRecordNavigator
+Forms
+- Database-aware forms finally introduced
+Core
+- KexiDataItemInterface: An interface for declaring
+ widgets to be data-aware
+
+2005-01-06
+MainWindow
+- maximized child window (dialog) state is preserved
+ (a fix after recent KMDI behaviour changed)
+
+2005-01-04
+PropertyEditor
+- prevent scrolling to previously selected item on mouse click
+
+2004-12-22
+Reports
+- data view mode: record navigator is now "page navigator"
+ (it has also [+] button hidden)
+
+2004-12-21
+Core
+- KexiProperty - added 'fixed' flag for 'list' types
+ (the flag is used in Property Editor in most cases)
+- KexiPart::ObjectTypes introduced
+- KexiProperty:
+ property is unchanged if we're moving from null value to a null pixmap, etc.
+Form Designer
+- some fixes for efficiency
+- WidgetFactory can now define custom i18n'd:
+ -property descriptions
+ -property value descriptions
+
+2004-12-20
+SQLite Drivers (2 and 3)
+*DATABSE FORMAT CHANGED to 1.4*
+- date-time data type is now stored as "YYYY-MM-DD HH:MM:SS", not as
+ "YYYY-MM-DDTHH:MM:SS". This is compatible with SQLite format
+ http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions
+ The change is backward compatible.
+ (thanks for reporting: Richard Groult)
+KexiDB
+- Connection: queryStringList() convenience function added
+- information about "possible problems" is displayed in details sections
+ of error message on failed loading db driver
+Migration
+- wizard fixed a bit
+- kexi__* tables are not copied on high-level
+- MySQL Migration driver, contributed by Martin Ellis <[email protected]>
+KexiDB Drivers
+- MySQL driver better splitted to internal and public part,
+ so migration driver can easier use it
+
+
+2004-12-18
+Forms
+- WidgetLibrary: check for duplicated factories added
+- factory groups introduced
+- factories loading splitted for lookup/loading stages
+- added 'override' flag for alternate widget class names
+- minor optimizations
+Form Plugin
+- fixed showing form's property right after form's window loading
+- record navigator added in data view
+
+2004-12-17
+KPropertyEditor
+- fixed editor positioning
+- bool editor height fixed
+- test: more property types
+
+2004-12-14
+Form Plugin
+- handling form's boundaries improved
+- after switching to/from form in data view mode, its contents position is preserved
+- fixed form's size setting in data view mode
+- two form's resize modes introduced, see
+ http://www.kexi-project.org/wiki/wikiview/index.php?Forms#Form_Resize_Modes_for_form_windows_inside_Kexi
+- in data view mode, scrollview is properly resized to avoid showing
+ outer area and without scrollbars flickering
+General
+- version info moved to kexi_version.h; kexi_global.h is auto-included
+
+2004-12-13
+Widgets
+- libkexiguiutils added (KexiDB-independent widgets)
+- KexiRecordNavigator widget added (the old one was unused)
+Core
+- Part::openInstance(): dlg->registerDialog() moved after successful dialog opening
+ to avoid focusing non-exisitng dialog and/or flickering
+ in a case of obj. loading errors
+
+2004-12-02
+KexiDB
+- version field added to kexidb driver's service files
+
+2004-11-29
+Plugins
+- Migration plugin added (this removed main<->migration circular dependency)
+Kexi Internal Parts
+- API improved
+
+~~~~ 2004 LT ~~~~
+
+2004-11-24
+Main
+- unix: fixed problem with SIGPIPE on running another Kexi process
+ (stdin/err/out is closed now)
+
+2004-11-22
+I18N
+- pl translation updated
+Main
+- disabling forms support fixed
+KexiDB
+- fixed setting relationships within query
+Query Designer
+- criteria handling fixed
+- information syncing fixed a bit more
+
+2004-11-20
+KexiDB
+- TableSchemaChangeListenerInterface added to signal changes
+ in tableschema set
+Query Designer
+- registers usage of table schema
+- fixes in GUI editor
+- more checks for schema changes
+Main
+- on table schema altering or removing, user if now asked
+ for closing windows using this table
+win32 File Dialog
+- make 'My Documents' folder as default
+Query Designer, SQL Parser
+- fixed invalid parsing string constants
+
+2004-11-19
+Query Designer
+- clearing "PK" flag is not needed in few cases
+- it's now possible to enter "alias_name: simple_expression"
+ in the column #1
+Table View
+- fixed repainting visible rows below a deleted row
+ (required if no confirmation box is displayed)
+- record navigator's rec # indicator field:
+-- fixed value validation on number entering
+-- fixed focus out
+- added support for editable comboboxes
+Main
+- always ask for removing objects
+Property Editor
+- do not steal Key_Home and Key_End key presses from editor item
+- Key_Tab and Key_BackTab work like down/up keys
+
+2004-11-17
+Startup dialogs
+- win32: fixed problem with changing directory for a new db file
+Kexi Utils
+- string2Identifier() : non-latin1 characters converted to latin1
+ eg. 'oacute' to 'o'
+
+2004-11-16
+Relations Widget
+- fixed updating tables combo box on table adding
+- on new table creation, combo box is updated with a new item
+Main Window
+- fixed setting non-latin1 characters (e.g. db name) for the title
+
+2004-11-15
+Main Window
+- close_project action's shortcut removed
+ (to avoid conflict with KMDI's 'close current child window')
+- CTRL+F4 key closes child window on win32
+Table View
+- KexiComboBoxPopup: selection is changed on mouse release event,
+ not on press, to avoid weird effect when selection is dragged
+- dropdown button placement fixed after clicking for KexiComboBoxTableEdit
+- fixed race condition in GUI on fast row inserting
+ (due to QApplication::precessEvents())
+- fixed vheader offset on row inserting
+Query Designer
+- user is warned about empty 'column' item while 'table' item is not empty
+- simple criterias are loaded to GUI
+KexiDB
+- expression classes optimized for space and speed (NArgExpr is not used)
+
+2004-11-13
+Property Editor
+- fixed moving selection (esp. using Home key)
+Query Designer
+- never ending story: fixed actions availability os switching back to design more
+- setting column aliases available using GUI
+- "caption" property hidden for KEXI_NO_UNFINISHED
+- wait cursor enabled for query executing
+Kexi Browser
+- CTRL+Enter shortcut handling fixed
+Main Window
+- property editor is shown before opening dialog (not after)
+ to allow initialize proper size inside the dialog.
+ E.g. this fixes column widths in query designer's view.
+Table View
+- sorting settings are cleared on setData()
+
+2004-11-12
+Kexi
+- 2 icons fixed
+KexiDB
+- Support for Generic SQL Keywords Escaping
+ contributed by Martin Ellis <[email protected]>
+
+2004-11-11, 12
+Property Editor
+- 'undo changes' button improved (icon, tooltip)
+- Esc key now properly undoes changes using KexiProperty::resetValue()
+- setWidget() usage fixed for spin box editors, and similar: this fixes problems with
+ key press event filtering for these editors
+- Home and End keys now moves to first/last row, also for nested properties
+- moving selection using keyboard now ensures an item is visible
+Properties
+- KexiProperty::resetValue() does nothing if property is unchanged
+
+2004-11-10
+Property Editor
+- on focus
+--previously focused editor is activated;
+--first visible item is activated if no item was active
+- fixed buffer switching (focus is not set)
+- focusing for combo box (list) editor fixed
+- focus is set again if was set before
+Table View Prop. Buffer
+- fixed memory leak and possible crash
+Table Designer
+- switching from design view to data view: it's now posible to discard changes
+- typo in prop name fixed
+Main
+- Key_F6/F7/F8 added for data/design/text modes
+
+2004-11-09
+Main
+- fix conflict of CTRL+Tab with tabbed/ideal mode on win32
+Query Designer
+- 'check query' action is now avaialble under Key_F9 (was CTRL+Key_Enter)
+ to avoid conflict with editor
+
+2004-11-08
+Main
+- a fix for saving main windows settings (now mdimode is saved to proper
+ section)
+- window_next, window_previous actions added
+KexiDB
+- DriverBehaviour::AUTO_INCREMENT_TYPE added
+
+2004-11-05
+Main
+- fixes for actions
+
+2004-11-04
+Migration
+- fixed compilation (problems due to curcular libs dependencies)
+KexiDB
+- alterTableName()
+--works better with already started transactions
+--finally works even for SQLite!
+- lowlevel Connection: drv_containsTable(), drv_getTablesList() added;
+ impelemnted for all 3 drivers
+- Connection::dropTable(): No error is raised if the table does not exist physically
+ -its schema is removed even in this case.
+Core
+- Kexi::setWaitCursor(), Kexi::removeWaitCursor() do nothing for non-GUI-aware apps.
+- KexiGUIMessageHandler now calls Kexi::removeWaitCursor()
+- If an object could not be opened in design/data view,
+ user is asked to let it to be opened in text mode (if available)
+- KexiDialogBase: temp data handling improved
+Main
+- "Open in Text View" added to the Browser
+Query Designer
+- SQL Editor is now able to open also invalid SQL statements,
+ so user can now open (and probably fix) statements.
+
+2004-11-03
+KexiSQLite 2, 3
+- crashes fixed for architectures where sizeof(char*) != 4
+Core
+- Property, PropertyBuffer: some methods made explicity inline
+- warnings added when trying to set a value to a null property
+ or when property not found. Setting value to null property disabled)
+TableView
+- in KexiTableView::acceptEditor():
+ there might be called cancelEditor() in updateRowEditBuffer() handler,
+ if this is true, d->pEditor is NULL. So we're checking
+ d->pEditor and calling startEditCurrentCell() only if it's present
+- Empty row is appended on row deletion when 'spreadsheet mode' is on.
+- fixed setting row numbers in record navigator for empty data sets
+- fixed editing large FP numbers (removed scientific mode)
+SQL Parser
+- added Date/DateTime/Time types support to ConstExpr
+ (parser does not operate on these constants yet)
+Query Designer
+- added support for Date/DateTime/Time criterias
+Table Designer
+- some properties are hidden for KEXI_NO_UNFINISHED
+Main
+- BUG: 89381 proposed fix, please test
+- Browser: added override for Key_Delete (items removing)
+KexiDB
+- DriverBehaviour: QString AUTO_INCREMENT_PK_FIELD_OPTION and
+ bool AUTO_INCREMENT_REQUIRES_PK added. This fixes problem with
+ pgsql sequences.
+- Connection:
+--fixed generationg 'create table' statements.
+--added drv_dropTable(), drv_alterTableName().
+
+2004-11-02
+Main
+- fixes for kexi__parts
+Query Designer
+- fixed adding fields by entering column names by hand
+- entering (simple) criteria now is working
+KexiDB
+- DriverBehaviour: SELECT_1_SUBQUERY_SUPPORTED added,
+ used in Connection::resultExists()
+Forms
+- on failed saving new form's data, all saving is rolled back
+- fixed saving form data for mysql (and probably pgsql)
+
+2004-10-29
+Query Designer
+- fixed focusing
+Table View
+- fixes for combo box
+
+===================== Kexi 0.1 Beta 5 "Halloween" =====================
+
+2004-10-27
+Kexi
+- a little speedup: QValueList::Iterator changed to QValueList::ConstIterator
+TableView
+- never-ending-story: fixed repaint of "insert row" for empty tables;
+ fixed setting contents size based on tableSize() on table view creation
+ (delayed slotUpdate() is used)
+- setBottomMarginInternal() added e.g. for popups
+- Appearance class introduced: defines table view's detailed appearance settings
+- "row highlighting" option added, comboboxpopup uses it
+- fixed doubled empty row inserting (edit_insert_empty_row action)
+- ensureCellVisible() fixed when record navigator is hidden
+- many improvements in combo box editor and popup
+Query Designer
+- "*" are better handled on schema building
+
+2004-10-25..26
+- defines moved from Makefile.global
+- minor compile fixes and some warnings removed
+I18N
+- pl translation updated
+Forms
+- fixed crash in connection editor
+TableView
+- datatimeedit hack disabled for !win32
+- "edit_clear_table" action added
+- KexiTableViewDataBase made protected in KexiTableViewData for safety
+- on row inserting, enable "next" button
+- record navigator
+-- now takes full width, painting fixed
+-- update width when number of digits in rows counter changes
+Main
+- preferences and configureToolbars actions ifdefed using KEXI_SHOW_UNIMPLEMENTED
+Plugins
+- Default implementation of Part::remove() added again.
+ This is enough eg. for Form plugin.
+- table and query plugin: Connection::eemoveObject() is called even
+ if object's could not be loaded, what allows to remove invalid objects.
+
+2004-10-22
+TableView
+- KexiDateTimeTableEdit, KexiTimeTableEdit implemented
+Table Designer
+- BLOB types ifdefed using KEXI_SHOW_UNIMPLEMENTED
+KexiDB
+- DriverManager does not list derver-based projects
+ when KEXI_SERVER_SUPPORT is undefined
+Startup
+- added error message when explicity provided db driver name not found
+
+2004-10-21
+Core
+- shared action's "enabler" introduced
+Startup
+- KexiStartupFileDialog: filename handling fixed for win32; fixed focusing
+- avoid asking for conversion when '--dbdriver sqlite2'
+ or '--createdb' CL option is present
+TableView
+- highlighting for int and float types fixed
+- fixed initializing for date picker
+- added 'datetime' and 'time' types support
+- adding empty rows when possible also for db-aware table views
+ (ie. RowEditoBuffer can be empty on insert)
+- it's now allowed to click "+" button in record navigator to insert rows
+ (current editing is accepted)
+- on failed row insert/update, user is informed
+ about "data_cancel_row_changes" action availability
+- on invalid value entered in a cell (after a msg box is closed),
+ the cell's editor is focused again
+Compile-time switches
+- KEXI_STARTUP_SHOW_TEMPLATES, KEXI_STARTUP_SHOW_RECENT,
+ KEXI_SERVER_SUPPORT, KEXI_FORMS_SUPPORT added (currently all enabled by default)
+Main
+- copy/paste/cut on navigator items enabled only for KEXI_SHOW_UNIMPLEMENTED
+- toolbars redesigned: now "design" toolbar is for kexipart's design view
+ and "data" is for data view. This avoids toolbars duplication.
+- propeditor dock window is hidden when a window in data view mode is active
+ (or no window is present). This feature is partially disabled
+ (using PROPEDITOR_VISIBILITY_CHANGES), though,
+ --REENABLE when blinking and dock width changes will be removed in KMDI
+- "data_cancel_row_changes" action added
+KexiDB
+- FORMAT CHANGED: SQLite Driver: 'date', 'datetime' and 'time'
+ types support fixed: Qt::ISODate format is used
+- FieldList: simple methods made inline; fixed bug in hasField()
+- findRef() instead of find() used in few places for speedup
+- a hack needed because QVariant(QTime) has broken isNull():
+ Internally: null time value is now null QDateTime(), not-null time value
+ is now QDateTime(QDate(0,1,2),time); This allows to store 00:00:00 times.
+ See also stringToHackedQTime(const QString& s).
+Table Designer
+- "tablepart_toggle_pkey" action temporary removed from toolbar
+ (will be re-added after shared toggle actions fix);
+- "tablepart_toggle_pkey" action added to popup menu and to Edit menu
+
+
+2004-10-20
+Main
+- "file_open" and "file_new" actions now start a new process
+ for creating/opening database, if needed.
+- KEXI_SHOW_UNIMPLEMENTED macro added
+KexiDB Parser
+- fixed handling large integer constants
+Table Designer
+- primary-key-fields: BigInteger type is enforced; subtypes are hidden
+Kexi Properties
+- KexiPropertyEditor::setBuffer() can be now safely called even from
+ KexiPropertyBuffer::propertyChanged() signal handlers (refreshing is delayed).
+Core
+- KexiViewBase::propertyBufferReloaded(): bool preservePrevSelection added
+
+2004-10-19
+Main
+- "delete_row" action shortcut is now CTRL+Delete, to avoid conflict with edit_cut (Shift Delete)
+- fixes for KexiBrowser
+TableView
+- KexiComboBoxTableEdit improved
+- KexiTableViewColumn: try harder to get a column name
+Startup
+- --password option removed
+- --create-opendb CL option added
+
+2004-10-18
+KexiDB Parser, KexiDB
+- Field::Type type() introduced for expression classes
+- type(): integer subtypes (Integer, BigInteger, ..)
+ are detected for int constants; the same for strings
+- Field::type(): If there's expression assigned,
+ type of the expression is returned instead.
+- Field::Type::Null added
+Query View
+- Expressions are now displayed, with header names
+Core
+- KexiDialogBase::activate() -another focus-related fix
+
+2004-10-16
+Core
+- KexiSharedActionConnector introduced
+SQL Editor
+- double clicking on a history item selects it for editing
+
+2004-10-15
+- small speedup for Kexi global objects on startup
+- fixes for KexiStartupFileDialog
+- tests/newapi is compield by default. Other tests disabled.
+Core, Plugins
+- SPEEDUP OF STARTUP:
+ Part::initActions() splitted to Part::initPartActions() (default one)
+ and Part::initInstanceActions() (lazy one)
+Kexi
+- name argument is now passed to KGenericFactory to avoid runtime warnings
+KexiDB Parser, KexiDB
+- Expression:
+-- former type renamed to token
+-- 'type' member added; typechecks added to validate()
+- more SQL statements are supported
+
+2004-10-14
+Kexi
+- more debug areas added
+- KexiStartupFileDialog wrapped for win32 again
+TODO: move some things to kdeui/win32
+KexiDB Parser, KexiDB
+- WHERE expression is supported
+- operators like "IS SIMILAR TO" and "IS NOT NULL" better supported
+- brackets better supported
+- both <> and != supported
+
+2004-10-11
+Parser:
+- ER004 supported
+
+2004-10-09
+Kexi Startup
+- ksqlite2to3 script added for unices. It's used instead of two QProcesses.
+- ksqlite2: -verbose-dump added for ksqlite2to3
+
+2004-10-06
+3rd Party
+- kexisql migrated to SQLite 3.0.7 (new kexisql3/ directory added);
+ former libkexisql is now libkexisql2 (updated to 2.8.15, by the way)
+KexiDB Drivers
+- "SQLite3" driver introduced. "SQLite" driver is now removed;
+ use "SQLite2" driver for comaptibility.
+KexiDB
+- static QString Driver::defaultFileBasedDriverMimeType()
+ and static QString Driver::defaultFileBasedDriverName() added,
+ so let's don't compare driver names against "sqlite" string when looking for default.
+Startup
+- sqlite version is now autodetected on startup
+- sqlite2 to sqlite3 format autoconversion added (with progress dialog)
+
+2004-10-04
+- command line options added: --user (-u), --port,
+ --host (-h), --password, --local-socket
+- password can be now entered using dialog, if it's a server-based conn.
+
+2004-10-01..02
+Kexi Startup
+- server-based (mysql, postgresql) projects are now available from command line
+ (usable since gui is not yet ready):
+ --createdb, --dropdb, --dbdriver command line options added
+- db creation and dropping from command line works without starting entire gui
+ see http://www.kexi-project.org/wiki/wikiview/index.php?CommandLineOptions
+Core
+- KexiMessageHandler introduced: receives messages e.g. from KexiProject
+- KexiGUIMessageHandler added
+KexiDB
+- improved error handling
+MySQL Driver
+- MySqlConnectionInternal added (like for SQLite)
+General
+- KMessageBox::warning**() used instead of question**() for dangerous messages.
+- 'tristate' helper class introduced. This reduces a need for adding
+ bool& cancelled parameters.
+- tristate class used where possible instead of 'bool& cancel' params
+
+2004-09-29
+2004-09-30
+SQL Parser highly improved
+- reduce/reduce conflicts solved: operators in expressions have now 9 valid precedence levels
+- expressions are now parsed quite well: e.g. identifier checking is recursive
+- better debugging
+- ParseInfo introduced: Data used on parsing
+- invalid use of reserver keywords are now detected:
+ '"KEYWORD" is reserved keyword: identifier was expected' message is now returned
+ instead of dumb "syntax error"
+KexiDB
+- Field: expressions are better supported
+- Connection: expressions are visible in selectStatement()
+
+2004-09-28
+KexiDB
+- Field: documentation added
+Kexi
+- ConstIterators used where possible
+
+2004-09-27
+SQL Parser
+- ER102, ER103, OK104 SQL Issues resolved (see statements.txt)
+- several bugfixes
+
+2004-09-17
+KexiDB
+- Connection::selectStatement(): alias is used insetead of table name,
+ if available
+- QuerySchema: 'index' term replaced by 'position' ; insertField(), addField()
+ overloads added allowing tables binding by position; addTable() now allows
+ to specify table alias; tablePositionForAlias(), tablePositions() added;
+ many docs and examples added
+SQL Parser
+- many improvements and checks:
+ -- ERR: there's no "persons" table in this query (alias "p" covers it)
+ select persons.id from persons p;
+ -- alias "p" for table "persons" is used
+ select p.id from persons p;
+ -- multiple aliases for the same table
+ select persons.id from persons, persons p, persons p2
+
+
+2004-09-15..16
+SQL Parser
+- select statements are now parser in more functional way, instead
+ of using global pointers. This enables nested statements in the future.
+- field alias support fixed
+- table alias support added
+KexiDB
+- (API CHANGED) QuerySchema:
+--"Field" in isFieldVisible(), setFieldVisible() renamed to "Column"
+--alias() renamed to columnAlias(), and so on
+--Table aliases are now supported: tableAlias() added, and so on
+--QueryFieldInfo class renamed to QueryColumnInfo
+
+2004-09-14
+TableView
+- hack added for KDownArrowPushButton for drawing with thinkeramik style.
+- convenient ctor added for KexiTableViewData
+KexiDB
+- Driver::escapeIdentifier() : "" are only added if there is a space inside the name.
+ This keeps SQL statements more readable, especially in SQL View.
+- DriverBehaviour::QUOTATION_MARKS_FOR_IDENTIFIER added
+- Driver::drv_escapeIdentifier() added:
+ This method is used by escapeIdentifier().
+ Implement escaping for any character like " or ' as your
+ database engine requires. Do not append or prepend any quotation
+ marks characters - it is automatically done by escapeIdentifier() using
+ DriverBehaviour::QUOTATION_MARKS_FOR_IDENTIFIER.
+Parser
+- tokens like '123abc' are now reported as invalid by lexer to parser
+
+
+2004-08-25
+Core
+- KexiSharedActionHost::invalidateSharedActions(QObject *o)
+ if o is not KexiDialogBase or its child,
+ only invalidate actions if these come from mainwindow's KActionCollection
+ (thus part-actions are untouched when the focus is e.g. in the Property Editor.
+- KexiViewBase::setDirty() -do not signal 'dirty' flag's changes if no change
+- ObjectStatus now also stores related KexiDB::Obeject's, for more verbose errors
+KexiDB
+- Field::isAutoIncrementEnabled() added + some checks for 'autoincrement' flag
+- fixed saving SQL statements for possible later error messages.
+ Object class now also better handles previous server error messages and numbers.
+- KexiDB::getHTMLErrorMesage() improved, it's more verbose in certain cases
+- Driver::escapeIdentifier() added; used in Connection in every place
+ where SQL statements are generated. Thanks to Martin Ellis.
+TableView
+- "yes" button for "do you want to delete row?" dlg has "Delete row" text
+ (as KDE HIG requires)
+- cell-cursor's is position not reset after initDataContents() on show()
+ if it was set before KexiTableView widget showing.
+Table Designer
+- many validations added related to primary key and autonumber properties
+- On table creation (or altering), if there is no primary key, user is asked
+ if it should be added (automatically).
+ Useful setting "dont show this again" added for this as well.
+
+
+2004-08-24
+Table View
+- redraw fixed -very special case: If you're during editing a new row, and click
+ on last (empty) row, and your newly entered row has no data in its cells,
+ (what ends up with cancelRowEdit()), cursor is now moved one line up.
+- unknown, non-printable key events are not ignored now, but passed to superclass;
+ this e.g. fixes blocking ESC key in dialogs
+- fixed setting cursor on row removing
+Kexi Properties, Property Editor
+- icon added as optional property member
+Form Designer
+- Connection editor implementation cleaned a bit (bug #44)
+Table Designer
+- "autonumber" property is now visible
+- icons added to propertybuffer
+Form Module
+- kexidbwidgets.so ported to win32
+
+2004-08-23
+Table Designer
+- fixed code because of new column has been prepended
+KexiDB
+- KexiDB::Field::Type defaultTypeForGroup(KexiDB::Field::TypeGroup typeGroup)
+ added and used in Table Designer.
+- KexiDB::idForObjectName() convenience function added
+Table View
+- fixed methods for 'visible' flag in KexiTableViewColumn
+
+2004-08-21
+Table View
+- Key_Left, Key_Right now by default behaves like Key_BackTab, Key_Tab
+- KexiTableViewData::deleteRows(): refresh is requested only
+ if at least one row has been removed. This also magically fixed
+ a bug with missing vheaders in the Query Designer :)
+Main Window
+- opening object: if object is already opened but in other view,
+ its activated and switchToViewMode() is simply called.
+ This fixes switching GUIClient for "design" action called from the Navigator.
+- Kexi::ViewMode is repaced with int type in most places
+ to ease future extensibility.
+
+2004-08-20
+KexiDB, Table View
+- Kexi now supports and shows autonumber (sequences) column, see
+ http://www.iidea.pl/~js/kexi/shots/beta5/unicode_chars_and_autonumber.png
+Table View
+- autoincremented field can be omitted (left as null or empty)
+ if we're inserting a new row
+- fixed displaying "autonumber" cell on row inserting
+- row editing is accepted on sorting
+- on failed sorting, sort indicator is reverted
+- Key_Tab, Key_BackTab work again;
+ skipping to next/previous row added
+- when the user doubleclicks on the edge (handle)
+ of horizontal header's section, column's width
+ is adjusted to widest cell size
+Table Designer
+- before switching to design view, row editing is accepted
+Main
+- PropertyEditor/FontSize setting is now stored
+
+2004-08-19
+KexiDB
+- DriverPrivate added to avoid binary incompatibilities
+- driver (QCString keys, QVariant values) properties added
+ (some prdefined properties added as well)
+Table View
+- optimizations in KexiTableViewData::saveRow()
+New API Tests
+- "dr_prop" test added
+SQLITE Driver
+- Kexi file driver now supports UTF8 storage for text fields
+Shared Actions
+- data_sort_az, data_sort_za, data_filter actions are now shared & volatile,
+ KexiTableView and KexiDataTable now use these
+
+2004-08-17..18
+Core
+- added KexiViewBase::setAvailable() overload. This one and sharedAction()
+ now call parent's method, when needed.
+- Shared actions: some fixes for plugging/unplugging
+KexiBrowser
+- "rename" action is now shared as "edit_edititem" action
+KexiTableView
+- "start edit" action (for F2/Enter key) is now shared
+ as "edit_edititem" action
+- KexiKIconTableEdit introduced: Cell editor for displaying kde icon
+ (using icon name provided as string).
+- TableViewHeader (inherits QHeader) introduced: supports tooltips
+ when needed (for column description of if column is not wide enough)
+KexiTableView ComboBox
+- QStyle primitives are better used for drawing combo button
+- button is depressed after popup hidding
+Table Designer
+- "tablepart_toggle_pkey" shared action added for design view
+- "Not empty" field's property is now called "Allow Zero Size"
+ (and has opposite meaning)
+- 1st column with "key" icon (for pkey) added (using KexiKIconTableEdit)
+KexiDB
+- QString Field::subType() added
+- QuerySchema::autoIncrementFields() fixed (caused crash sometimes)
+
+2004-08-06
+Table Designer
+- some rules added: e.g. setting 'indexed' property to false clears 'primaryKey';
+ setting 'primaryKey' to true sets 'indexed', 'unique', etc. to true
+Core
+- KexiProperty, KexiPropertyBuffer: some operators added, operator [QCString] now
+ returns KexiProperty, convenient operator = (QVariant) added; KexiProperty::null added
+TODO: KexiProperty: add support for positive integers, "Auto" values e.g. for integer ==0
+ like defined in QSpinBox. Reuse this in PropIntSpinBox.
+
+2004-08-05
+PropertyEditor
+- Bool Editor: toggle button has now without ugly focus (space key still works)
+- KexiPropertySubEditor:setWidget() focus proxy is set only if the widget has
+ non-zero focus policy.
+- [+][-] branch box is better positioned; treeStepSize is now narrower
+- font size is decreased to a reasonable minimum
+Core
+- generateIconSetWithStar() not used, static icons added insted (icon cache was confused)
+MainWindow
+- right dock width is now stored in config file
+
+2004-08-04
+MySQL Driver
+- introduced again! thanks to Martin Ellis
+KexiDB
+- alterTable() added (now only drops and recreates table)
+- createTable() 'zombie' rows from 'kexi__fields' table is removed for safety
+- Connection::storeObjectSchemaData() identifier is not obtained if
+ it's already provided
+- DriverManagerInternal::aboutDelete() added: called from Driver dtor
+ (because sometimes KLibrary is destroyed before DriverManagerInternal)
+- DriverBehaviour::ROW_ID_FIELD_RETURNS_LAST_AUTOINCREMENTED_VALUE added
+ True if the value (fetched from field (or function)
+ defined by ROW_ID_FIELD_NAME member) is EXACTLY the value if autoincremented field,
+ not just an implicit (internal) row number. Default value is false.
+ --used in Connection::lastInsertedAutoIncValue()
+Table Designer
+- saving changes to tables works now (data is just dropped, though);
+ user is warned about this, when needed
+- DataTable view is updated after saving table's design
+- temporary data added; KexiAlterTable_DataView implemented
+ (this fixes lack of updating datatable view after schema changes)
+
+2004-07-28..2004-08-03
+KexiDB
+- ProjectDB FORMAT CHANGED (remains backward compatible):
+- kexi__query* tables removed (to complicated, not needed since we
+ are primarily using kexi__objectdata and xml)
+- Driver::IgnoreTransactions flag added: transactions are silently bypassed,
+ (temporary, useful for current mysql driver implementation)
+- Query Schema: QueryFieldInfo introduced:
+ "select a as one, a as two from table" is now possible
+ (two different aliases for the same field);
+ this also maintains field visibility.
+- Most needed expression classes added (BaseExpr-derived)
+- most debugs removed
+- more debugString() methods added for few classes
+- FieldList: removeField(), insertField() (at position) implemented
+ addField() now uses insertField()
+KexiDB/parser
+- 'bison -dv' used instead of yacc
+- single-char tokens are now used as chars: symbols are dropped for better
+ code readability
+- more safe and readable code: $$ is now used instead of changing global variables
+- realType added
+- loadDataBlock(), storeDataBlock(), removeDataBlock() moved to Connection class
+- Connection::querySchema() methods now use parser
+- Connection::createTable() now also allows table replacing
+- Connection::storeObjectSchemaData() now reuses schema's id if > 0
+NEWAPI Test
+- now KCmdLineOptions are used, see README
+- "parser" test added
+KexiTableView
+- KexiTableViewPropertyBuffer: a fix for maintaining `dirty' flag
+- updates for QueryFieldInfo
+- compiler warnings removed
+Core, Widget, Plugins
+- updates for QueryFieldInfo
+- compiler warnings removed
+
+2004-07-24
+Form Designer
+- added icons for ajust/align icons
+
+2004-07-23
+Core
+- KexiViewBase::removeDataBlock() and KexiDialogBase::removeDataBlock() added.
+- more error messages added
+Main
+- Startup dialog re-enabled
+KexiDB
+- Utils: most smaller functions are now inline
+- optimizations:
+ * Connection::querySingleRecord(), querySingleString():
+ " LIMIT 1" is added to the statement
+ * Connection::resultExists(): "SELECT 1 FROM (<statement>) LIMIT 1"
+ statement is executed
+ * Connection::resultCount() added: "SELECT COUNT() FROM (<statement>)"
+ statement is executed
+- Cursor::open(): sets error message when needed
+Query Designer
+- KexiQueryView: shows error on failed execution
+
+2004-07-22
+Main
+- Kexi Browser: "create new" action added to browser's mini-toolbar;
+ icons for particular "create" actions are generated in a funny way
+- "project_new" and "project_open" actions removed from the main toolbar
+
+2004-07-20..21
+Kexi Browser
+- "rename object" action added (inline editor uses IdentifierValidator)
+- popup menu for group nodes now have a title
+Core
+- KexiProject, KexiPart supports object renaming
+- KexiProject::removeObject() and KexiProject::renameObject()
+ now operate within transaction.
+- KexiProject: more error mesages added.
+KexiDB
+- Connection::drv_executeSQL() is now protected. Connection::executeSQL() public
+ method added which remembers last executed sql statement for better error handling.
+Main
+- KexiBrowser: After item's successful rename, it's resorted,
+ and if it's dialog is opened, it's caption is updated as well.
+
+2004-07-19
+Kexi
+- We've now --final-mode and --design-mode CL-options for completness.
+KexiCore, KexiMain
+- KexiStartupHandler introduced: handles startup actions, that
+ are new performed independently from Main Window's stuff.
+ We're now prepared to having 'startup mode'
+ database's property, which can be overriden by --final-* CL-options.
+Form Designer
+- A small fix to reduce widget flickering on resizing:
+ when we're dragging left, top-left or top
+ handle, both size and position of widget changes. We're now hiding
+ the widget and showing it again after transformation.
+
+2004-07-16
+Form Designer
+- some strings fixed
+
+===================== Kexi 0.1 Beta 4 "FireDuck" =====================
+
+2004-07-15
+Forms
+- form's initial sizeHint is now hardcoded to (400,300), will be fixed later
+Query Designer
+- saving existing queries work in SQL View
+Core
+- after successful storeData() or storeNewData(): 'dirty' flag is cleared
+ for _every_ dialog's view
+
+2004-07-14
+Kexi
+- polish translation updated (also for KFormDesigner)
+Core
+- "current mode" member is now reverted if afterSwitchFrom() failed
+- removed one (I hope unnecessary?) shared-action invalidation
+- storeNewData() and storeData() new have 'bool &cancel' parameter
+Query Designer
+- storing and mode switching fixed
+- KexiQueryDesignerSQLView::storeNewData():
+ we won't store query layout: it is recreated 'by hand' in GUI Query Editor
+Table Designer
+- temporary behaviour: altering data is cancelled
+- fixed switching between Data and Design view
+
+2004-07-12..13
+KexiDB
+- Connection: selectStatement(): "SELECT FROM ..." queries (ie. without columns)
+ are allowed (needed for desiger); omitting "FROM" allowed
+KexiDB/Parser
+- "SELECT FROM " rule added
+Core
+- KexiPart::Part::openInstance(): now virtual KexiDialogBase::loadSchemaData() is called
+ what allows to reimplement stored schema data loading (reimpelemnted for queries)
+- KexiDialogBase::dirty() now is true if any view is dirty
+KexiTableView
+- If ensureCellVisible() is called before table view is visible, it's (col,row) arguments are
+ stored and ensureCellVisible() is called just after show event. This fixes invalid scrolling.
+Query editor, Table Editor
+- storage/ loading/ view switching/ dirty flag updating - improved
+
+2004-07-10
+TableView
+- "edit_delete" action is disabled for read-only tables
+
+2004-07-09
+KexiDB
+- It's possible to define relationships for QuerySchema
+ (with Relationship objects)
+- Connection: optimization: QString::reserve() used
+ before generationg SQL statements
+- Connection::selectStatement() now generates joining rules
+ (i.e. relationships using WHERE)
+Query Designer
+- joins defined by GUI are now visible in SQL View
+
+2004-07-08
+Query Designer
+- switching between design modes improved
+- on generating sql from GUI: "*" added if no fields are picked
+KexiMainWindow
+- neverending-story: actions availability updating fixed
+TableView
+- KexiTableViewPropertyBuffer: all buffers are cleared when view's
+ data is cleared (using clear())
+Relation Widget
+- view clearing supported
+Core
+- KexiViewBase: 'dirty' flag is now better signaled to a dialog
+KexiDB/SQL Parser
+- lexer: USER_DEFINED_NAME now accepts also [0-9] (after 1st char)
+- optional ';' is allowed at the end of top level statement
+- dummy table is removed from query after parsing
+
+2004-07-07
+Core
+- KexiDialogBase: Never Ending Story: Shared actions are invalidated on activate()
+- ObjectStatus general purpose class introduced. KexiDialogBase now uses this
+ to indicate errors.
+- KexiPart::Part: if newly opened dialog (KexiDialogBase) cannot display 1st view, it's closed
+ (via close()) and error message is set up
+- KexiPart, KexiProject:
+ const Kexi::ObjectStatus& lastOperationStatus() added for not-kexidb errors
+KexiMainWindow
+- formpart is now available by default; menu for switching it off is hidden
+- more errors taken from KexiProject are friendly displayed :)
+Query GUI Editor
+- saved layout (etc.) is loaded in afterSwitchFrom() for mode==Kexi::NoViewMode,
+ instead of doing it in the ctor
+SQL View
+- switching to other views improved: msgbox is displayed for invalid sql texts
+- Intelligence Built In: we're doing our best to avoid regenerate the same
+query from almost unchanged sql text
+
+2004-07-02..05
+XMLGUI
+- Tools menu added
+- undo/redo global actions added
+- tolbar setup consistent with ui_standards.rc and incoming katepart
+Main Window
+- hack: `window' menu moved right before settings menu
+Widgets
+- KexiSectionHeader: adding buttons connected to actions allowed on the right hand
+- Relation View: saved table widgets' geometries are better setup on loading
+ (fix for differences between font sizes on differens computers)
+- SQL Editor: better integration with katepart's actions using new shared action's API
+Core
+- KexiDialogBase now has activate(), deactivate() handlers,
+ KexiViewBase::updateActions(bool activated) is called for a current view
+- Workaround found for integrating katepart's actions with Kexi's shared actions:
+ - katepart KXMLGUIClient's KActions are now pluggable to KexiActionProxy
+ - KXMLGUIClient's KAction::enabled(bool) signals are now automatically mapped
+ to KexiActionProxy::setAvailable(bool)
+<TODO>: introduce KexiSharedXMLGUIClient class:
+ ctor: KexiSharedXMLGUIClient(KexiSharedActionHost *host, KXMLGUIClient *client).
+ A single instance is created for particular xml file (eg. katepartui.rc) and inserted
+ int KexiMainWindow's internal dictionary. This GUI client will be attached when needed
+ (ie. when given KexiViewBase object that is activated asks for this) and detached
+ when not needed.
+ showOnlyActions(QCStringList) - declares custom action list that will only be available
+ In any time, no KActions will be created if these already are available globally
+ within KexiMainWindow.
+</TODO>
+SQL View
+- history behaviour reverted to previous
+- added "clear history" and "select this query text" buttons in KexiSectionHeader
+- added popup menu with above actions
+
+2004-07-01
+SQL View
+- kate part now better integrates its actions with kexi menus/toolbars
+TODO fix it: actions, shortcuts
+- 'Tools' menu added, 'Window' menu is now repositioned before 'settings' menu
+
+2004-06-30
+SQL View
+- fully implemented history/status mode switching
+- both modes work with "check SQL" action
+Core
+- KexiViewBase::updateActions() virt. method added for convenience
+
+2004-06-28
+KexiCore
+- KexiViewBase now knows own view mode
+SQL Parser, SQL View
+- fixed error handling (syntax error is only set when no detailed error is known)
+- on error: fixed jumping to proper character (even where are more lines and tabulators)
+- status label's height is properly increased, when needed
+- jumping to proper character impelmented also for QT_ONLY_SQL_EDITOR
+- fixed crash for parsing empty SQL string
+Main Window
+- removed redundant MDI Mode option from View menu
+Core
+- some docs added
+- KexiSharedActionHost::createSharedAction() : subclassName arg added
+
+2004-06-25
+KexiCore
+- fixed switching for other mode
+ (formpart behaviour was really weird because of that)
+
+2004-06-24
+KexiCore
+- Some doxygen docs added.
+- Fixed activeView() when we're just switched to other view in KexiDialogBase
+Widgets
+- SQL Editor: now properly emits signal about text changes.
+- SQL Editor: now has QT_ONLY_SQL_EDITOR compile-time option (both modes works on win32)
+Utils
+- Kexi::setWaitCursor(), Kexi::removeWaitCursor() -for delayed cursors added (eg. user on view opening)
+KexiMain
+- --edittext [<object_type>:]<object_name> C.L. option added:
+ like --open, but the object will\nbe opened in Text Mode
+KexiDB
+- Parser::query() public function added; select() is now internal
+SQL Editor
+- CTRL+Return shortcut; added information what to do to validate query text
+
+2004-06-23
+KexiCore
+- Fixed focusing previously selected dialog after Kexi main window's activation
+- KatePart is working on win32 as well
+
+2004-06-21
+KexiActionProxy
+- activateSharedAction(), isAvailable() now have alsoCheckInChildren arg.
+KexiDialogBase
+- actions availability is invalidated on view switching
+KexiPart::Part
+- proper integration with SharedActionHost
+- actions creating simplified with Part::createSharedAction()
+- finally: initPartActions() and initInstanceActions()
+ replaced with single call of initActions().
+ createSharedPartAction() and createSharedAction() added
+Parts
+- all parts code updated for API changes
+
+2004-06-19
+KexiTableView
+- added checks if column is >=0 (this avoid crashes)
+FormDesigner
+- TabStopDialog:
+ * was badly implemented: exec() in ctor. exec() moved from ctor to
+ TabStopDialog::exec(Form*) method
+ * fixed crash: QVBoxLayout was added twice! 1st via ctor, 2nd view QLayout::addLayout()
+ --removed 1st
+Query Designer
+- kexiquerypartinstui.rc added and some actions
+Core
+- sql parser is now allocated in KexiProject
+KexiDB
+- docs greatly improved, thx Martin!
+- UNSIGNED INT -> INT UNSIGNED
+
+2004-06-18
+Query Designer
+- SQL Editor: added KexiSectionHeader
+- KexiQueryDesignerSQLView -> KexiQueryDesignerSQL
+- KexiQueryDesignerSQLEditor: now inherits KexiViewBase
+- Double clicking on table's field in Relation View allows to auto-add this field
+- KexiQueryDocument no longer used, similar KexiQueryPart::TempData is used
+- switching to SQL View working again
+- added warning when switching to dataview with empty design
+KexiTableView
+- Editor's focus position is updated (moved down)
+ when new row is inserted above current row
+KexiDialogBase
+- returning without failure when KexiViewBase::beforeSwitchTo()
+ returned cancel==true and success==false
+
+2004-06-17
+KexiTableView
+- Combobox's button is now in "toggle" mode; popping up is now better hidden/shown
+KexiViewBase
+- storeNewData(), storeDataBlock() simplified; parts code updated for this change
+Query Designer
+- relations widget: geometries for tables and connection lines are now stored
+- 'dirty' flag better updated
+
+
+2004-06-15
+2004-06-16
+TableView, Alter Table
+- Table Cell Editor's Focus is cleared on slotRefreshRequested()
+- fixed columns recreating on data resetting for a table
+TableView
+- fixed inserting row (empty or dropped)
+- dropping indicator line is now painted with XOR mode
+- more intuitive dragging and dropping rows: dropping on bottom 1/3 row's area means
+ dropping below this row
+- dropping after the last row is now possible
+- KexiTableViewData and KexiTableViewPropertyBuffer now supports multiple
+ rows deletion with cost O(n). KexiTableView is updated properly for this action.
+Alter Table
+- afted hiding table, rows (and prop. buffers) that are connected with it are deleted
+
+2004-06-14
+Core/Parts
+- For all parts: Instance GUI Clients are now splitted for per-view
+ GUI clients (switched on view switching) and common GUI client
+ (not switched within given dialog).
+
+2004-06-10
+2004-06-12
+KFormDesigner
+- rectangle on widget inserting, resize handles and grid's dots:
+ are now painted in white XORed color on top of all other widgets
+- fixed widget raising to top on clicking: also container members
+ are raised (eg. for tab widget)
+- more guarded ptrs added; fixed crash on ObjectTree destruction
+- selection rectangle is drawn unclipped now, on top of all widgets
+
+2004-06-09
+KexiTableViewPropertyBuffer:
+- slots' connections fixed
+KFormDesigner, Kexi Forms
+- "pointer" action: better icon added (from Karbon); action moved to "widgets" toolbar/menu
+- all "widgets" actions and "pointer" action are mutually exclusive
+
+
+2004-05-15
+KexiDB:
+- fixed bug: Connection::resultExists() now properly closes temp. cursor
+
+===================== Kexi 0.1 Beta 3 "United Europe" =====================
+
+2004-05-08
+Form Designer: Extra widgets
+- fixes for kde3.1 compatibility
+- implicit deleting is cleaner than explicit
+
+2004-05-06
+Main Window
+- Messages are displayed on failed switching to othe view.
+Lucijan's stuff
+- Compile fixes, will be backported
+
+2004-05-03
+Kexi Main Window
+- Dialog dictionary is properly cleared on project close (fixed possible crash)
+- Not stored dialogs are properly removed from a dictionary
+Kexi Startup
+- fixed possible crash due to deleting not owned connection data, deep copy is now performed
+
+2004-05-01
+KexiDB
+- QuerySchema: 'visible' field's property is now assigned to possition, not to field pointer,
+ because the same field can be added more than one time to a query
+- Connection::selectStatement(): only visible fields are shown
+Query Designer
+- executing (switching to data view mode) is working again!
+
+2004-04-30
+TableView:
+- dropdown button position properly updated when scrollview's x-offset is non-0
+Kexi Forms
+- toolbar moved from 'part-wide' area to 'part-instance' area
+Reationships/Query Editor
+- master/detail sides of the realtionship are swapped when correction is needed
+KexiViewBase
+- added possibility of disable data storing on view switching; for some cases
+
+[INFOSYSTEM 2004]
+
+~~~~~~~~~~~~~~~~ beta3 pre2 ~~~~~~~~~~~~~~~~
+
+2004-04-16
+Kexi Core
+- introduced KexiDialogTempData
+TODO: make KexiQueryDocument inherit KexiDialogTempData
+- added 'Settings->Other->Enable Forms' menu switch (off by default)
+Global
+- version: beta3 pre2
+- updated readme_en
+- Kexi backported to KDE3.1 and Qt3.1.1
+KexiDB
+- setting length is only available for Text fields
+Kexi Alter Table
+- 'length' property is set to 0 on changing type from Text to any other, and set to default (200)
+ otherwise
+
+2004-04-15
+Kexi Main
+- KexiNameWidget, KexiNameDialog: caption is now not required; geometry fixed
+- Ugly bug fixed: active window sometimes changed to
+ other on menu clicking or leaving dialog's focus (because KexiTableView had NoFocus policy)
+
+2004-04-14..15
+Table Views
+- insertEmptyRow() improved
+- KexiTableViewPropertyBuffer introduced
+- cell editors that have no editor widgets: current internal value is now displayed
+- KexiDataTableView: fixed columns double initializing
+Cell Editors
+- Boolean cells are now treated as other types: validation and edit buffering works
+- Boolean cell editor moved to separate KexiBoolTableEdit class
+- Enter key also toggles boolean editor's value
+- clickedOnContents() added -allows to toggle value without using
+ editor widget (used in boolean cells)
+- hasFocusableWidget() added -allows cell editors that have no editor widgets (e.g. boolean type)
+Query Designer
+- many functional improvements
+- property editor is now used, like in Alter Table Dialog (with KexiTableViewPropertyBuffer)
+KexiDB
+- Connection::useDatabase(): fix for non-sqlite dbases:
+ we're not checking for database inconsistencies when using temporary database.
+- SQLite cursor: added decoding for boolean values
+TODO: move this decoding somewhere to generic functions
+- Connection::useDatabase() : kexiCompatible param. added to allow using native dbases
+
+2004-04-13
+Forms
+- linkage fixes for win32
+- some null-checks added
+- widget deletion is now delayed (because of problems with qt/win32 events)
+Table Views
+- KexiTableView::maximizeColumnsWidth() added
+Relations Editor
+- Combo box is updated on table hidding
+- popup menu titles added
+Query Designer
+- columns' data is better updated
+
+2004-04-06..08
+KexiDB
+ - Reference class renamed to Relationship, documentation improved
+ - QuerySchema: added 'field visibility' flag
+Table Views
+ - added 'column visibility' flag, inherited from QuerySchema's 'field visibility'
+ - many sanity checks added usable when data is destroyed
+ - added possibility of disabling vertical scrollbar's tooltip
+ - table can be refreshed if data model changed outside of this table
+Combobox Table Columns
+ - key-based related data in columns added as an option (still of Field::Enum type)
+ - flickering removed when popping up for the first time
+Query Designer
+ - table of fields ('field' and 'table' columns) is updated a bit on table adding;
+ not finished though
+
+2004-04-05
+Kexi Alter Table
+ - fixed possible crash when the view is initialized with no table schema specified
+ (ie. for designing a new table)
+ - a pointer to table schema is updated after creating a new table
+ - compilter warnings removed
+KexiDB
+ - names and docs in Reference class improved
+ - Connection: major versions of database and kexidb is are compared on useDatabase():
+ errors are presented if needed
+
+2004-04-02
+KexiDialogBase
+ - beforeSwitchTo(int mode, bool &cancelled) is called also on newly created view
+
+2004-03-29..2004-04-01
+Kexi Query Designer Editor
+ - KexiSectionHeader class introduced
+ - section's size hind fixed
+Relations widget
+ - asterisks added to table boxes
+ - asterisks are not drag&drop enabled
+ - hiding tables implemented (connections are removable as well)
+Table View
+ - Temporary FIX: BLOB editors are disabled
+ (in KexiBlobEditorFactoryItem::createEditor()) because of unstability.
+TODO: reenable this
+ - setData(): when the same data object is passed, tableview is just refreshed
+ - setDropsAtRowEnabled() added; row-droping-indicator implemented
+ - KexiTableView::editor(): only if ignoreMissingEditor is false (the default),
+ and editor cannot be instantiated, current row editing (if present) is cancelled.
+ Thus: Now it's possible to edit data for tables where there are cells
+ that have no valid editors (yet?), such as BLOB now.
+ - paintCell(): if there is no editor defined, just a focus box is displayed,
+ filled with additional grayed diagonal pattern
+Table View Editors
+ - clicking on date table popup selects current date
+ - QScrollView is passed on editors creation instead of QWidget
+ - QScrollView::moveChild() is used for moving external widgets, instead of QWidget::move()
+ - fixed uninitialized leftMargin value for FP-Number editor (on win32)
+Alter Table Dialog
+ - Temporary: 'defaultValue' property hidden- we'll show this after we
+ get properly working editor for QVariant
+Kexi
+ - Welcome screen now uses html 'welcome_<locale>' fiels.
+ These are Temporary! Do Not Translate!
+Kexi Core
+ - KexiPartManager is now KexiDB::Object-derived; error texts are set now
+ - Action Proxies: child focus is better handled
+ - KexiViewBase: focus change tracking and actions updating improved
+
+2004-03-27
+Form Editor
+ - buggy deleting fixed: ResizeHandleSet::Dict defined, we're using that instead
+ of not-fully-defined QDict<ResizeHandleSet>
+Kexi
+ - added 'Welcome' screen with hot informations for our users
+
+~~~~~~~~~~~~~~~~ beta3 pre1 ~~~~~~~~~~~~~~~~
+
+2004-03-26
+ - pl translate updated
+ - some I18N_NOOP turned to i18n
+ - fixed crash on Relationships window closing due to lack of Part Item
+KexiTableView
+ - "dontAskBeforeDeleteRow" config key is better
+ - after removing a row, all rows below are updated
+ - repaint of bottom few pixels (empty) area fixed when scrolling and resizing
+Kexi
+ - "-new <object_type>" CLI option added: "Start new object design of type <object_type>"
+ (also convenient for everyday tests)
+Main Window
+ - MDI mode is now stored and restored
+ - fixed problems with property dock window when using IDEAl mode
+KMDI
+ - Fixed memory leak & crash:
+ Tab/IDEAl mode: mdiview was never destroyed but just moved out of the tab widget
+ - KMdiChildFrm: Mouse button press filtering is checked against every client's child,
+ not just client
+TODO: backport this to qextmdi???
+
+
+2004-03-25
+KexiTableView
+ - adjustColumnWidthToContents(-1) now mean that all columns' width is adjusted
+ - after calling adjustColumnWidthToContents(), editor width is updated, if needed
+ - setSpreadsheetMode() added
+KexiQueryDesignerGuiEditor
+ - spreadsheet-like mode set
+ - more columns added: totals & sum
+
+2004-03-24
+Main Window
+ - Wrong behaviour fixed:
+ after switching to other MDI mode, pointer to current dialog needs to be updated
+ (property editor was empty)
+ - previous 'view mode' toggle action is checked back properly after cancelled switch
+Table View
+ - fixed editing initializing with 'removeOld' mode
+Alter Table Dialog
+ - Temporary workaround:
+ if data is dirty and table schema was saved before --user is asked
+ for discarding changes.
+ - switching to Data Mode is cancelled if current design is empty (never saved and !dirty)
+KexiDialogBase
+ - switchToViewMode() has now option for cancelling switching
+ (if user is able to cancel in any case)
+ - switchToViewMode() calls saveObject() on main window before switching, if needed
+ - KexiViewBase::afterSwitchFrom() and beforeSwitchTo() have now bool &cancelled
+ parameter that allows to gently cancel switching
+ (probably after showing some info messages)
+
+2004-03-23
+2004-03-24
+Core, Main Window
+ - Volatile Actions introduced
+ - Menu updating and focusing fixed
+Kexi TableView, Kexi Table Data
+ - Empty row inserting implemented
+Kexi Alter Table
+ - Empty row inserting action added
+
+2004-03-22
+Main Window
+ - when toggling to other view mode (using radio action) failed, action for
+ previous mode is toggled back.
+
+2004-03-19
+2004-03-20
+KEXIDB:
+ <KEXIDB FORMAT CHANGED TO 1.2>
+ - 'kexi__objectdata' table introduced: contains object's data, such as form's xml def
+ SCHEMA: table kexi__objectdata
+ o_id integer REFERENCES kexi__objects(o_id),
+ o_data BLOB,
+ o_sub_id varchar(200)
+ </KEXIDB FORMAT CHANGED TO 1.2>
+
+ - Field::typeForString(typeString) Field::typeGroupForString(typeGroupString) added
+ - Connection::querySingleString() and Connection::resultExists() added
+ - KexiDB::sqlWhere() utility function added
+Alter Table Dialog
+ - Saving field types FIXED
+CORE:
+ - KexiDialogBase::storeDataBlock() added
+Table View
+ - fixed row's painting for empty table that have only row "for inserting"
+ - vertical record marker: fixed painting during inserting 1st row
+ - function for inserting an empty row above the cursor added (not finished yet)
+CORE:
+ - Shared Actions: unplugSharedAction(action_name, widget) added
+Main window:
+ - "Insert empty row" shared action added
+ - Shared actions are updated on switching between dialog view modes
+
+2004-03-17
+ -KexiProperty: fix for fix :) changes from null string to "" string (or vice-versa) are ignored
+ -Kexi Property editor receives signal KexiPropertyBuffer::propertyReset()
+ (called from KexiProperty::resetValue()) so property is property visually reseted
+ even on calling resetValue() either by clicking "reset" button or by hand.
+
+2004-03-13
+ -KexiProperty: changes from null string to "" string (or vice-versa) are ignored
+
+2004-03-12
+Table View
+ -Combo box editor: cursorAtEnd() and cursorAtStart() are just used
+ from KexiInputTableEdit
+ -Some debug disabled
+ -setColumnWidth() added
+Alter Table Dialog
+ -now KexiDataTable is inherited instead of using KexiTableView internally.
+ Thus we have actions like 'row deleting' available.
+ -on table schema saving: checking for duplicated field names is now case insensitive
+ -convenient width set for 'type' column
+Kexi Data Table widget
+ -Added ctor for not-db-aware version; docs updated
+Kexi Core
+ -string2identifier(): fixed bug for strings started from not alphanumeric char
+ -New validator added: KexiDBObjectNameValidator for checking
+ for 'kexi__' name violations
+ -KexiMultiValidator added
+Main Window
+ -KexiNameWidget now uses multivalidator, so it's easy to add additional validations
+ -above is used with KexiDBObjectNameValidator to check for violating 'kexidb__' names
+KexiDB
+ -Driver::isKexiDBSystemObjectName() static function added; isSystemObjectName()
+ uses this now by default
+
+2004-03-11
+Main Window
+ -fix: object's name and caption entered by user is used to create this object
+ -brand new objects have changed part item id --this is updated in main window's
+ structs as well
+ -in removeObject(): if object's dialog is opened -it's quietly closed before removing
+ -added check/hack to avoid inf. recursion between removeObject() and closeDialog()
+ -crash fixed: on dialog closing, it's properly removed from dictionary.
+Kexi Dialogs
+ -'neverSaved' flag is cleared on first successful saving
+ -active view is 0 on its parent dialog destruction
+ -Dialog's docID is not just id, and inherits part item's (KexiPart::Item) identifier
+Alter Table Dialog
+ -'name' and 'description' properties are updated on change
+ -on table schema saving, user is warned about: 1) duplicated field names
+ 2) not added fields at all; 3) fields without names
+Table View:
+ -'removeOld' flag is passed from TV to initializer, so given editor's implementation
+ can decide what to do
+
+2004-03-10
+Table View
+ -Combo box editor: after new row selecting (not hightlighting) editing is accepted
+ -setFilteringEnabled() added
+KexiDB::Field
+ -forgotten: Byte is numeric type, of course
+Alter Table Dialog
+ -anyway, subtype property is always created (may be needed later)
+ -subtype is properly opdated on type (group) changing
+Properties
+ -fixed possible crash
+ -KexiProperty: now it's possible to change a list of values (in case
+ of property of type 'list')
+KexiViewBase
+ -propertyBufferReloaded() added -called whenever current
+ property buffer is changed that few properties are now visible
+ and/or few other are invisible
+
+2004-03-09
+Main Window : some top level polishing
+ -most tooltips/what's this added for actions
+ -'save' action now works int the current dialog context
+ -message about more not impelmented features added
+ -proper quitting and project closing
+ -KMainWindow::queryExit() and queryClose() impelmented instad of closeEvent()
+ -"Create" menu is disabled when no project is loaded
+ -On last dialog closing, guiclient is removed (so dead toolbar are hidden now)
+ -Main Window: dock windows are disabled on project closing, for sanity
+ -some fixes for mime data (QString -> QCString)
+ -part manager's part lookup can be called only once now
+ (refreshing will be impl. one day)
+ -dock windows (navigator and propeditor) are properly handled on closing/reopening projects
+ -opening project after closing fixed
+ -caption is updated on dialog data saving; after saving brand new data,
+ item is added to the navigator
+Property Editor
+ -fixed crash on changing invisible properties
+Alter Table Dialog
+ -creating new tables works partially
+
+2004-03-08
+Table View
+ -'acceptsRowEditAfterCellAccepting' flag added
+Main Window
+ -closeDialog(), saveObject(), closeProject() methods have now 'cancelled'
+ parameter, so they can tell you if user just cancelled operation or there was
+ rather a real error.
+ -Duplicate names are checked on new object saving; user is prompted for unique name.
+ -On dialog closing: 'Dirty' flag is cleared when user discards dialog saving
+KexiDB::Field
+ -Connection::findObjectSchemaData() added for looking for objects by type and name
+ -INDEXED flag added to KexiDB::Field (now you can declare field to be indexed
+ even without any constraint)
+ -More implied rules added for methods like setPrimaryKey()
+ -More docs added
+Alter Table Dialog
+ -most missing field properties are now visible in property editor
+ -Creating new table: table schema is (almost) created using current buffers' state
+
+2004-03-06
+2004-03-05
+KexiDB
+ -'helpText' for SchemaData and Field members renamed to 'description'
+ -KEXIDB METADATA FORMAT CHANGED (to 1.1):
+ helpText renamed to description in kexi__objects table
+ -Connection::storeObjectSchemaData() added -can be reused mostly for object storage
+Core
+ -string2Identifier(): now created identifier is forced to lowercase
+Kexi Parts
+ -part item's and part info's 'mime' is now of QCString type
+ -structures like items dicts are now case insensitive QAsciiDict
+Kexi Dialogs
+ -storeData() and storeNewData() methods added
+ -currently used KexiDB::SchemaData object is pointed by KexiDialogBase
+ (useful for data saving)
+Kexi Views
+ -storeData() and storeNewData() methods added; called by parent dialog
+Kexi Project
+ -now keeps a list of never-stored part items (on 1st saving, a given
+ item is moved to a list of regular part items)
+ -createObject() -generic method for initiating object creation on the backend;
+ updates item's data when necessary, etc.
+Kexi Properties
+ -QCString is used for property name instead of QString
+ -structure like properties dict (in the buffer) is now case insensitive QAsciiDict
+KexiMainWindow
+ -saveObject() added, KexiNameDialog is used for prompting for object name and caption
+ -user is asked for object saving on dialog closing (and thus on app closing as well)
+Kexi Alter Table
+ -storeNewObject() and storeObject() implementation started
+Main
+ -KexiNameWidget and KexiNameDialog utility classes
+ (for entering both names and caption names) implemented
+
+2004-03-04
+Main Window
+ -Both on window close and application close: User is prompted for saving
+ unsaved data for each "dirty" dialog. Pressing "Cancel"
+ -cancels application closing.
+ -only stored objects are added to the Navigator
+ -few methods move to protected
+ -graphical notification about 'dirty'==unsaved data ("*" sign at the right hand)
+ added to the names on captions, taskbar and navigator
+ -API for saving kexi dialog's data added, plugged to the main window
+Kexi Dialogs
+ -currently not only dialog is activated when focus come to any of its children,
+ but also when any children is clicked.
+ -KexiViews have now 'dirty' flag and parent KexiDialog reuses that
+
+2004-03-03
+2004-03-02
+Kexi Dialog / View
+ -fixed internal view's focusing: on click on a view, dialog is activated
+ -focus cell is now grayed for disabled table views, not for unfocused
+KexiDB
+ -"kexi__parts" table is now filled with default (required) parts info
+ automatically in Connection::createDatabase(), not somewhere outside
+TODO: add version info?
+Main Window
+ -Part type name removed MDI Taskbar buttons' captions, to save some space
+ -User is now asked for saving object data on dialog closing (if it's dirty)
+ -Not stored objects are removed from memory and gui completely,
+ if user won't let to save them
+ -Not stored objects (part instances) have now identifiers < than -1
+Kexi Views/Dialogs
+ -"dirty" and "neverSaved" flags added
+Parts / Kexi Project
+ -so-called "unstoredItems" introduced, so they can initially exist in memory only
+ and user may want to give up, not saving them
+Table View
+ -Fixed focus-stealing from editor problem
+
+2004-02-27
+Kexi Property Editor, Kexi Property Framework
+ -propertyChanged() signal is received from assigned property buffer,
+ and values are visually updated (including children)
+ -changeProperty() code (for checking for changes)
+ moved from buffer to property setValue to avoid mistakes in class usage
+ -property editor class now has a dict of all items, based on its names
+ -each KexiProperty now has a pointer to its buffer, ans uses it to emit
+ signals on value changes
+ -fixed crash on moveEditor() when called from ctor
+ -KexiPropertyEditor is safely updated right before PropertyBuffer destroying
+Kexi Validator
+ -allows to define whether empty values are ok or not
+Alter Table Dialog:
+ -'name' and 'type' columns can be empty now (that just means the row is empty)
+ -buffer and 'type' column is cleared when 'name' column is cleared
+ -row deleting works (buffer is destroyed as well)
+Table View's Data
+ -aboutToDeleteRow() signal is emited before row deleting and rowDeleted() -after
+Table View
+ -contents size is updated after row deleting
+
+
+2004-02-26
+Kexi Property Editor
+ -leaveTheSpaceForRevertButton introduced for subeditor class.
+ This removes confucion when user clicks on a spinbox arrow and it suddenly
+ moves left.
+ -parent item is updated on children updates
+ -editor position is updated when user collapses or expands a property node
+ -resetting composed property value also resets all children
+Kexi Property Framework
+ -testiong for property change: for date and datetime types we're now comparing
+ values using strings, because there can be miliseconds difference in a time;
+ strings comparison fixed for null strings
+ -resetValue() added to KexiProperty for convenience
+ -for composed properties (like Rect):
+ * changing property child updates parent value
+ * setting property unchanged (eg. on resetting) updates parent's 'changed' flag
+ -QSizePolicy-type property helper improved
+ -setValue() renamed to setChildValue() to remove messy overload
+
+2004-02-24
+Table View:
+ -KexiTableViewData is now QObject-derived
+ -signals like aboutToChangeCell() or rowChanged() moved from KexiTableView
+ to KexiTableViewData, so it'll be easier to reuse KexiTableViewData
+ with a forms, and easier to share common data object between views.
+ -It's now allowed to call acceptRowEdit() from inside of cell-accept handlers
+ e.g.: KexiTableViewData::aboutToChangeCell() signal
+ (no infinite recursion is preformed but instead: the row is saved after
+ cell's acception).
+KexiDB:
+ -ResultInfo introduced
+ -getHTMLErrorMesage() utility method introduced
+ -Cursor: now pointer to connection is guarded
+ -Connection, Cursor: error status is cleared before performing update/delete/insert
+ -Connection::recentSQLString() added (useful for debugging and on-screen
+ error messages
+ -Connection: further error message fixes
+Alter Table Dialog:
+ -after 'name' field is entered, 'type' column as automatically filled
+ -"newrow" property is added for each new buffer to indicate for later processing
+ that these buffers are for newly added fields
+Properties are now indexed using case insensitive names.
+
+2004-02-22
+KexiDB:
+-copy constructors added for classes: table schema, field list, index schema, field
+Alter Table Dialog:
+-all changes are made to the deep copy of the table, not to the original
+
+TODO: KEXIDB: copy constructors: also copy references of the index schema
+
+2004-02-21
+Main Window:
+ -buffer in the property editor is properly cleared when current dialog is changed
+ or there is no dialog
+Table View:
+ -clearSelection() and field(int) methods added
+ -on row deleting: cursor is moved up only if we're deleted the last row
+ and row-inserting is not enabled
+ -fixed selecting row after no row was selected
+ -messagees are displayed on failed row updating/inserting
+ -CONSTRAINTS: illegal null/empty fields are checked on updating/inserting
+ (msg boxes are used if required)
+ -the cursor is moved to faulty cell's value on record update/insert error
+Combo box editor:
+ -selection on the popup table view is cleared then no test is entered
+ -up/down/left/right key presing leaves the lineedit if there is no
+ line selected on the popup table
+ -improved editing convenience
+KexiDB:
+ -isEmptyValue() generic function added for checking if a value of QVariant
+ is empty but not null
+Alter Table Dialog:
+ -"data type" column declared as NOT EMPTY
+
+
+2004-02-20
+KexiDB::Field:
+-setNonEmpty() fixed
+-NOT EMPTY constraint is now implied by PRIMARY KEY constraint
+Table View:
+-on a table cell edit accepting: violating of the following:
+--NOT NULL or NOT EMPTY constraints
+--validation rules (using attached KexiValidator)
+ so LATER this may be also used for forms
+--from-editor value getting errors (d->pEditor->value())
+..is now signaled using message box
+Alter Table Dialog:
+-"field name" field acts like a primary key
+
+2004-02-19
+KFormEditor lib:
+-ported to win32
+-some sanity checks added
+
+2004-02-18
+KexiPropertyEditor:
+-font editor item: description text moved to kexiproperty::format(); added weight & italic info
+-new method of column sorting: instead ascending - default order,
+ instead descending - alpha order
+- "revert to original value" button is automatically shown when property value is changed
+ and becames hidden when the value is reverted to original value
+KexiTableView: added new signals:
+-for checking validity of curent cell, before changing
+-for checking validity of curent row, before updating
+-for checking validity of a new row, before inserting
+In a case when checking for validity failed, row edititing/inserting
+(or cell updating) is cancelled --> editor is not removed
+- KexiPropertyBuffer: clear() reimplemented for proper clearing the data
+- KexiValidator class introduced
+KexiTableView:
+-acceptEditor() returns bool, so now it's checked if we can proceed with cursor moving, etc.
+-KexiValidator is used to check whether cell editing should be accepted or not.
+Alter Table Dialog:
+-hidden "name" property added, ident. validator is now used
+-added KexiDB::RowEditBuffer* argument to aboutToUpdate and aboutToInsert signals
+
+2004-02-17
+- KexiDB::typeStringsForGroup() ustility function added
+- KexiDB::Field: array of field type names fixed
+Kexi Property Framework improved:
+- properties can be nested, e.g. for Rect type there are automatically
+ created two properties: x and y
+- pointer to a parent property is kept, if present
+- all data is stored in KexiProperty and KexiPropertyBuffer, not just in GUI objects
+- editoritem text for composed values (like Rectangle) now displayed properly
+- reverting to default works properly for properties of type 'list'
+- By default, sorting is disabled (properties are in order of insert time)
+- KexiPropertyEditor: fixed value changes for prop. children
+
+2004-02-12
+- typeName() added to KexiPropertyBuffer
+- typeString(), typeGroupString() added to KexiDB::Field
+- KexiDB Utils: typeNamesForGroup() and typesForGroup() utility functions added
+- KexiPropertyEditorList crash fixed for StringList type
+
+2004-02-10
+- Property editor is now used globally in Kexi (property buffer's change comes from active KexiView)
+- Alter Table Dialog connected to global property editor
+- Kexi Main Window: removed unused code
+- Action for Focusing Property editor (alt+2) added
+- KexiProperty and KexiPropertyBuffer classes moved to core/
+ from widget/propertyeditor
+- KexiProperty has now oldValue() and changed() methods -- usable
+ since we've global property editor
+
+2004-02-09
+--design command-line option added, especially useful for developers
+main window:
+- dock/layout/geometries settings are stored/restored (a bit better, not complete though)
+- table view: update width of a combobox popup on editor's resizing
+
+2004-02-08
+- libkeximain introduced (by splitting libkexicore)
+Main Window settings:
+- main window size stored and restored before showing
+- "maximized childframes" setting stored/restored
+
+2004-02-04
+Table view:
+ -Generic Cell Editor Framework introduced
+ -selection background painting moved to editor's implementation
+ -for row-selection mode: Home/End keys always move to the 1st/last row
+ -page up/page down actions added as methods
+
+ComboBox Editor improoved:
+
+-we're completely dropping use of regular combobox
+-new layout: a lineedit + dropdown button + popup tableview, when needed
+-methods used (and few added) for tableview to enable adjusting
+ it for use it as dropdown tv:
+--hidden vtoolbar
+--hidden header (on user demand, and automatically, when only one
+ column is visible in the dropdown tv
+--hidden the context menu
+--hidden the record navigator
+--added and used a method for selecting entire row, not just a cell
+--tv's recordset made readonly, disable inserting
+--sorting disabled
+
+
+Property Editor:
+ pointer to current editor is now guarded, fixed crash (on sorting)
+ due to uninitialized member
+
+2004-01-29
+-KexiDB: crash fixed for records buffering, when a value is NULL
+(for some targets strdup crashes on NULLs)
+-KexiDB: i18n'd names for datatype groups added, just like datatype names.
+ This will be used eg. in Alter Table Dialog
+
+2004-01-28
+- Main Window: toggle actions are checked off before disabling
+
+- Table View:
+ -fixed size of Vertical header's item (record marker) used in Table View
+ (now also works ok with Windows style)
+ -don't paint contents of edited cell - painted editor is enough
+ -methods added for showing/hiding vertical and horizontal header
+ -framework for showing cell's focus depending on editor type added to cell
+ editor (eg. dropdown btn for combobox)
+
+- Main Window:
+ Fixed problem with autoincremented identifier in kexi__object
+ table on ObjectCreation for some backends
+ lucijan: what about using kexiDB API, not hardcoding?
+
+2004-01-27
+- Combo box editor
+ -key events fixed
+
+2004-01-26
+- Table View:
+ -KexiCellEditorFactory and KexiCellEditorFactoryItem introduced for generalized cell
+ editor creation and cell painting
+ -now, we don't try to recreate cell editors but store one editor instance for every
+ column and just show/hide/move it when needed
+ -column width is now adjustable with adjustColumnWidthToContents() and stretchable with
+ setColumnStretchEnabled()
+
+
+===================== Kexi 0.1 Beta 2 "Warsaw By Night" =====================
+
+2004-01-20
+- kmdi captions fix backported to kexi_compat
+- kexistartupfiledialog: we're using paths unstead urls now for better compat.
+
+2004-01-19
+RESIZING HELL RESOLVED
+- KexiDialogBase resizing fixed for maximize state: only resize a dialog if it is in normal state
+- KexiMainWindow: for dialogs in normal state: decrease dialog's height if it exceeds area contents
+- KexiViewBase:
+ -preferred size hint introduced;
+ -parentDialog() convenience method added for getting view's dialog parent.
+
+- KexiDB::Connection:
+ -tableNames() return only tables that have valid names
+ -the same for any other objects
+- actions in 'Create' menu work
+- PropertyEditor has cell borders' color like this used in table view
+- closing() signal added to KexiViewBase - it works like in KexiDialogBase.
+ Effect: table view's data is saved on closing if editing is in progress
+
+- table view, kexidb: after row inserting, autoincremented fields have displayed values
+- query removing works
+- KexiMainWindow: shared actions are disabled when no proxy is available
+
+2004-01-17
+- KexiDialogBase: minimum height fixed: added height of its caption
+- KexiTableView: repainting of bottom contents FINALLY FIXED
+- ALTER TABLE Dialog impl. started
+- query part: crashes removed when no sql string defined for query; by default "visible" column is true
+- relation view:
+ -for global db relations -all tables are shown (will be customized later)
+ -open table/design table actions fixed
+- bool Kexi::isIdentifier(QString) added for convenience
+- KexiDB: Tables and queries with invalid names (that are not valid identifiers) are skipped on lookup
+- KexiProject: The same for any objects and KexiProject level
+
+2004-01-14
+CORE API CHANGED:
+- Kexi Dialogs : view modes functionality added -- KexiViewBase, and integrated with KexiMainWindow
+ and KexiDialogBase
+- KexiDockBase removed because if KexiViewBase existence
+- If a dialog is already opened in given mode and user have dbl-clicked on the Navigator,
+ the dialog is not switched to other mode
+
+- InternalParts and dialogs without multiple modes FIXED
+- KexiTableView: when cursor is moved down and navigator covers the cursor's area,
+ area is scrolled up.
+
+2004-01-13
+KexiActionProxy:
+ - isSupported(const char* action_name) added -returns true, if action is supported by the proxy
+ - isAvailable() now lookups also in the childrens actions, if actual action proxy does
+ not support a given action
+- Relation View:
+ some action availability updates
+
+- more icon sizes added: state_sql, table; state_text added for future "text view" mode
+
+- KexiMainWindow: actions are invalidated more accurate on dialogs switching/closing
+- KexiDialogBase: added flags t ocheck if given dialog's implementation accepts given view mode
+ (data/design/sql modes)
+- Kexi::ViewMode introduced - view modes for kexi dialogs (i.e. data/design/sql)
+
+2004-01-12
+- Relation View:
+ - tables focusing fixed
+ - actions 'remove table', 'remove relation' work (not impl)
+ - "relation view" widget extracted and moved from relations/ plugin to widget/relations/
+ (because it's used also in queries)
+ - KexiRelationDialog renamed to KexiRelationWidget to avoid mistakes
+ - actions moved from KexiRelationView up to KexiRelationDialog (simplicity)
+ - added new actions: "open table", "design table"
+- KexiActionProxy:
+ new plugSharedAction() overload added for easy creating alternative action names.
+
+2004-01-10
+- KexiDB::Field::isIntegerType() added. Now It's easier to detect if a field is integer.
+- Fixed loading and saving values of type Float or Double in database tables.
+- Row updating/inserting: Fixed converting decimal symbol from locale back to db backend format
+
+2004-01-09
+- PartManager: Parts are sorted using definition stored in kexirc
+ (code taken from the old API)
+- .ui files can be now translated
+
+2004-01-08
+- KexiInternalPart introduced (as generalized KexiRelationPart):
+ produces internal Kexi dialogs and widgets ON DEMAND
+ (so: KexiRelationPart is removed)
+- Kexi Relations (widget and dialog) is now produced by KexiInternalPart
+- Tables in relation view: sizes fixed
+
+2004-01-07
+- Build fixes for gcc2.95 on kde3.1
+- Relations View: connection and viewtable focusing fixed and some actions added
+
+2004-01-06
+- KexiTableView:
+ -rowEditStarted(int) signal is emitted when row editing is started
+ (for updating or inserting)
+ -rowEditTerminated(int) emmited when row editing is terminated
+ (no matter if accepted or not)
+ -proper availability updates for "edit_delete_row" (disabled when tv is
+ readonly) and "data_save_row" (enabled only on row editing)
+- KexiDialogBase/KexiPart : fixed caption icons setting for dialogs created by
+ parts
+- Shared Actions:
+ - KexiSharedActionHost introduced - it's "action sharing" functionality extracted from KexiMainWindow.
+ - global default KexiSharedActionHost added for convenience
+ - KexiActionProxy now uses KexiSharedActionHost as it's host instead of explicity pointed KexiMainWindow
+ - on destruction, KexiSharedAction object is taken out of its KexiSharedActionHost
+ - int KexiMainWindow::generatePrivateDocID() added, so we can use this when we want to get unique doc id
+e.g. for KexiDialogBase.
+ - generatePrivateDocID() is used in Relations dialog
+
+- KexiMainWindow: fixed bug in virtual function
+- KexiSharedActionHost: fixed behaviour on destruction
+
+-KMDI:
+ -caption's icon is resized on setIcon() when needed
+ -default icon changed to SmallIcon("filenew"),
+ if not found - filenew.xpm is used
+
+2004-01-05
+- QueryAsterisk:
+ -setTable() added - a must for parser to work
+ -debug improoved
+- Connection: dropTable() added
+- Query Part ported to win32
+- KexiBrowser: nice title added for popup under part item
+- KexiTableView:
+ -navigator showing/hiding implemented
+ -cursor setting a bit fixed for empty view
+ -cell's text has now proper color for read-only column
+- KMDI: fixed bad QWidget filter lookup and unsafe identifier hiding in childview's eventfilter
+- kexipropertyeditor ported to win32, kexiproperty and kexipropertybuffer moved from core
+
+2004-01-04
+- KexiActionProxy: "action" term in methods substituted by more readable: "sharedAction"
+- some actions (in browser) marked as KEXI_UNFINISHED
+- KexiMainWindow: KStdActions are now also acceptable as shared actions
+- copy/cut/paste actions are shared now; added to edit menu
+- "relations" action reintroduced
+- closing() convenient signal added to KexiDialogBase
+- on Table closing - any edits that are in progress are accepted (thx to lucijan for report)
+- KexiTableView:
+ -fixed crash while counting minimum size for columnless tableview
+ -preventing from crash when no data is set before constructing is finished
+- KexiProject: openObject() and removeObject() added so we will be able to catch kexidb errors
+
+- KexiPart items are now removable! (both from GUI and db backend)
+- Kexi Browser is items are removed if required
+- KexiDialog: now has itemIcon() possible for reimpl. and Kexi Relation View reimpl this, since
+ it has no KexiPart
+- Kexi Relation View: small crash fixed
+
+2004-01-03
+- KexiDB, core:
+ -ConnectionData and KexiProjectData now inherit QObject
+ (useful for QGuardedPtr, sharing and for notifications about changes)
+ -project_caption, project_desc properties are now created and stored in projects
+ -some utility functions added in kexidb/utils.cpp
+- KexiMainWindow: application's caption now also contain current project's caption (or name)
+ (this also works ok for maximized windows)
+- mysql driver reenabled (may not work correctly)
+
+- ConnectionData
+ -conflict with QObject fixed
+ -"name" member is now: "connName"
+
+2004-01-02
+- table view:
+ -in key event - we give up with executing actions that are shared with main window, because
+ these actions are executed at main window's level. These actions are declared using
+plugSharedAction().
+ -row deleting works
+ -rows number is updated in tv navigator after row deletion
+- actions: MSA-like "Delete Record" substituted by "Delete Row"
+
+TODO: show posible errors (as well as for INSERTs and UPDATEs)!!!
+
+
+2003-12-30
+** Many cleanups and behavioral fixes
+- KexiMainWindow:
+ -focusing fixed again (now menubar doesn't grab move focus from navigator)
+ -shared action set is now simplified, generalized
+ -getlogin() used at least on win32, cause lack of KUser :)
+- KexiDockBase added as a base for docked widgets hat offer shared actions.
+ Now it is a pair with KexiDialogBase class (both inherit KexiActionProxy).
+- "Data" menu entry introduced
+- KexiTableView:
+ -added action for current cell removing
+ -added popup menu
+ -cell focus-marker is not grayed when popup menu is executed
+ -Key_Space pressing fixed
+ -added possibility for plugging shared actions to table view (using plugSharedAction()),
+ e.g. "data_save_row" action, so shortcuts are properly handled
+ -deleting row while new row is edited just cancels editing
+ -vscrollbar tooltip is not visible when corliing is dont using keyboard instead of a mouse
+ -stranger's key events (e.g. pressing up arrow in navigator's line edit)
+ aren't processed by table view (in keyPressEvent())
+
+2003-12-22
+- KexiTableView most keyboard events are now only accesible without key modifiers (eg. CTRL+Key_Up now
+doesn't work)
+
+2003-12-21
+- KexiActionProxy introduced
+- New terms introduced: part's gui client and part instance's gui client.
+ The latter is removed from main window's guifactory when part instance is deactivated
+ e.g. "Filter" action of tablepart is hidden when needed),
+ while the former is premanent in main window (e.g. "New Table" action is always visible).
+
+- KexiMainWindow:
+ -dockwidgets' (like e.g. browser) focusing on main window's activate/deactivate
+ and on menu bar popups - fixed.
+ -removed toolbar item's fileckering when we're closing one kexidialog and another kexidialog
+ of the same type (guiclient) has to be activated (solution: guiclients are removed not
+ on kexidialog closing but before activating another, it new activated dialog has different client.
+
+- Global Action availability updates: 1) KexiMainWindow updates its actions on dialog switching,
+ or even on focusing dockwidget, like e.g. browser; 2) from dialog point of view - when required,
+ action availiability (true/false) is signalled from currently focused dialog to main window
+- Browser: popup menu re-added, (there is also example how to plug
+ both custom and global actions to the popup)
+- Opening part instances in design mode prepared (openInstance())
+
+2003-12-20
+- KexiDialogBase remembers its creator (a KexiPart::Part object)
+- KMdiChildFrm's icon is scaled when needed (e.g. when detached/attached)
+
+- KexiPart's classes: some methods are now protected
+- Toolbar buttons are now flicker-free, because gui clients are now attached
+ to parts instead of part instances
+
+
+2003-12-19
+- KexiDB::Field:
+ -many properties of type int are now of type uint
+ -WIDTH property added
+ -NOTEMPTY property added
+ -canBeEmpty(), typeGroup(), isDateTimeType() added
+
+- KexiDBTableViewColumn merged with KexiTableViewColumn, now column properties are always reused
+ from KexiDB::Field's properties
+
+- KexiTableView: full handling of NULL or EMPTY values on editor accepting, e.g.:
+ * cells are displayed as empty EVEN for numeric types, if null values are allowed
+ * cell value is forced to NULL if empty values are not allowed (e.g.: for numeric types)
+
+- Updating with NULL values fixed, and it's done only when needed.
+- KexiTableView editors: pressing "left arrow" key at begginning of cell's text moves
+ to cell on the left hand; the same for end of text+right arrow key
+
+- Finally: new row inserting works (no data integrity checking or warnings added though).
+
+- KexiTableView: cells: fixed displaying of text (and text selection) longer than cell's width
+- KexiDB:
+ -escapeString() and valueToSQL() moved from Connection to Driver
+ -escaping ' and " chars fixed
+
+2003-12-18
+2003-12-17
+2003-12-16
+2003-12-15
+- tableview: changes in keys behaviour:
+ -Ctrl+home moves to 1st row, Ctrl+end - to last row,
+ Home -to 1st col., End -to last col.
+ Ctrl+Shift+home moves to 1st row and col, Ctrl+Shift+end - to last row and col,
+ -Key_BackTab is also used to navigate cells
+ -row editing improoved: buffer containing changes for current
+ edited row introduced (KexiDB::RowEditBuffer)
+- tableview cell editors / items:
+ -KexiTableItem simply inherits from KexiDB::RowData
+ -Tab and Shift+tab, Up, Down, Home, End, etc. keys work also when cell editor is visible
+- FINALLY: row editing fully working: data is updated @ the backend using KexiDB
+
+- keximainwindow:
+ -Tab key pressed on navigator activates current child window
+ -Mainwindow's caption now contains (for Childframe Mode) child window's caption
+ as the prefix if the child is attached and maximized. This works well with attaching/detaching
+ and deactivating child windows.
+
+- KMdiChildArea: 2x crash fix for childframe mode
+ -when KMdiChildArea::setTopChild(0) is called and m_pZ is empty, pMaximizedChild is 0
+ -in KMdiChildArea::manageChild(), first - we need to take old references to childwindow
+ that is added to m_pZ (crash reproduction: detach one childwindow, attach it, detach again)
+
+-KexiDB:
+ -IndexSchema's pkey retrieving for loaded project -fixed
+ -RowEditBuffer class introduced
+ -Object::debugError() shows more error info
+ -Connection::updateRow() and Cursor::updateRow() inttroduced for row updating
+ -some metods goes inline
+ -expanded list (obtained from QuerySchema::fieldsExpanded())
+ of Cursor's all query fields is cached within cursor
+ -FieldList - fields lookup is now case insensitive
+ -results of QuerySchema::fieldsExpanded() is cached inside QuerySchema
+ -QuerySchema::pkeyFieldsOrder(), QuerySchema::fieldsOrder() methods introduced (results are cached)
+
+-Drivers:
+ -SQLite driver updated for current API
+ -MySQL driver just compiles
+
+
+2003-12-13
+- browser: focusing fixed: doesn't lose focus when clicked
+
+2003-12-12
+- added caching to KexiProject::items() and KexiPartInfo
+- objects lookup-and-opening functionality moved from navigator (KexiBrowser) to keximainwindow
+- "-open" CLO reintroduced
+- KexiMainWindow: error messaging generalized a bit
+- KexiTableView - editors API and behaviour improoved
+
+- KexiPart::Part objects are cached
+- pointers to KexiPart::Item are used instead of values
+- KexiStartupFileDialog's file selection works on win32
+
+
+2003-12-11
+- Cursor::movePrev() impl. updated
+- DriverManager: result names are available for KParts::ComponentFactory::ComponentLoadingError errors
+
+- Detached KexiDialogBase windows now have proper icons
+- KexiTableView:
+ - size hint and minimum size hint fixed
+ - better widths for text fields in navigator
+ - cell redrawing & colors fixed
+- KexiDataTable: size hint and minimum size hint is reused from KexiTableView
+- Some fixes for KMDI taskbar
+- KexiInputTableEdit:
+ - fixed adding first char on starting edit
+ - numeric field == 0 is cleared on edit
+- KexiDialogBase, KexiPart::Part: creating part instances and registering generalized
+- KexiMainWindow: foxusing improoved, added action for focusing navigator
+- KexiMainWindow: members moved to d-pointer
+- KexiPart::GUIClient is created by KexiPart on demand, if GUI window available
+
+2003-12-10
+- KexiMainWindow:
+ * "show navigator" action is auto-handled by kmdi
+ * fixed : pointer to current xmlgui is now cleared before closing kexidialog
+- KexiTableView::paintRow() fixed crash when col number was ==-1
+
+2003-12-08
+- Kexi MainWindows' settings are now stored and restored:
+ - toolbars, docks positions
+ - MDI mode
+ - added workaround for TaskBar positioning problem
+
+2003-12-06
+- sources synced with win32 target, again
+- Kexi:: singletons are now accessed via functions, eg. Kexi::connset()
+
+2003-12-03
+- KMDI modes enabled
+- KexiStatusBar introduced
+
+2003-11-30
+- KexiDB::Field::isFPNumericType() added
+- KexiTableView now entirely uses KexiDB::Field::Type for types checking, not QVariant
+- KexiTableView::paintCell() simplified
+
+2003-11-28
+- KexiStartupDialog: existing file opening fixed (problem with autocompletion);
+ "accept" aborting when no filename entered
+- some minor fixes and TODOs
+
+2003-11-25
+Finally commited again
+General:
+- PostgreSQL-based projects: tables are now visible in Kexi
+- KexiProjectSelectorWidget for "projectopen" action reused with KexiProjectSelectorDialog
+- most KexiDB errors are connected to message boxes, even driver loading failures
+
+- after unsuccessfull Cursor::moveFirst() eof() and bof() now return true
+- '..' substituted with ".." for message strings
+
+- pqxx driver:
+ - cursor's internal transaction is now destroyed on error in drv_open()
+ - cursor's internal transaction has an unique name for easy debugging
+
+- Kexi::detectProjectData() added for detecting file type both on startup and after
+ filename is selected in Kexi's file dialog
+- KexiPart::Manager is now shared between project sessions
+- KexiPart:: classes' implementation a bit refreshed
+- QValidator and helper functions for identifiers added
+
+- Main Window:
+ - "Open Existing Project" action works both for file- and server-based projects
+ - "New Project" action works both for file- and server-based projects
+ - above actions now work also after startup, from toolbar
+
+- KexiPart::dbAvailable signal not needed since openProject() function returns boolean
+
+- KexiStartupDialog:
+ - KexiConnSelectorWidget reused
+ - if single page is configured, no tabs are visible,
+ so KexiStartupDialog is reused for projectopen and projectnew actions
+
+- KexiStartupFileDialog introduced as embeddable widget,
+ reusable for different file types (e.g. .kexi and .kexis)
+- KexiNewProjectWizard introduced for creating empty projects (both file and server based)
+ it will be also reused for "project templates wizards"
+
+2003-11-24
+2003-11-23
+- KexiDB: Connection::databaseExists() now works correctly with file-based drivers
+ - just file existence is checked
+
+- KexiDB::Connection
+ - creating or dropping system database is not permitted
+ - databaseExists(): full file paths are compared for file-based drivers
+- KexiDB::Driver i18n fix, thanks for Malcolm Hunter
+
+- KexiPart::Manager is now shared
+- KexiPart:: classes' implementation a bit refreshed
+
+TODO: keep ownership properly in KexiPart namespace!!!!!!
+
+
+2003-11-22
+2003-11-21
+- drivermanager cleanup hack
+- some improovements in kexidb clases
+- KexiDB:
+ - Driver::isSystemDatabaseName() added
+ - some methods converted to const
+ - Connection::databaseNames() now has parameter for skipping system database names
+ - Driver::isValid()
+ - now checks driver's major version and compares against kexidb library major version
+ - now is called on createConnection() instead of Connection::connect() so errors
+ can be catch earlier
+ - KEXIDB_DRIVER (like Q_OBJECT) in driver.h and KEXIDB_DRIVER_INFO in driver_p.h macros
+ introduced for ease driver development and decrease error count
+
+
+2003-11-19
+- KexiNewProjectWizard added
+- KexiStartupFileDialog convenient KFileDialog subclass added/reused
+
+2003-11-17
+- KexiDB: buffered cursors: the first record was shown 2 times
+- KexiDB::Connection: some internal query fixes
+- newapi tests: -buffered-cursors switch added, non-internal cursor for all tests
+ are now unbuffered by default; fixed buggy behaviour on nonsuccessful t.v. test
+
+2003-11-15
+- small compiler issues fixed in pqxxconnection
+
+2003-11-14
+- Field: inlines fixed for newer compilers
+- DriverManagerInternal::slotAppQuits() used to destroy all drivers
+ on QApplication quit, so even if there are DriverManager's static
+ instances that are destroyed on program "static destruction",
+ drivers are not kept after QApplication death.
+
+2003-11-12
+2003-11-13
+- Kexi startup procedure for both files and db connections introduced
+- startup dialog integrated
+- projectdata redesigned
+- menu items improoved, polished; e.g. Changed "File" menu entry to "Database"
+- ConnectionData:
+ -added id for connectiondata
+ -some const added
+
+2003-11-10
+- added global kexi version info, like in koffice
+- configure.in.in: added checking for qextmdi if required
+
+2003-11-07
+2003-11-06
+2003-11-05
+- KexiTableView:
+ - Navigation bar added
+ - cell's focus indicator frame is now also visible after focusout
+ - before entering to edit mode, we ensure that current cell is visible
+ - vscrollbar tooltip added
+- Cursor: some members made private or protected
+- Cursor: m_beforeFirst is probably not needed anymore; m_at==0 is enough
+- Field: isNumericType(), isTextType() added, etc.;
+ type names are now i18n'd in an array;
+ some methods inlined
+
+TODO: void KexiTableView::cancelRowEdit() still dont repaint properly!!
+TODO: update on lostfocus
+
+- SQLiteConnection:: sqlite_freemem() used to free error message when needed;
+ do the same for SQLiteCursor
+- serverResult(), etc. methods aded also to Cursor class, so finer grained error
+ info is available
+
+
+2003-11-04
+- Documentation added for few newer and older methods.
+
+2003-10-31
+- KexiDB::Cursor: many code like drv_getNextRecord() moved from SQLiteCursor down
+ to Cursor class
+
+2003-10-29
+2003-10-30
+- KexiStartupDialog added. Now, although it is project-and-connection-oriented,
+ it is designed to be still consistent with conventional document-driver startup
+ dialogs used for other KOffice apps.
+- KexiProjectSelectorWidget introduced
+- KexiProjectData structure added
+- KexiProjectSet structure added
+- Test for new KexiStartupDialog. Code written here will be reused for
+ "fileopen" and "filenew" Kexi actions.
+
+2003-10-28
+- KexiStartupDialog introduced
+- KexiDB::ConnectionData: now offers (optional) driverName info
+- KexiDB::Driver::Info (short usefull structure) is now offered by DriverManager
+- ConnectionData::localSocketFileName optional attribute added
+
+2003-10-23
+- new icons for few kexi-specific contexts;
+- most icons are installed into Kexi app dir
+
+2003-10-22
+- KexiTableView:
+ - sorting works again
+ - before sorting, row editing is cancelled
+ - better "ensure visible" code when scrolling on small area
+ - inserting rows code completed
+ - vheader repaint fixed
+
+2003-10-21
+- tests/newapi : Now all test types accept <db_name>
+- KexiTableView:
+ - page down key also move cursor to "insert row" if one is present
+ - double clicking on cell (opening cell editor) fixed
+ - fixed cell's repaint when autoscroll is performed after clicking cell at different row
+ - sorting by column enabled, full set of methods added for this
+ - new feature: empty row is appended right after start of editing new row (like in MSA),
+ to allow user to move to a next row
+- KexiDB driver services' properties updated:
+ - X-Kexi-DriverType=[File|Network]
+ - and X-Kexi-FileDBDriverMime (for file-based drivers only;
+ for sqlite it is: application/x-sqlite)
+ -MimeType property removed
+- startup speed improoved: drivers lookup in KexiDB::DriverManager is now on demand.
+- Driver name now reuses QObject::name()
+- Connection::lastInsertedAutoIncValue() introduced
+
+2003-10-19
+- Connection::useTemporaryDatabaseIfNeeded() now is also reused
+ for databaseExists() and databaseNames(), so these methods work when engine
+ needs used any database before asking for info
+- ConnectionPrivate::m_skip_databaseExists_check_in_useDatabase used
+ to avoid endless recursion between useDatabase() and databaseExists()
+ when useTemporaryDatabaseIfNeeded() is working
+- Connection::setupKexiDBSystemSchema() added check to prevent creating
+ system tables schema more that once per connection
+
+- Connection: reomved default values from useDatabase() and createDatabase()
+ because this might be confusing to use first-found database name here; (thanks piggz!)
+- FieldList: cached string == comma-separated list of fields added
+- Connection: valueToSQL() overload added, insertRecord() overload added so we can omit
+ some fields from inserting; this is also internally used when kexi__* tables are
+ filled what improoves backward compatibility
+- FieldList now offers lookup by field name, list of field names, it can create
+ subLists, usable to define list of fields for data inserting
+- fixed compiler-dependent bug in insertRecord()
+
+2003-10-18
+- Connection:
+ - useTemporaryDatabaseIfNeeded() added - Because some engines need to have
+ opened any database before executing administrative sql statements
+ like "create database" or "drop database",
+ this method is used to use appropriate, existing database for this connection.
+ - above method is now used in createDatabase() and dropDatabase() if needed.
+ - QString anyAvailableDatabaseName() - returns name of any (e.g. first found)
+ database for this connection, eg. "template1" for PostgreSQL.
+ - DriverBehaviour::ALWAYS_AVAILABLE_DATABASE_NAME added when hardcoded value
+ for above is enough.
+ - setAvailableDatabaseName(const QString& dbName) - This is option that e.g.
+ application that make use of KexiDB library can set to tune connection
+ behaviour when it need to temporary connect to any database
+ in the server to do some work (e.g. DROP DATABASE).
+ - Connection cleaning up bug fixed a bit.
+ - Naming Conventions document added
+ - drv_isDatabaseUsed() introduced for additional state-checks
+
+2003-10-17
+- Driver developers should not change values of several important Connection
+ class members, so these are now private.
+
+2003-10-16
+- KexiTableView:
+ - maany repainting, updating, resizing improoved, code simplifications
+ - editing row session introduced: edits for the same row is not accepted until move to another row
+ This allows multiple fields editing before row editing accept.
+
+2003-10-15
+- missing QuerySchema::addAsterisk(QueryAsterisk *asterisk) added
+- KexiTableView headers and cells repainting improoved
+- for mysql driver: beh->ROW_ID_FIELD_NAME="_ROWID", is this ok?
+
+2003-10-14
+- DriverBehaviour::ROW_ID_FIELD_NAME added
+- bool Driver::isValid() invented, it is so clever that obsolete or bad driver
+ can not be easily harmfull for application.
+- KexiTableView and KexiDataTableView reimplemented for new KexiDB API.
+- few classes renamed, e.g. KexiTableViewData is here now instead KexiTableList
+- KexiTableViewData is now mostly data structure, special rows like "inserter" will be handled
+ by KexiTableView code.
+- KexiDataTableView now uses Cursor (a bit not efficient yet).
+
+2003-10-13
+- Cursor has now two ways for definition: 1) use raw statement 2) use QuerySchema
+- Conenction: prepareQuery() accepting QuerySchema overload added
+- TableSchema::query() convenience function added
+- tableview: QuerySchema is now used a bit
+- QuerySchema(TableSchema* tableSchema) is created by defining
+ "all-tables query asterisk" (see QueryAsterisk) item.
+- Connection: implemented and selectStatement() replaced queryStatement() because
+ not only "select" queries will be implemented.
+- QuerySchema::fieldsExpanded() convenient function added to expand query asterisks
+- KexiDataTableView uses QuerySchema even smarter
+- kexi/kexidb/tests moved to kexi/ to avoid curcular deps
+
+2003-10-12
+- Connection::isDatabaseUsed() fixed
+- Connection: isConnected() is substituted with isDatabaseUsed() in some cases
+ and checkIsDatabaseUsed() is substituted with checkConnected() in many cases.
+- kexidb/tests/newapi tableview now uses KexiDataTableView
+- Connection:: many overloads like queryStatement( KexiDB::QuerySchema& querySchema ) or
+ executeQuery( QuerySchema& query, uint cursor_options = 0 ) added
+- KexiDataTableView: simplified: setDataSet() -> setData(); record -> cursor
+
+2003-10-11
+- Transaction::isNull() fixed
+- now tables creation seems to be ok ('tests/newapi sqlite tables' works)
+- sources synced again with win32 target
+- kexidb/parser and kexidb/tests/parser ported to win32
+- KexiDB::Expression introduced
+- isSystemObjectName() now checks for "kexi__" prefixes
+- checks on create table: if name is not system, if table is not empty, if fields are not system
+- KexiDB::Reference introduced
+- KexiDB::IndexSchema now contains informations about multiple related Reference objects
+- kexidb/tests/newapi : now tests are functions, so can be called as subtests if needed;
+ gui tests group added; tableview gui test introduced
+
+2003-10-10
+- FIX: creating kexidb system tables schema objects on useDatabase()
+- KexiDB::Object::debugError() added for convenience
+- Object: serverErrorMsg(), serverResult(), serverResultName(),
+ drv_clearServerResult() added
+- virtual Q_ULLONG Connection::drv_lastInsertRowID() added - returns unique
+ identifier of last inserted row.
+- DriverBehaviour::AUTO_INCREMENT_FIELD_OPTION added; autoinc field's option is now
+ used in "CREATE TABLE" statement building; bool SPECIAL_AUTO_INCREMENT_DEF added
+- fixed crash on mass transactions closing during closeDatabase()
+- added tables creation subtest to kexidb/tests/newapi
+- SQLite* classes: last operation's result is now stored for later checking
+
+2003-10-09
+KexiDB::Connection:
+- "select * from ..." substituted by "select <field name(s)> from ..."
+ where possible, so after future kexi_* tables change it will still work.
+- list of internally used kexi__* tables available with new static method
+- bool TableSchema::isKexiDBSystem() added for tables that are internal for KexiDB
+- bool SchemaData::isNative() added for objects that are native, ie. not contain additional
+ metadata information.
+
+- Connection::destroy() instead of Connection::disconnect() should be called
+ from xxxxConnection subclasses.
+- ~TableSchema calls Connection::removeMe() so it is removed from tables list if needed
+- ordering in Field object added
+- quite hacky and thus effective insertRecord() overloads added
+- some schema is added to kexi__* tables on createTable()
+
+2003-10-07
+- KexiDB::QueryAsterisk class introduced to define select queries with asterisks, like
+ "staff.*" in "SELECT staff.*, cars.model from staff, cars WHERE staff.car = cars.number"
+ (1st ttype) or "*" in "SELECT * from staff, cars WHERE staff.car = cars.number" (2nd type)
+- Query schemas storage added
+- using include path returned by 'mysql_config --mysql_config' as
+ is instead of eating mysql suffix
+- Transaction::null and isNull() added
+- Connection: Simulated AutoCommit feature implemented,
+ createTable() added - it uses autocommit if enabled.
+- Driver: DriverBehaviour member added - Detailed definition
+ of driver's default behaviour.
+
+2003-10-06
+-KexiDB::QuerySchema:
+ - field aliases added and checking if there is alias
+ - list of tables used in query added
+ - debug() updated
+
+2003-10-05
+-KexiDB::
+ - fields() now offered by fieldlist
+ - Field::Field( ) args order fixed (compiler didn't complain..)
+ - TableSchema: primary idx setting added
+ - TableSchema: autogenerated indices are added implicity on addField()
+ - IndexSchema: unique flag added, primary flag is now dependend on this
+
+2003-10-04
+-KexiDB:: addedd better access to creating schemas
+
+2003-10-03
+-KexiDB:: API extended for db transactions
+ - Transaction is now implicity shared container for storing transaction handle,
+ TransactionData is used as internal driver-dependent storage
+ - former Transaction class is now TransactionGuard
+ - "default transaction" added to Conenction
+ - SingleTransactions, MultipleTransactions and NestedTransactions added to KexiDB::Driver::Features
+ - autoCommit option added to Connection (can use both driver-specific feature ans simulate),
+ (not fully implemented yet)
+ - active transactions are rolled back on database close
+ - heavily commented :)
+ - index.* moved to indexschema.*
+
+2003-10-02
+-KexiDB::
+ - IndexSchema now inherits also from SchemaData (its additional
+ properties will be used at least in gui)
+ - IndexSchema now points to a table that contains it, not connection
+ - fixed owning rules for FieldList: not only TableSchema owns its fileds,
+ while QuerySchema, IndexSchema not
+ - more methods moved to const
+ - QueryData offers now information about its parent table
+
+ - some record inserting introduced in Connection
+ - yet more methods moved to const
+ - KexiDB version info added (both as functions and defines)
+ - global definitions file added
+
+2003-10-01
+-KexiDB::
+ - Table and query schemas now can be looked up using its id or name using Connection::tableSchema()
+ and Connection::querySchema()
+ - Connection::querySingleRecord() added for easy retrieval single (first) record
+ from query's result set
+ - Cursor::storeCurrentRecord(RecordData &data) added: Puts current record's data into data
+ (makes a deep copy).
+ - update after moving query.*, table.* file to queryschema.*, tableschema.*
+ - Cursor buffering-related members moved from SQLiteCursor to Cursor
+ - Cursor::moveFirst() fixed for buffered cursors - reopen() is now not needed
+ - SQLiteCursor::drv_getNextRecord() we don't try to fetch records when
+ we know that buffer is already fully loaded.
+- Uff, It is first time since ~3 moths I can see kexi main window after kexiDB change
+
+2003-09-28
+- KexiDB:
+ - Table, Query and Index classes renamed to TableSchema, QuerySchema and IndexSchema
+ - query schemas storage introduced
+ - kexi__table 'system table' renamed to kexi__objects and for it now will be used for
+ storing also other types of objects, eg. queries. Some properties added to this table.
+ - kexi__querydata added for query schemas
+ - kexi__db added for storing database properties, e.g. kexidb version
+
+2003-09-26
+- new kexidb/newapi test added: dbcreation
+- KexiDB::Connection::databaseExists() has now arg. that allows ignoring error messages (deflt)
+- params for createDatabase() and useDatabase() are now optional for more convenient
+ use file-based drivers
+
+2003-09-24
+bool buffering_completed added to SQLiteCursor: true if we have already all
+ records stored in the buffer
+
+2003-09-18
+- Buffered KexiDB::Cursor type introduced, for this type KexiDB::Cursor::isBuferred() is true;
+ this is "test" implementation for SQLiteConnection only [INCOMPLETE].
+ Cursor options introduced (Cursor::options()). Cursor's buffered flag if one these options.
+ Options are now optional parameters both for protected Coursor's constructor and for
+ Conenction::executeQuery() and Conenction::prepareQuery()
+- virtual bool Connection::drv_databaseExists( const QString &dbName ) added for optional
+ reimplementation. It is a pair with drv_getDatabasesList(), both are used in databaseExists() now.
+ See comments for details.
+- Connection::useDatabase(dbName) now do not allows dbName that do not exists,
+ while for single-db-per-connection-engines (eg. file-based engines) Connection::databaseExists()
+ returns true only for single db name (eventually URL).
+- for file drivers: file existence checks moved to databaseExists()
+- in Conenction::useDatabase(dbName): closeDatabase() is called before other database should be used,
+ if there already was opened database.
+- Connection::drv_getDatabasesList() has now default implementation that returns empty list.
+- sources in drivers/mySQL/ updated just to work with kexidb API changes
+- Connection::drv_databaseExists(dbName) is now by default just checking if dbName
+ is on the db names list
+- Some code for bufering added - forward moving with buffered cursors looks
+ better.
+
+2003-09-17
+- KexiDB::Query introduced: Table::name() and Query::name() moved to FieldList.
+- Field::ListIterator FieldList::fieldsIterator(), Field::FieldList::debug() and clear() added
+- ERR_CURSOR_RECORD_FETCHING added
+
+TODO: add
+-static cursor types
+-scrollable cursor types
+
+2003-09-16
+- KexiDB::DriverManager: driver names accepted by KexiDB::DriverManager::driver(name)
+ and KexiDB::DriverManager::serviceInfo(name) methods are now case insensitive.
+- 3rdparty/kexisql: added files needed by win32 target
+- removed kexidb/drivers/sqlite/driver directory: now we include sqlite.h from 3rdparty/kexisql/src/
+- MySqlDriver's service name is "kexidb_mysqldriver", export macro is KEXIDB_MYSQL_DRIVER_EXPORT;
+ win32 compilation fixed.
+
+2003-09-15
+- KexiDB::Cursor:
+ - movePrev(), bof() added;
+ - drv_getRecord() splitted to drv_getNextRecord(), drv_getPrevRecord()
+ - fieldCount() added, not fully works yet
+ - on open() we have always bof()==true and eof()==false
+ - simplification: now bof() is computed as m_at==0
+ - we are internally counting records from 1 and externally from 0
+ (what is visible using at()).
+ - m_at and thus at() has now Q_LLONG type
+
+2003-09-14
+- KexiDB::Object::setErrorMsg renamed to setError
+- KexiDB::DriverManager is now just a container for one reference
+ to Internal Library's Driver Manager, so all you are expected to do is to remember
+ about deleting KexiDB::DriverManager instance in your app.
+ You can create many KexiDB::DriverManager objects.
+- KexiDB lib now handles automatic deletion of drivers after last
+ KexiDB::DriverManager object deletion (thus refcount==0).
+- tests/newapi now looks more simply at the end of main.cpp file :)
+TODO: do the same with DriverManager as Driver
+- KexiDB::Connection::tableSchema() updated for new KexiDB::Connection::executeQuery() semantic.
+- DriverManager::self() no longer needed
+TODO: add fieldCount() to Cursor
+
+2003-09-13
+KexiDB:
+- Connection::prepareQuery() added for creating not opened cursors.
+- Connection::executeQuery() now automatically opens the query with created cursor.
+- Connection::destroy() convenient method added for obligatory use
+ in Conenction subclasses' dctors. destroy() just disconnets() and takes the Connection
+ object out of parent (Driver).
+- SQLiteConnection updated for above requirements
+- cursors and tabledefs are now deleted not in ~Connection but
+ on every Connection::disconnect().
+- kexidb/tests/newapi also compiles with qmake and runs on unix
+TODO: add auto removing Drivers on DriverManager deletion.
+
+2003-09-12
+Great day for KexiDB in cvs:
+- Old KexiDB moved with actual Kexi version to non-default old_db_api branch.
+- Current (HEAD) now contains new kexidb/ dir for with API
+- kexidb/tests/ added to cvs with one 'newapi' test
+
+2003-09-11
+- Index::List and Field::List are now QPrrList<Field>, so Field objects are now stored as a pointers,
+ no as a values. These are owned by Table objects.
+
+2003-09-10
+- Html Doxygen-generated docs for KexiDB module configured
+- KexiDB::Index introduced - definition of single table index (1 or multi-field)
+- KexiDB::FieldList introduced - list of fields; base class for KexiDB::Index, KexiDB::Table
+TODO: add KexiDB::Query and use this object eg. as argument for Cursor* Connection::executeQuery()
+
+2003-09-09
+kexidb:
+- Every Connection object stores cursors opened with it. On Connection destruction,
+ cursors are deleted automatically. The same with table schemas within Connection object.
+ QPtrDict is used for storing cursor objects.
+- Every Driver object stores connection using QPtrDict, not QPtrList.
+- Driver::isSystemObjectName(), Driver::isSystemFieldName() are case insensitive.
+
+TODO: PROPOSAL: add compile-time option for kexidb to be kde-independent.
+ This could be quite easy.
+
+2003-09-08
+kexidb:
+- QStringList Driver::systemNames() is now bool Driver isSystemObjectName()
+ -- Checks system object names,
+ eg. build-in system tables that cannot be used by user,
+ and in most cases user even shouldn't see these. Specific for
+ a given driver implementation.
+ For SQLITE driver system object names are these with prefix "sqlite_"
+- QStringList isSystemFieldName( n ) added: return true if n is a system field names,
+ build-in system fields that cannot be used by user,
+ and in most cases user even shouldn't see this. Specific for
+ a given driver implementation.
+ For SQLITE driver this has one system field name: "_ROWID_" (see CHANGELOG-Kexi-SQLITE).
+- QString Connection::valueToSQL( const Field::Type ftype, QVariant& v )
+ added for encoding values for sql queries
+- Connection::createTableStatement(): unique, default and not null flags are now added.
+
+TODO: also fields with UNIQUE flags should cause KexiDB::Table to have appropriate KexiDB::Index
+
+2003-09-06
+- new KexiDB is stored in "kexidb" subdir, old api in "kexiDB", on win32 in "kexidb_old"
+- virtual QString escapeString(const QString& str)
+ virtual QCString escapeString(const QCString& str) added for Connection
+- Field::setDefaultValue(const QCString& d) added. Default values are stored in 'f_default Text'
+ field of kexi__fields table and are string-encoded there.
+
+2003-09-04
+- kexidb CHANGES FROM JOWENN: No ; after namespac, some d Pointers,
+ littlebit different includes, littlebit modified destructors
+
+2003-09-01
+ KexiDB::
+ - Cursor:: moveFirst(), moveLast(), moveNext(), eof(), at(), QVariant value(int i)
+TODO: Cursor::value(int i) should use schema information to convert types of values
+ (now all values are strings)
+ - Connection::tableSchema() - returns schema of given table retrieved
+ using connection's system kexi__* tables
+ - Connection::deleteCursor()
+ - Driver::sqlTypeName(int id_t) - returns sql type name for given driver
+ - static QString Driver::defaultSQLTypeName(int id_t) - returns sql type name for given
+driver
+ (usable when we do not have Driver instance yet)
+ - Table::debug()
+TODO: add default value storage
+
+2003-08-29
+- KexiDB::Cursor class, Cursor* KexiDB::Connection::executeQuery(statement) creates cursor
+- KexiDB::Connection::drv_executeSQL(): executes query \a statement, but without returning resulting
+ rows (used mostly for functional queries).
+
+2003-08-28
+- KexiDB::Transaction helper class introduced, transaction-related methods added for KexiDB::Connection.
+- drv_createTable() and createTableStatement() moved up to KexiDB::Connection
+
+2003-08-27
+- KexiDB::Table, KexiDB::Field classes introduced.
+ New DB-storage design started: kexi__table, kexi__fields system tables
+ (for db schema storage).
+
+2003-07-28
+- KexiDataTableView::tableSize() removed (wasn't this unnecessary?)
+
+2003-07-26
+- KexiRelationViewTableContainer: width is now based on maximum width of
+the field name or header name.
+- KexiDataTable do not stores members like KexiDB or KexiDBRecordSet bu
+uses these from KexiDataTableView.
+
+2003-07-25
+- KexiDialogBase now also inherits from KXMLGUIClient for easy actions management.
+ Do not make KXMLGUIClient subclass but just call setXMLFile() in KexiDialogBase:: subclasses' ctor
+ and add actions to KexiDialogBase::actionColection().
+- KexiRelationDialog:
+ - now uses KXMLGUIClient to better utilize its actions
+ - right-click context menus fully works
+ - 'hide selected table', 'open selected table' actions added (unimpl.), kexirelationsview.rc
+added.
+- Main Kexi menu bar little more standarized: 'Edit' menu added, 'View' menu moved just after Edit menu.
+TODO: implement selected table hiding
+TODO: implement selected table opening
+TODO: add drag from browser
+
+2003-07-24
+- --open command line option added for automatic opening objects at startup, this will help in our
+ testing (see 'kexi --help' or main.cpp for details).
+- KexiDialogBase got sizeHint() now that make it fit to qworkspace if it is a in-workspace window.
+- virtual QString KexiProjectHandler::groupName() added that offers store plurar form of part name,
+ while name() offers singular form.
+- KexiRelationViewTable:
+ - list items (fields) without icons are aligned using transparent icons;
+ - moving TableViews back from outside of scroll view area automatically shrinks scroll view's
+ area to smallest possible size
+ - field that we drag over now is highlighted
+TODO: fix KListView::viewportPaintEvent() like in KexiRelationViewTable::drawItemHighlighter()
+ and commit to cvs (kdeui)
+- KexiRelationViewTableContainer got now focus/unfocus/z-order functionality. Colors of table headers
+ are consistent with focusing and OS settings
+TODO: fix connection lines painting
+
+2003-07-23
+- KexiTableView:
+ - KexiTableViewPrivate d-pointer added with "kexitableview_p.h", "kexitableview_p.cpp"
+ - Fixed repainting empty areas (background) in KexiTableView: QColorGroup::Base color is used.
+ - editableOnDoubleClick(), setEmptyAreaColor() added
+ - For Qt::Key_Menu key, context menu is show below the current cell, if available.
+- KexiDialogBase reorganized. Now it offers more generic properties and functionality,
+ so subclasses can be more cleanly written and consistent with API and behaviour.
+- Relations window is registered with 'kexi/relations' id,
+ while relations window embedded in query designer has id 'kexi/query/<query_name>/relations'
+TODO: implement sizeHint() for KexiDialogBase subclasses
+TODO: make open, create, delete and edit functions in KexiProjectHandlerProxy subclasses more generic
+
+2003-07-22
+- scrollbars enabled in KexiWorkspaceMDI
+
+2003-07-21
+- Kexi project 'kexi_doc' icon added, on win32 it is added to kexi.exe resources (id=1) and registered for
+ .kexi extension on installation.
+TODO: add "New document" (empty or from template) command-line option, so it can be registered
+ as "shell/new" in HKCR registry key on win32.
+TODO: like above: "Print" and "Print to"
+
+2003-07-18
+- " " prepended to Project Browsers' list items' texts for better look (maybe add this feature
+ to KListView or make its generic subclass?)
+- Some fixes with text positioning in tableview cells: float and date type y-offset,
+ date type editor frames removed
+TODO: maybe optionally use KDateWidget (this needs to extend and improve this class)?
+ QDateEdit is good enough (but this need to follow date format for locale or settings
+ using QDateEdit::Order, etc.).
+TODO: fix KDatePicker (in kdeui): accepting with Return key or dblclick, and setting focus.
+- KexiTableEdit has now QColorGroup::Base (usually: white) background
+- KexiInputTableEdit has now some space on the left, so strings look better.
+TODO: add default hint for columns widths, based on type of field
+
+2003-07-17
+- actions for Form, Kugar, Relations, Script Parts updated using KexiPartItemAction,
+ KexiProjectHandlerProxy::groupContextMenu() and itemContextMenu()
+ like in Tables and Queries' Parts
+- kexikugarhandlerui.rc moved to kexi/data/
+- 'Other Licenses' submenu made in 'Help' menu, 'Report Generator Licensing'
+ entry moved here from Kugar Part's popup menu
+TODO: move this submenu after 'Error report' Entry (requires changes to koffice_shell.rc).
+- kexirc added
+- added option for KexiBrowserItem to be sorted in FIFO order (top level items - by default,
+ others are sorted in alpha order). Visible Parts' order is now specified (by library name)
+ in the Kexi's main config file "kexirc" ([Parts]/Order), because KTrader sorts parts
+ by name in aplha order. Unspecified Parts are appended at the end of list.
+ This order setting is loaded and used on parts loading (KexiProject::loadHandlers()).
+
+2003-07-16
+- fixed registering (registerAs) for query designer's windows,
+ query from project browser removing fixed
+- project browser's groups items (tables, queries,..) are now non-selectable
+ as these are rather special constant containers
+- added convenient hidden(), shown() signals to KexiDialogBase
+- added KexiDialogBase::plugToggleAction(KToggleAction *toggle_action) for syncing window
+ visibility with toggle action's state
+
+2003-07-15
+- Kexi/win32 synced with cvs again after plugins/ rearrangement.
+- New Kexi icon updated for win32
+- menubar and popupmenu entries in Query Part merged using KexiPartItemAction (new KAction subclass);
+ The same for Tables Part. KexiPartPopupMenu now collaborates with KexiPartItemAction to reuse its
+ action's information (avoid redundancy).
+TODO: add delete_item action icon (equal "button_cancel" in crystalsvg) to the koffice/actions icons
+TODO: like above, add "script" icon to kexi/actions ("moc_src" is used)
+
+2003-07-01
+- Some table view text positions painting fixes for x11, for dbl and int type, editor's position fixed.
+TODO: add left margin for cells' text (at least for x11)
+
+2003-06-28
+- Project Wizard: fixed align for big picture, some widgets availability fixes,
+big picture moved to KexiCreateProjectPage superclass.
+- KEXI_ADD_EXAMPLE_ENGINES compile-time option added: if set, example engines will be added
+ to the drivers list in the Project wizard
+
+2003-06-22
+- Alter Table Window: info about not implemented rows removal added for KEXI_NO_UNFINISHED option
+ Redundant label with table name removed from top of the window.
+ Double click in KexiTableView reenabled.
+ PropertyEditor and KexiTableView size hints little fixed.
+- KexiTableView: now clicking outside of a grid do not activates any cell;
+ (crash fixed) sorting disabled while in-cell editor is visible
+- "Project properties" function disabled for KEXI_NO_UNFINISHED option
+
+2003-06-21
+- automatically set focus inside Alter Table Window and show cursor
+- fixed crash on entering data in 2nd, 3rd, etc. columns in table added during current session
+ (table def struct wasn't created for new table)
+
+2003-06-17
+([JK] - fix proposed by Jakub Kubica)
+[JK]- (in kofficecore): KoMainWindow::KoMainWindow: KStdAction::configureToolbars disabled:
+TODO: enable this when configure window will work
+[JK]- "Settings>Configure Kexi" action temporary disabled for KEXI_NO_UNFINISHED option
+TODO: reenable this!
+[JK]- "Save password" in authorization page of the Project wizard removed for KEXI_NO_UNFINISHED option
+TODO: reenable this!
+- <ActionList name="toolbarlist"> line removed from koffice_shell.rc (this removed redundant actions)
+[JK]- now, after failed db connection Project wizard do not allow moving to DB selection page
+- now it's not allowed to close alter table window for a table that do not contain fields
+ (message box is displayed then). The same is when user try to delete table (without fields)
+ that is currently opened
+TODO: allow the user to give up and delete this table
+
+
+2003-06-15
+- when KEXI_NO_UNFINISHED option is set, msgbox information is presented for unimplemented actions
+- kexidb: added information about if database (given by name) is considered as system db
+- projectwizard: only non-system databases are visible on the db list; db icon added
+- propertyeditor in altertable window has narrower 2nd column
+
+2003-06-14
+- inserting queries into list fixed
+- added KEXI_NO_FILTER_DLG compile-time option for incomplete filter dialog in query editor
+- added KEXI_NO_UNFINISHED compile-time option for disabling unfinished features
+- KexiTableView::DeletionPolicy is now (mostly) used for choose KexiTableView deletion method
+TODO: KexiTableView::AskDelete flag is not implemented
+TODO: do the same with KexiTableView::AdditionPolicy
+- auto popup menu is added for KexiTableView when KexiTableView::DeletionPolicy != NoDelete
+ or the same is for KexiTableView::AdditionPolicy, so no more external (e.g. in KexiDataTable)
+ popup menu creation is required for just addition and deletion actions.
+- fixed row deletion in query designer's table view
+- fixed subwindows sizes: now these are resized to the workspace size
+- tableview's cells text positioning fixed, synced with editors, cells size fixed,
+ numeric cells' editors are now right-aligned
+
+2003-06-13
+- Fixed crash on altering newly created table
+- (temporary fix) MySqlRecord is now always set to r-w mode
+TODO: MySqlRecord: get readonly flag from the database
+TODO: IMPORTANT: Kaxi must automatically add primary key it is not added by user,
+ or at least propose this for user before saving altered table. If given table does not conatin
+ a PK, then it will be readonly.(or at least removing given row wont be possible if this row
+ is duplicated)
+ CURRENT STATE: removing rows works only for table having PK
+- data table window's caption fixed
+- Control+Delete shortcut added for current record removing
+- fixed removing vertical header item after current record removing
+- KexiTableEdit now uses layout for proper displaying its Editor
+TODO: KexiTableEdit shouldnt have subwidget like KLineEdit but its subclasses should
+ inherit also from given editor widget (eg. from KLineEdit)
+TODO: KexiTableView's vertical header isn't updated after several actions
+- windows now have icons == KexiProjectHandler::itemPixmap()
+- normal size for relations dialog's combobox
+TODO: change method for adding tables to relations
+- KexiDialogBase subclasses now registers to view with
+ identifier == KexiProjectHandlerItem::fullIdentifier(), not caption or title
+- KexiRelationDialog is now registered to view as "kexi/relations",
+ so relations window is unique per view
+TODO: disable altering when the same table is opened for data viewing
+- avoid opening both alter view and data view for the same table
+- avoid creating multiple tables with the same name
+TODO: other objects too: move this to common method
+TODO: avoid creating/altering table with no fields
+
+2003-06-12
+- Table View Editor keyboard actions fixed, double type validating fixed,
+ fixed Enter, Delete keys, added F2 key, disabled non-printable unused keys
+TODO: use QValidator everywhere here!
+- after opening KexiDataTable focus is set inside automatically
+
+2003-06-11
+- Kexi objects have now titles - user-visible text instead low-level names
+
+2003-06-09
+- calling KexiView::finalizeInit() moved to KexiProject, actions for toggling
+dock windows visiblity fixed, simplified code
+- some icons, actions fixed
+- KexiProjectHandlerItem redesign
+
+2003-06-05
+- relation view's fixes and redesign
+
+2003-06-04
+- projectWizard: double click on dbases list opens selected db
+- navigator: KEXI_NO_MULTI_TABS option added for disable showing redundant tabs
+
+2003-05-28
+- fixed problem with project window's increased width while clicking on the
+ tabs; multitabbar fonts improvements; code cleanups
+
+2003-05-27
+- i18n-pl finished for ui and servicenames
+- kexi can load and save documents
+
+2003-05-17
+- kexi has icon on win32
+- kexi installer
+
+2003-05-08
+- kexi cvs merge:
+ KPath removed (qt/win32 will be patched instead)
+- libkexifilters added
+- core/kexisettings, core/kexiworkspaceSDI kexiDB/kexidbupdaterecord ported
+
+2003-04-28
+- fresh cvs and win32 version merge
+- kexifilter added
+
+2003-04-22
+- partial (example) polish l18n for GUI
+
+2003-04-15
+- keximysqlinterface lib. ported
+- updated servicetypes/kexidbdriver.desktop installed
+- mysqlinterface.desktop removed: valid is keximysqlinterface.desktop
+
+2003-04-12
+- libraries ported: kexipart kexihandler_form kexihandler_query kexihandler_relation
+ kexihandler_table kexiprojectwizard
+
+- Kexi running with projectwizard (no db avaliable although)
+
+2003-04-07
+- now Kexi has visible menu, toolbar and 'welcome' dialog
+
+2003-04-02
+- application's start process is simply hacked inside main() instead of inside KoApplication::start()
+ so, Kexi application running on screen for the first time on win32
+
+2003-04-01
+- kexi runs but is invisible
+
+2003-03-31
+- KEXI_NO_PRINT=1 (temporary) disables printing functionality
+- kexiDB/kexidb.h: KexiDBDriver *m_currentDriver moved from public slots section to private
+- kexicore and kexidb libs ported
+- kexi at least now compiles (but crashes)
+
+2003-03-28
+- first touch on Kexi sources for porting
+
+2002-06-23, Sunday, 00:20:36 (Lucijan)
+- First Kexi commit, SVN revision #162554
+ details: http://websvn.kde.org/trunk/koffice/kexi/?rev=162554