diff options
Diffstat (limited to 'kexi/doc/dev/CHANGELOG-Kexi-js')
-rwxr-xr-x | kexi/doc/dev/CHANGELOG-Kexi-js | 5867 |
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> +CCMAIL:[email protected] +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 ⪚ +- 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. +CC_MAIL: [email protected] +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 +CC_MAIL: [email protected] +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 +CCMAIL: [email protected] + +- 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 |