Kexi/Releases/Kexi 2.4

From KDE Community Wiki

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

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

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

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

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

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

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

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

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

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

Missing or discontinued features in 2.4

None identified compared to 2.3.