You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5868 lines
217 KiB
5868 lines
217 KiB
-----------------------------------------------------------------------------
|
|
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:kexi-devel@kde.org
|
|
For interesting commits use:
|
|
FEATURE: <desctiption>
|
|
CCMAIL:danny@commit-digest.org
|
|
For bugfixes use CCMAIL:###-done@bugs.kde.org
|
|
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 TDECompletionBox 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
|
|
- TDEAcceleratorManager::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 <m.a.ellis@ncl.ac.uk>
|
|
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 <m.a.ellis@ncl.ac.uk>
|
|
|
|
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 tdeui/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 TDEActionCollection
|
|
(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: m.a.ellis@ncl.ac.uk
|
|
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
|
|
- KexiTDEIconTableEdit 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 KexiTDEIconTableEdit)
|
|
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: m.a.ellis@ncl.ac.uk
|
|
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 TDECmdLineOptions 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 TDEActions are now pluggable to KexiActionProxy
|
|
- KXMLGUIClient's TDEAction::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 TDEActions 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 trinity.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
|
|
-TDEMainWindow::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
|
|
- tdemdi 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 trinity.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 tdemdi
|
|
* 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
|
|
- KexitStatusBar 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: malcolm.hunter@gmx.co.uk
|
|
|
|
- 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 TQ_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 TQ_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 TQ_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 TDEListView::viewportPaintEvent() like in KexiRelationViewTable::drawItemHighlighter()
|
|
and commit to cvs (tdeui)
|
|
- 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 TDEListView 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 tdeui): 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 TDETrader 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(TDEToggleAction *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 TDEAction 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
|