Kexi/TODOs/Archive

From KDE Community Wiki
< Kexi‎ | TODOs
Revision as of 21:03, 1 April 2023 by Jstaniek (talk | contribs)

Warning

Mar 2023 [jstaniek]: Relevant TODOs moved to https://invent.kde.org/office/kexi/-/issues, links added here. Continue working with the tasks there.


See Also: Calligra Feature Plan.

General

Status Description Assigned To
DONE Use KPluginInfo for any kind of plugins, what would allow for creating main window (esp. the project navigator) without loading any plugins in advance jstaniek [2.6]
DONE Re-add all the missing actions to the toolbars; look at the .rc files of Kexi 1.x for reference. jstaniek [2.5]
DONE Refresh icons:
  • copy view-form as form
  • copy view-form-table as table
  • create query icon from view-form-table
  • reports from view-pim-journal
  • use view-multiple-objects
  • use emblem-new instead of "*" everywhere
  • replace * in object_new with emblem-new
  • use the thunder from view-form-action for 'assign action' and display it in designer over buttons and in the widget tree
  • refresh script icon (and maybe add name "js", "py"" to the script icon)
  • show data-source-pkey-tag icon for widgets with pkey field assigned

Done by moving to the breeze icons in the meantime and designing them

jstaniek [2.5]
WISH Set the script language project-wide, and use a single Kross::Action to retain state between scripts

https://invent.kde.org/office/kexi/-/issues/82

WISH Add translation module for any user-visible text in database. Perform research on reusing core parts of Lokalize or Qt Linguist. Refactoring Lokalize may be needed (better) or just forking some code (worse). Contact the Lokalize team to be sure. GNU gettext .po files format is preffered. Storage: database as everything in Kexi. Strict integration means there should be no external programs executed in the foreground and the workflow should resemble other workflows in Kexi, so the translating interface would be displayed within a tab.

https://invent.kde.org/office/kexi/-/issues/83


Main Window

Status Description Assigned To
DONE Create lightweight nonmodal web-like startup screen jstaniek [2.4]
WISH Create XML-based tabbed toolbar framework

https://invent.kde.org/office/kexi/-/issues/84

WISH Create XML-based sidebar toolbox framework

https://invent.kde.org/office/kexi/-/issues/85

Table View

Status Description Assigned To
DONE Fix rendering problems when the number of columns exceeds the view width. Issuess when scrolling (after porting to Qt 4) jstaniek
DONE Port to Qt 4 jstaniek [2.9]
DONE Port to QScrollArea jstaniek [2.9]
WISH Zooming. After porting to QScrollArea

https://invent.kde.org/office/kexi/-/issues/86

KoProperty

Status Description Assigned To
DONE Transition to KoProperty2 jstaniek
DONE Create QSizeF and QPointF properties piggz
DONE Improve rendering jstaniek
DONE Add missing properties: QColor, KoUnit, LineStyle jstaniek
DONE IGNORED Mising border below the last item when its editor is visible jstaniek
DONE IGNORED When started to change the editor's value: "revert" button should appear, if the property has parent, the item for the parent should be repainted jstaniek
DONE IGNORED Fix or reimplement spin box widgets: look bad with oxygen and probably other styles jstaniek
DONE Create QRectF property piggz
WISH Add multiselection combo, i.e. for QFlags, e.g. [1]
QListWidget has a Qt::ItemIsUserCheckable flaf for items that adds a check box. For more advanced use cases kdeui offers a mini-framework called Goya that makes it easier to insert widgets into model views than plain Qt use. Optionally use subproperties, like it is done with x, y for QPoint type.
jstaniek
DONE IGNORED Add Maps Theme manager as a QMap<string, variant> Radek Wicik 2.6

Tables

(Table Designer, for Table View see above)

Status Description Assigned To
TO DO Fix setting primary key using toolbar button jstaniek <{{{3}}}>

Queries

Includes query data view, Query Designer and SQL Editor.

Status Description Assigned To
TO DO Use the real KEXISQL parser for criteria column in the design view. Currently simple regexp is used there. Especially support LIKE operator. jstaniek [2.6] <{{{3}}}>
TO DO Reimplement relationship editor using GraphicsView jstaniek [2.?] <{{{3}}}>
WISH Add support for grouping/totaling; Bug #195360 jstaniek [2.?]

Forms

Includes form data view and Form Designer.

Forms - general

Status Description Assigned To
DONE Port the plugin jstaniek
DONE Fix the rectangle and repainting when inserting widgets with specified size jstaniek
DONE Port Widgets Tree tab (it's hidden in 2.2) jstaniek [2.3]
TO DO FormManager::FormManager: register factory (port to koproperty2) jstaniek <{{{3}}}>
TO DO Port KFDPixmapEdit, PropertyFactory jstaniek <{{{3}}}>
DONE Add support for paletteForegroundColor and paletteBackgroundColor properties of Kexi 1.x jstaniek
TO DO Add translation and simplify "textInteractionFlags" for QTextEdit and QLabel jstaniek [2.?] <{{{3}}}>
DONE Fix setting "enabled" property to false jstaniek
TO DO (Windows-only?) when right-clicking again after context menu has been displayed, update selection, otherwise the context menu items won't be adequate to the selection jstaniek <{{{3}}}>
TO DO Make sorting work in forms - Bug #150372 jstaniek [2.?] <{{{3}}}>
TO DO Port Tab Order dialog (it's hidden in 2.2) jstaniek [2.?] <{{{3}}}>
WISH Implement tabular layout jstaniek [2.?]
WISH Implement editing mode in data view jstaniek [2.?]
WISH Implement scripting ability for forms similar to reports ? [2.?]
WISH Implement/renew the simplified form layouts:
  • Stretch top/bottom/left/right/top&down/etc.
  • Inserting/pulling out widgets out of the layout
  • Moving/resizing entire layout
  • Support 'Size to shortest'/'To fit'/etc. in layouts
jstaniek [2.?]

Form widgets

Form widgets implementation.

Status Description Assigned To
DONE Fix/port text box widget support jstaniek
DONE Fix/port image box widget support jstaniek
DONE Fix/port text editor widget support jstaniek
DONE Fix/port tab widget support jstaniek
DONE Fix/port combo box widget support jstaniek
TO DO Fix/port/reimplement auto field widget support jstaniek [2.6] <{{{3}}}>
TO DO Use KRichTextWidget or KRichTextEdit instead of KTextEdit jstaniek [2.6] <{{{3}}}>
TO DO Fix setting alignment property (e.g. for text box) - does not work because it is numeric now jstaniek <{{{3}}}>
TO DO Fix/port the Spring element jstaniek [2.?] <{{{3}}}>
TO DO Display "data" icon and data source name in combo boxes and labels jstaniek [2.6] <{{{3}}}>
DONE Implement web browser widget Junior Job, Shreya Pandit [2.4]
DONE Implement map browser widget Junior Job, Radek Wicik [2.4]
TO DO Switch to the new New Date/Time Widgets from kdeui [2] jstaniek [2.6] <{{{3}}}>
TO DO Add Maps Theme manager for MapBrowserWidget Radek Wicik[2.6] <{{{3}}}>

Reports

Relates to the new Reports Plugin (data view and the designer)

Status Description Assigned To
DONE Rename reportspgz to reports everywhere piggz [2.2]
DONE Fix javascript kross plugin, or disable as it seems buggy, qtscript is ok piggz [2.2]
DONE Export to KWord (OpenDocument Text Format, ODT) piggz [2.3]
DONE Make report entities (label/field etc) plugins, so its easier to add new ones piggz [2.3]
TO DO Add subreport item Bug #330219 piggz [2.5] <{{{3}}}>
TO DO Improve Section Editor: move first/last sections (4) to an advanced mode somehow for powerusers. Making the dialog use ok/cancel buttons instead of Close. piggz [2.4] <{{{3}}}>
TO DO Maybe use flakes, or create a report 'shape' that can be embedded elsewhere piggz [2.4] <{{{3}}}>
TO DO Add more math functions? piggz [2.4] <{{{3}}}>
TO DO Undo/Redo support piggz [2.4] <{{{3}}}>
TO DO Custom page sizes [3] [2.8] <{{{3}}}>
TO DO Labels piggz [2.4] <{{{3}}}>
TO DO Table Item piggz [2.4] <{{{3}}}>
WISH Create a flake based report designer piggz [2.6]
DONE Implement web browser element Junior Job, Shreya Pandit [2.4]
DONE Implement map browser element Junior Job, Radek Wicik [2.4]
TO DO Implement "Do you want to open" question after exporting report to Text/Spreadsheet/as Web Page <{{{3}}}>


Database Support

Status Description Assigned To
DONE Merge recent changes of KexiDB into KDb jstaniek [2.3]
DONE Port Kexi to KDb jstaniek [3.0]
WISH Publish tutorial about development with KDb jstaniek [2.?]
IN PROGRESS Add unit tests to KDb using QTestLib. Certain type of tests could be executed with several drivers. That would validate any change made in KDb against different drivers. Consider testing agains different versions of backends. What we have currently is explained in comment #9 for bug #254188 jstaniek [2.?]
WISH Perform benchmarks using QTestLib (valging, callgrind) and cachegrind, and propose improvements. ? [2.?]
WISH Export KDb API thought QJSEngine. ? [2.?]
WISH Integrate one or more backends for Kexi with ownCloud, e.g. PostgreSQL (+middleware for easier user account mgmt) [2.?]

Migration

Status Description Assigned To
DONE Add mdb driver to cmake piggz [2.2]
IN PROGRESS Finish dialog for importing a table into the current database piggz
IN PROGRESS Add ability to existing migration drivers to read a single table piggz
WISH Add kross script bindings to kexiscripting for migration piggz [2.?]
TO DO Porting to non-modal assistants ?? [2.?] <{{{3}}}>

Import/Export

Status Description Assigned To
DONE Fix "Export to CSV" dialog piggz, jstaniek [2.3]
IN PROGRESS Port CSV Export wizard to KAssistantDialog ??? [2.?]
WISH Add support for fixed width text export (Bug #254621) jstaniek [2.?]

Printing

Status Description Assigned To
WISH Reimplement simple printing using Kexi Reports jstaniek [2.?]

Mobile

Status Description Assigned To
DONE Abstract or disable features not used on mobile target (mostly done, merge branch kexi-mobile-adam_pigg with master, reviewed by jstaniek) piggz [2.4]