Jump to content

Kexi/Releases/Kexi 2.4: Difference between revisions

From KDE Community Wiki
Jstaniek (talk | contribs)
Jstaniek (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 29: Line 29:
*Remove memory leak in code opening project
*Remove memory leak in code opening project
*Fix crash when loading kexi part information without main window
*Fix crash when loading kexi part information without main window
*Added stable version information: for 2.3.1 returns 2.3.1, for 2.5.70 returns 2.6.0, for 2.9.70 returns 3.0.0


Main window
Main window
Line 93: Line 94:
*Make menu and logo look OK for black color schemes
*Make menu and logo look OK for black color schemes
*Simple User Feedback Agent introduced
*Simple User Feedback Agent introduced
*Fix possible crash when opening Form or Report design
*Prototype of welcome status bar
*Feedback format++: added JSON-compatible character escaping; added uid
*Feedback format set to 1.2: added os_release, os_machine, screen_count
*Feedback agent now supports selection of areas
*Feedback agent now handles retrieving redirect URL
*Status bar: HTML replaced with .ui files loaded by quitools and external Qt resources
*User feedback: fixed grammar and typos
*Fix cropped "Share usage info" message of the User feedback
*User feedback: After clicking "Share usage info", "Details" or "Help" and the message is visible, minimizing+restoring hides the message
*Allow to anchor context message position to given widget on parent resizes
*Allow to resize context message position on parent resizes
*Welcome status bar: fetch the GUI updates from the server if available, every 60 minutes
*Make sure that after closing project, and then opening tabbed toolbar activates its first tab
*Do not hide all tabs after project closing, this make it consistent with the appearance of tabs after starting kexi without specifying any project
*User feedback: set anonymous identification as mandatory, needed even for basic statistics
*User feedback: added home page and forum links
*When property set is cleared, clear model(s) for associated views
**This fixes random crashes in Property Editor


Startup
Startup
Line 114: Line 134:
*Do not display connection dialog when opening .kexis file that define database name
*Do not display connection dialog when opening .kexis file that define database name
*Welcome view: when clicked on a database open it in a new Kexi instance if another database is already opened in the current instance
*Welcome view: when clicked on a database open it in a new Kexi instance if another database is already opened in the current instance
*Make the recent database entries of the Welcome Page resize when the window resizes
*Fixed crash when clicking on "Welcome" action while 'confirm database overwriting' question is displayed
Wigets
*Further simpify the gui: added flat icon-based button without background that behaves like a link; use it in all Assistant pages instead of Cancel links
*Context message widget can contain arbitrary QWidget content
*Buttons in context message widget can be left-aligned, useful for Help button
*Context message widget now displays more modern callout
*Context message widget now has internal widgets colorized using the view theme
*Context message widget now uses the view theme
*Context message widget now uses clean [x] button


Tables
Tables
Line 122: Line 153:
*Make Kexi obey color scheme selection for KDE
*Make Kexi obey color scheme selection for KDE
**Table view color support improved for dark schemes
**Table view color support improved for dark schemes
*Fixed bug: Details of lookup column not visible
**{{bug|296528}}


Queries
Queries
Line 153: Line 186:
*Fixed bug: Invalid image geometry within the Image Box form widget when frame properties change
*Fixed bug: Invalid image geometry within the Image Box form widget when frame properties change
**{{bug|289990}}
**{{bug|289990}}
*Fixed bug: Setting a text box as Read Only allows changes to be made nevertheles
**{{bug|278419}}
*Properly updated context menu when read-only flag is set for line edits and text boxes
*Setting a text box or text editor to Read Only mode changes the look to a bit dimmed (as in disabled widget) to indicate the mode
*Fixed saving "Enabled" property
**{{bug|278424}}


Reports
Reports
Line 162: Line 201:
{{bug|285583}}
{{bug|285583}}
*After inserting element, respective toolbox action is deselected
*After inserting element, respective toolbox action is deselected
*Fix crash in assigning data source that uses reserved words as field names
**Tables/queries with reserved words still do not work in reports though
*Fixed bug: setting a field's data source to a calculated value, results international characters not displaying correctly
**{{bug|277731}}
*Fixed bug: Data source property in report field do not show proper list of fields


Import & Export
Import & Export
Line 173: Line 217:
**{{bug|290645}}
**{{bug|290645}}
*Ask for opening the imported table
*Ask for opening the imported table
*Fixed bug: encoding selection misbehaves when importing a CSV file
**Encoding selection was not retained between first and another displaying of the CSV Import Options dialog
**Encoding selection made in the CSV Import Options dialog was not applied to the importing preview and process
***{{bug|294636}}
*Fixed bug: crash while importing CSV rows that start with empty cells (only delimiters)
**Example row: ,,,"a"
**{{bug|279980}}
*CSV Import: Update the progress bar less frequently


Database support
Database support
Line 185: Line 237:
*Query SQL generated in the Query Designer should be of KEXISQL type
*Query SQL generated in the Query Designer should be of KEXISQL type
**{{bug|290354}}
**{{bug|290354}}
*Fix deep copying of query schema and ORDER BY structures
**This removes crashes related, e.g. in reports based on queries with joins
***{{bug|246928
***{{bug|281737}}
*Properly deep-copy query asterisks when cloning query objects
**This fixes crash for reports based on queries
*fixed functions returning field's type group name and type group string; they were completely broken but probably only GUI was affected
**merged with Predicate


Database drivers
Database drivers
*MySQL driver: add /var/run/mysql/mysql.sock to list of possible local socket paths
*MySQL driver: add /var/run/mysql/mysql.sock to list of possible local socket paths
*MySQL driver: mark "information_schema" as system database
*MySQL driver: mark "information_schema" as system database
*SQLite Driver: fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
*SQLite Driver: Ported database compacting code to the new Kexi that uses system SQLite version
**{{bug|293548}}
*PostgreSQL Driver: Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
*MySQL Driver: Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
*SQLite Driver: Fixed crashes when compacting database fails
**Fixed error when attempting to compact database opened from recent lists
*SQLite Driver: Fixed exporting required symbols of kexidb_sqlite3_icu library for the sqlite3 interface. Also fix the filename extension when loading on different platforms. By Andrius da Costa Ribas.


Documentation
Documentation
Line 205: Line 273:
</div>
</div>


==Workarounds==
*[[/Workaround 301136/|Bug 301136: Kexi shows no indication that text is trimmed]]
==Missing or discontinued features in 2.4==
==Missing or discontinued features in 2.4==
None identified compared to 2.3.
None identified compared to 2.3.

Latest revision as of 01:37, 4 June 2012

List of changes

General

  • Replaced term "row" with "record" in visible places
  • Delayed loading of plugins, improves startup times
  • Fix regression added with the delayed loading of plugins: "Create" toolbar works now
  • Disable "Save Record Changes" action when user cancels editing or reverts edited text to the original value. "Cancel Record Changes" action is not disabled though, so user is still able to exit from record editing mode.
  • Ask for confirmation when going to Design View and have pending record changes in Data View of table or form
  • Replaced term "row" with "record" in visible places
  • Rename icons so they do not use '-' character in names to avoid problems with 'report' prefix
  • Updated translated messages retrieving, translations splitted for plugins
  • Avoid overlapping current plugin declarations by old-style plugin declarations
    • Without this new report items were not visible if uk.co.piggz.report class was used before
  • Fix loading recent entries for server databases
  • Fixes in date, time and date/time validating code, little refactoring, simplifing API
  • Do not load and show objects with invalid metadata in project navigator. Such invalid objects include: objects with id <= 0, objects with name reserved for internal use, objects with name not being valid identifier.
  • Cleanups in API of the data-aware view
  • Disable "Save Record Changes" action when user cancels editing or reverts edited text to the original value. "Cancel Record Changes" action is not disabled though, so user is still able to exit from record editing mode.
  • Ask for confirmation when going to Design View and have pending record changes in Data View of table or form
  • Fix build with gcc 4.2.1 under OpenBSD
  • Remove memory leak in code opening project
  • Fix crash when loading kexi part information without main window
  • Added stable version information: for 2.3.1 returns 2.3.1, for 2.5.70 returns 2.6.0, for 2.9.70 returns 3.0.0

Main window

  • Fixed crash on startup because of conflicts with Qt completion APIs
  • Make global search "full text"
  • Clear contents on activation, update on pressing Delete
  • Make Escape, Tab, Backtab keys set focus back to previously focused widget in Global Search
  • On activating global search box, select all previous text
  • Clear highlighting for objects in global search when needed
  • Matching substrings are highlighted in completion list of global search
  • Make behaviour of global search box more intuitive
    • go back to completing when popup is closed and F4/Down pressed
    • hide popup if F4 pressed
    • single item on the completion list => select it automatically
    • more than one item on completion list=>find exact match, if ok, accept
    • there is no matching text => go back to completing
  • Added minimal global search implementation with completion list, now just searches within Project objects
    • after pressing Enter - select object name in Project Navigator
    • on highlighting in completion list, highlights the object name
  • Simplified background below menu to make it flicker less
  • Select first item in Project Navigator when focused if there's no selection
  • Simple support for global search box in Kexi
  • Global search box accessible using Ctrl+K
  • Fixed setup of global shortcuts
  • Added "Import, Export or Send" menu item and assistant
  • Rearranged Kexi menu items for usability
  • Settings menu item disabled for now
  • "Open Recent" page becomes more generic "Welcome" page
  • Hide Project Navigator pane completely when closing project
  • Update availability of "Import Tables" action when closing project
  • Fixed regression: Prevent renaming objects to invalid identifiers in Project Navigator
  • Set sane default size for the first run, for <=1024 maximize the window
  • Disable moving of the columns in property editor
  • Modern Menu
    • Display lighter gradient, make clicking on persistent items possible only once per item
    • Improve gradient, make empty menu mostly transparent
    • Make shortcuts work - menu is displayed and contents appear
    • Added fades when switching between contents
    • Proper selecting/deselecting persistent items
    • All actions in main menu have at least a placeholder
    • Only hide menu if clicked outside
    • Escape key closes the contents area, then second press closes the main menu
    • enable Alt+F as accelerator for the main menu
    • menu is focused after opening and first menu item is highlighted
    • set contents area Window brush to Base and WindowText brush to Text
      • this web-like style harmonizes the with some white pages like 'open recent' [1]
  • Tabbed toolbar
    • focusing removed to fix usability with the main menu (arrows)
  • Help menu added to drop-down button
  • "Search" entry added
  • Fix opening projects in new process: start the process in detached mode
  • Use delayed deletion of Kexi menu to avoid crashes
  • Main window starts smoother
  • Fix build of search line edit for msvc
  • set close buttons on view tabs always visible
  • remove main area borders for cleaner GUI
  • remove MainWindow.HoverCloseButtonForTabs setting
  • Add Calligra branding to the Kexi Menu
    • Clicking on the logo opens the calligra.org web site
  • Make menu and logo look OK for black color schemes
  • Simple User Feedback Agent introduced
  • Fix possible crash when opening Form or Report design
  • Prototype of welcome status bar
  • Feedback format++: added JSON-compatible character escaping; added uid
  • Feedback format set to 1.2: added os_release, os_machine, screen_count
  • Feedback agent now supports selection of areas
  • Feedback agent now handles retrieving redirect URL
  • Status bar: HTML replaced with .ui files loaded by quitools and external Qt resources
  • User feedback: fixed grammar and typos
  • Fix cropped "Share usage info" message of the User feedback
  • User feedback: After clicking "Share usage info", "Details" or "Help" and the message is visible, minimizing+restoring hides the message
  • Allow to anchor context message position to given widget on parent resizes
  • Allow to resize context message position on parent resizes
  • Welcome status bar: fetch the GUI updates from the server if available, every 60 minutes
  • Make sure that after closing project, and then opening tabbed toolbar activates its first tab
  • Do not hide all tabs after project closing, this make it consistent with the appearance of tabs after starting kexi without specifying any project
  • User feedback: set anonymous identification as mandatory, needed even for basic statistics
  • User feedback: added home page and forum links
  • When property set is cleared, clear model(s) for associated views
    • This fixes random crashes in Property Editor

Startup

  • Improve info for recent entries
    • text now skips filename if there is caption for file-based entries
    • tooltips show server type or full filename path
  • Assistant Framework added for the Modern Menu
  • "New blank database" assistant implemented; reused previous code
  • Project selector and connection selector ported to Qt4
  • "New Project" assistant
  • Message Widget
  • "Open Project" assistant added
  • "Recent Projects" assistant
  • Shortcut files
    • bumped version to v3: "name" for shortcuts to file-based databases is a full file path now. If the file is within the user's home directory, the dir is replaced with $HOME, e.g. name=$HOME/mydb.kexi. Not compatible with earlier versions but in these versions only filename was stored so the file was generally inaccessible anyway. "lastOpened" field added of type date/time (ISO format).
    • saving and loading code moved to KexiProjectData
  • Information about recent projects now saved, loaded and displayed properly
  • Show "Recent files" screen as welcome screen, disable old welcome dialog
  • Items in "Recent Projects" sort by date descending
  • Remove duplicated entries of recent files at startup so the newest entry for given database is displayed
  • Do not display connection dialog when opening .kexis file that define database name
  • Welcome view: when clicked on a database open it in a new Kexi instance if another database is already opened in the current instance
  • Make the recent database entries of the Welcome Page resize when the window resizes
  • Fixed crash when clicking on "Welcome" action while 'confirm database overwriting' question is displayed

Wigets

  • Further simpify the gui: added flat icon-based button without background that behaves like a link; use it in all Assistant pages instead of Cancel links
  • Context message widget can contain arbitrary QWidget content
  • Buttons in context message widget can be left-aligned, useful for Help button
  • Context message widget now displays more modern callout
  • Context message widget now has internal widgets colorized using the view theme
  • Context message widget now uses the view theme
  • Context message widget now uses clean [x] button

Tables

  • Fixed input mask for date, time and date/time data fields in table views
  • Fix regression in displaying record editing indicators
  • Fix posible crashes because of running 'process events' in table view data's destructor
  • Make Kexi obey color scheme selection for KDE
    • Table view color support improved for dark schemes
  • Fixed bug: Details of lookup column not visible

Queries

  • Fix crash when selecting sort order without query field specified
  • Fix crash when selecting sort order in a query field

Forms

  • Context Menu for container widgets appears misplaced
  • Changed Form Design Toolbar icons order and set to have text under icon
  • Move icons from global directory to web/map plugins so these can be part of plugin packages
  • Revert disabling "Save Record" action for editing cancelling
  • Display widget's data source after selecting source
  • Add some missing translations to property names
  • Hide the pixmapId property of the picture box
  • "Show Form UI Code" dialog is now not cached, what fixes issues with memory ownership
  • Re-add foreground and background color properties for widgets; undo/redo works too
  • added --hide-menu command line option: Hides the main menu (the tabbed toolbar) completely. A number of commands from the main menu is always visible. This option is useful in User Mode.
  • Fixed possible crash in the "assign action" feature
  • Fixed possible crash in tab ordering code
  • Fixed possible crash in context menus
  • Do not create inline editing command when inserting, this fixes possible crash in undo/redo
  • Fixed bug: Image box does not store image pasted to it in design time
  • Fixed bug: Changing Horizontal Alignment in image box has no effect unless user resizes it or reopens the form
  • Fixed bug: Invalid image geometry within the Image Box form widget when frame properties change
  • Fixed bug: Setting a text box as Read Only allows changes to be made nevertheles
  • Properly updated context menu when read-only flag is set for line edits and text boxes
  • Setting a text box or text editor to Read Only mode changes the look to a bit dimmed (as in disabled widget) to indicate the mode
  • Fixed saving "Enabled" property

Reports

  • Move icons from global kexi or report lib directories to map/web/shape/barcode plugins so these can be part of plugin packages
  • Install icons for reporting plugins into calligra/ icons directory to make the plugins independent of Kexi
  • Web Report Element by Shreya Pandit
    • fixed all issues noted in review, cleaned up code using astyle
  • Fix bug: no indication of selected toolbox action for report element

Bug #285583

  • After inserting element, respective toolbox action is deselected
  • Fix crash in assigning data source that uses reserved words as field names
    • Tables/queries with reserved words still do not work in reports though
  • Fixed bug: setting a field's data source to a calculated value, results international characters not displaying correctly
  • Fixed bug: Data source property in report field do not show proper list of fields

Import & Export

  • CSV Import: Fixed crash for larger CSV data
  • CSV Export: When copying CSV data to clipboard use native line endings, force \r\n only in files
  • Fix saving recently visited directories for source and destination database in the migration wizard
  • Fixed bug: import to table in Kexi ignores "Ignore multiple delimiters" setting
  • Fixed bug: ignore any trailing delimiters if "Ignore multiple delimiters" option is on, so empty extra column is not added
  • Ask for opening the imported table
  • Fixed bug: encoding selection misbehaves when importing a CSV file
    • Encoding selection was not retained between first and another displaying of the CSV Import Options dialog
    • Encoding selection made in the CSV Import Options dialog was not applied to the importing preview and process
  • Fixed bug: crash while importing CSV rows that start with empty cells (only delimiters)
  • CSV Import: Update the progress bar less frequently

Database support

  • Make DriverInfo.name lowercse to avoid mistakes when comparing strings
  • Fix memory leak in multiargument expressions of any type
  • Fix memory leak in query schema
  • Fix memory leak (lexer was not released)
  • Fix possible crash when handling queries with lookup columns
  • Avoid 'invalid read' in code for inserting records into tables
  • Use ICU (http://icu-project.org) for high quality collating in unicode text columns using SQLite extension.
  • Query SQL generated in the Query Designer should be of KEXISQL type
  • Fix deep copying of query schema and ORDER BY structures
    • This removes crashes related, e.g. in reports based on queries with joins
  • Properly deep-copy query asterisks when cloning query objects
    • This fixes crash for reports based on queries
  • fixed functions returning field's type group name and type group string; they were completely broken but probably only GUI was affected
    • merged with Predicate

Database drivers

  • MySQL driver: add /var/run/mysql/mysql.sock to list of possible local socket paths
  • MySQL driver: mark "information_schema" as system database
  • SQLite Driver: fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
  • SQLite Driver: Ported database compacting code to the new Kexi that uses system SQLite version
  • PostgreSQL Driver: Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
  • MySQL Driver: Fixed crash in prepared statement execution for inserting data when number of items to insert is smaller than expected; this case could be found when importing CSV data in Kexi with fewer columns specified than expected
  • SQLite Driver: Fixed crashes when compacting database fails
    • Fixed error when attempting to compact database opened from recent lists
  • SQLite Driver: Fixed exporting required symbols of kexidb_sqlite3_icu library for the sqlite3 interface. Also fix the filename extension when loading on different platforms. By Andrius da Costa Ribas.

Documentation

Examples

  • Updated examples generation scripts to use system sqlite3 instead of old ksqlite command
  • Make forms andreport in "Simple Database" example look a bit more modern
  • Remove auto tabs to avoid focus

New Developers

  • Shreya Pandit
  • Dimitrios Tanis
  • Radosław Wicik

Workarounds

Missing or discontinued features in 2.4

None identified compared to 2.3.