kexi
Todo List
- Member KexiDB::Connection::alterTable (TableSchema &tableSchema, TableSchema &newTableSchema)
- (js): implement real altering
(js): update any structure (e.g. query) that depend on this table!
- Member KexiDB::Connection::closeDatabase ()
- (js) add CLEVER algorithm here for nested transactions
- Member KexiDB::Connection::commitTransaction (Transaction trans=Transactionnull, bool ignore_inactive=false)
- for nested transactions: Tansaction* beginTransaction(transaction *parent_transaction);
- Member KexiDB::Connection::createTableStatement (const TableSchema &tableSchema) const
- IS this ok for all engines?: if (!autoinc && !field->isPrimaryKey() && field->isNotNull())
- Member KexiDB::Connection::deleteRow (QuerySchema &query, RowData &data, bool useROWID=false)
- allow to delete from a table without pkey
- Member KexiDB::Connection::dropTable (KexiDB::TableSchema *tableSchema, bool alsoRemoveSchema)
- js: update any structure (e.g. queries) that depend on this table!
- Member KexiDB::Connection::dropTable (TableSchema *tableSchema)
- (js): update any structure (e.g. query) that depend on this table!
- Member KexiDB::Connection::drv_containsTable (const QString &tableName)=0
- move this somewhere to low level class (MIGRATION?)
- Member KexiDB::Connection::drv_createTable (const TableSchema &tableSchema)
- fix this after refatoring
- Member KexiDB::Connection::drv_getTablesList (QStringList &list)=0
- move this somewhere to low level class (MIGRATION?)
- Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
- now only if PKEY is present, this should also work when there's no PKEY
- Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
- safe to cast it?
- Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
- show error
- Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
- remove just inserted row. How? Using ROLLBACK?
- Member KexiDB::Connection::insertRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool getROWID=false)
- show error
- Member KexiDB::Connection::kexiDBSystemTableNames ()
- (js): this will depend on KexiDB lib version
- Member KexiDB::Connection::querySingleRecordInternal (RowData &data, const QString *sql, QuerySchema *query)
- does not work with non-SQL data sources
- Member KexiDB::Connection::resultCount (const QString &sql)
- perhaps use Q_ULLONG here?
- Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, bool alsoRetrieveROWID, int idEscaping=DriverEscapeDriver|DriverEscapeAsNecessary) const
- looking at singleTable is visually nice but a field name can conflict with function or variable name...
- Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, bool alsoRetrieveROWID, int idEscaping=DriverEscapeDriver|DriverEscapeAsNecessary) const
- add option that allows to omit "AS" keyword
- Member KexiDB::Connection::selectStatement (QuerySchema &querySchema, bool alsoRetrieveROWID, int idEscaping=DriverEscapeDriver|DriverEscapeAsNecessary) const
- (js) add WHERE and other sql parts
- Member KexiDB::Connection::storeObjectSchemaData (SchemaData &sdata, bool newObject)
- safe to cast it?
- Member KexiDB::Connection::updateRow (QuerySchema &query, RowData &data, RowEditBuffer &buf, bool useROWID=false)
- perhaps we can try to update without using PKEY?
- Class KexiDB::ConstExpr
- date, time
- Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
- horizontal/vertical splitter icons
- Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
- hflow icon
- Member ContainerFactory::ContainerFactory (QObject *parent, const char *name, const QStringList &args)
- vflow icon
- Member KFormDesigner::CreateLayoutCommand::execute ()
- allow setting this for data view mode as well
- Member KexiDB::Cursor::setOrderByColumnList (const QString &column1, const QString &column2=QStringnull, const QString &column3=QStringnull, const QString &column4=QStringnull, const QString &column5=QStringnull)
- implement this, like above
add ORDER BY info to debugString()
- Member KexiDB::Cursor::setOrderByColumnList (const QStringList &columnNames)
- implement this:
- Class KexiDB::DatabaseProperties
- implement KConfigBase interface here?
- Member KexiDB::Driver::dateTimeToSQL (const QDateTime &v) const
- add support for time zones?
- Class Event
- add aliases for slot()?? (eg actionName())
- Member KexiDB::Field::setDefaultValue (const QCString &def)
- BigInteger support
- Member KexiDB::Field::setPrimaryKey (bool p)
- is this ok for all engines?
- Member KFormDesigner::Form::autoAssignTabStops ()
- Handle RTL layout (ie form top-right to bottom-left)
- Member KFormDesigner::Form::gridSize ()
- make gridSize configurable at global level
- Member KFormDesigner::FormIO::loadFormFromDom (Form *form, QWidget *container, QDomDocument &domDoc)
- We can either 1) convert from old format and later save in a new one or 2) keep old format. To do this we may need to look at the original format version number.
- Member KFormDesigner::FormIO::loadFormFromDom (Form *form, QWidget *container, QDomDocument &domDoc)
- display information about too new format and that "some information will not be available".
- Member KFormDesigner::FormIO::loadFormFromFile (Form *form, QWidget *container, const QString &filename=QStringnull)
- Add errors code and error dialog
- Member KFormDesigner::FormIO::loadWidget (Container *container, const QDomElement &el, QWidget *parent=0)
- allow setting this for data view mode as well
- Member KFormDesigner::FormIO::saveFormToFile (Form *form, const QString &filename=QStringnull)
- Add errors code and error dialog
- Member KFormDesigner::FormManager::changeFont ()
- this modification is not added to UNDO BUFFER: do it when KoProperty::Set supports multiple selections
- Member FormScript::connectEvents ()
- connect signals with actions
- Member FormScript::execute (const QString &functionName)
- how do we give parameters?
- Member FormScript::execute (const QString &functionName)
- support return value and arguments
- Member FormScript::getCode (const QString &functionName=QStringnull)
- Allow to select only one function
- Member KexiMigration::ImportWizard::next ()
- use KURL?
- Member KFormDesigner::InsertWidgetCommand::execute ()
- allow setting this for data view mode as well
- Member KFormDesigner::InsertWidgetCommand::execute ()
- update widget's width for entered text's metrics
- Member KexiAlterTableDialog::KexiAlterTableDialog (KexiMainWindow *win, QWidget *parent, const char *name=0)
- remove this later
- Member KexiAlterTableDialog::buildSchema (KexiDB::TableSchema &schema)
- for "names hidden" mode we won't get this error because user is unable to change names
- Member KexiAlterTableDialog::createPropertySet (int row, KexiDB::Field *field, bool newOne=false)
- add table_field icon (add buff->addProperty(prop = new KexiProperty("this:iconName", "table_field") );
- Member KexiAlterTableDialog::createPropertySet (int row, KexiDB::Field *field, bool newOne=false)
- this should be retrieved from KexiDB::Field when BLOB supports many different mimetypes
- Member KexiAlterTableDialog::createPropertySet (int row, KexiDB::Field *field, bool newOne=false)
- set reasonable default for column width
- Member KexiAlterTableDialog::createPropertySet (int row, KexiDB::Field *field, bool newOne=false)
- show this after we get properly working editor for QVariant
- Member KexiAlterTableDialog::getSubTypeListData (KexiDB::Field::TypeGroup fieldTypeGroup, QStringList &stringsList, QStringList &namesList)
- hardcoded!
- Member KexiAlterTableDialog::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
- remove this later
- Member KexiAlterTableDialog::slotBeforeCellChanged (KexiTableItem *item, int colnum, QVariant &newValue, KexiDB::ResultInfo *result)
- should we display (passive?) dialog informing about cleared pkey?
- Member KexiAlterTableDialog::slotPropertyChanged (KoProperty::Set &set, KoProperty::Property &property)
- : add setting for this: "Integer PKeys have autonumber set by default"
- Member KexiAlterTableDialog::updateActions (bool activated)
- check if we can set pkey for this column type (eg. BLOB?)
- Class KexiBLOBBuffer
- support any KPart-compatible objects and more...
- Member KexiBLOBBuffer::Id_t
- Qt4: will be changed
- Member KexiBLOBBuffer::insertPixmap (const QPixmap &pixmap)
- OK? What about jpegs?
- Member KexiBLOBBuffer::insertPixmap (const KURL &url)
- what about searching by filename only and then compare data?
- Member KexiBLOBBuffer::insertPixmap (const KURL &url)
- download the file if remote, then set fileName properly
- Member KexiBLOBBuffer::insertPixmap (const KURL &url)
- err msg
- Member KexiBLOBBuffer::insertPixmap (const KURL &url)
- err msg
- Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
- err msg
- Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
- use PreparedStatement
- Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
- err msg
- Member KexiBLOBBuffer::objectForId (Id_t id, bool stored)
- folder id: fix Id_t for Qt4
- Member KexiBLOBBuffer::Handle::setStoredWidthID (Id_t id)
- What about other handles for this item?
They were assuming it's unstored item, but it's stored now....
- Member KexiBrowser::KexiBrowser (KexiMainWindow *mainWin)
- 1.1: just add "Delete" tooltip and what's this
- Member KexiBrowser::slotNewObjectPopupAboutToShow ()
- err
- Member KexiConnSelectorWidget::slotRemoteAddBtnClicked ()
- msg?
- Member KexiConnSelectorWidget::slotRemoteEditBtnClicked ()
- msg?
- Member KexiCSVExportWizard::KexiCSVExportWizard (const Options &options, KexiMainWindow *mainWin, QWidget *parent=0, const char *name=0)
- 1.1: for copying use "Always use above options for copying" string
- Member KexiCSVExportWizard::exportData ()
- move this to non-GUI location so it can be also used via command line
add a "finish" page with a progressbar.
look at m_rowCount whether the data is really large; if so: avoid copying to clipboard (or ask user) because of system memory
- Member KexiCSVExportWizard::exportData ()
- OPTIMIZATION: use fieldsExpanded(true /*UNIQUE
- Member KexiCSVExportWizard::exportData ()
- (during exporting): enlarge bufSize by factor of 2 when it became too small
- Member KexiCSVExportWizard::exportData ()
- escape strings
- Member KexiCSVImportDialog::KexiCSVImportDialog (Mode mode, KexiMainWindow *mainWin, QWidget *parent, const char *name=0)
- what about making it kexidb-independent?
- Member KexiCSVImportDialog::KexiCSVImportDialog (Mode mode, KexiMainWindow *mainWin, QWidget *parent, const char *name=0)
- reuse Clipboard too!
- Member KexiCSVImportDialog::accept ()
- MOVE MOST OF THIS TO CORE/ (KexiProject?) after KexiDialogBase code is moved to non-gui place
- Member KexiCSVImportDialog::accept ()
- make it better integrated with main window
- Member KexiCSVImportDialog::accept ()
- : err
- Member KexiCSVImportDialog::accept ()
- make this field hidden (what about e.g. pgsql?)
- Member KexiCSVImportDialog::accept ()
- what about time and float/double types and different integer subtypes?
- Member KexiCSVImportDialog::accept ()
- what about long text?
- Member KexiDataAwareObjectInterface::acceptEditor ()
- move this to a separate class
allow displaying user-defined warning
also use for other error messages
- Member KexiDataAwareObjectInterface::acceptEditor ()
- validation rules for this value?
- Member KexiDataAwareObjectInterface::cancelRowEdit ()
- (js): cancel changes for this row!
- Member KexiDataAwareObjectInterface::setData (KexiTableViewData *data, bool owner=true)
- : store sorting settings?
- Member KexiDataAwareObjectInterface::m_contentsMousePressEvent_dblClick
- really keep this here and not in KexiTableView?
- Member KexiDataAwareObjectInterface::m_verticalHeader
- make generic interface out of KexiRecordMarker
- Member KexiDataAwareView::initActions ()
- plugSharedAction("data_filter", this, SLOT(???()));
- Member KexiDataSourcePage::KexiDataSourcePage (QWidget *parent, const char *name=0)
- allow to hide such helpers by adding global option
- Member KexiDataSourcePage::slotFieldSelected ()
- this should also work for expressions
- Member KexiDataSourcePage::slotInsertSelectedFields ()
- what about query fields/aliases? it.current()->text(0) can be not enough
- Member KexiDataTable::filter ()
- Member KexiDateFormatter::KexiDateFormatter ()
- allow to override the format using column property and/or global app settings
- Member KexiDateFormatter::KexiDateFormatter ()
- more variables are possible here, see void KLocale::setDateFormatShort() docs http://developer.kde.org/documentation/library/3.5-api/kdelibs-apidocs/kdecore/html/classKLocale.html#a59
- Member KexiDateFormatter::KexiDateFormatter ()
- use QRegExp (to replace Y by 1, etc.) instead of hardcoded "%1%299%399" because df may contain also other characters
- Member KexiDateFormatter::~KexiDateFormatter ()
- KexiDateFormatter(... settings ...);
- Member KexiDateTableEdit::KexiDateTableEdit (KexiTableViewColumn &column, QScrollView *parent=0)
- add QValidator so date like "2006-59-67" cannot be even entered
- Member KexiDateTableEdit::setValueInternal (const QVariant &add, bool removeOld)
- cut string if too long..
- Member KexiDateTimeTableEdit::KexiDateTimeTableEdit (KexiTableViewColumn &column, QScrollView *parent=0)
- add QValidator so time like "99:88:77" cannot be even entered
- Member KexiDateTimeTableEdit::setValueInternal (const QVariant &add, bool removeOld)
- cut string if too long..
- Member KexiDBAutoField::changeText (const QString &text, bool beautify=true)
- look at appendColonToAutoLabels setting [bool]
look at makeFirstCharacterUpperCaseInAutoLabels setting [bool] (see doc/dev/settings.txt)
- Member KexiDBAutoField::createEditor ()
- using kexitableview combo box editor when it's ready
- Member KexiDBAutoField::createEditor ()
- create db-aware spinboxes, date, time edit, etc
- Member KexiDBAutoField::setInvalidState (const QString &text)
- or set this to editor's text?
- Member KexiDBAutoField::setLabelPosition (LabelPosition position)
- support right-to-left layout where positions are inverted
- Member KexiDBCheckBox::cursorAtEnd ()
- ?
- Member KexiDBCheckBox::cursorAtStart ()
- ?
- Member KexiDBCheckBox::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBConnectionDialog::KexiDBConnectionDialog (const KexiProjectData &data, const QString &shortcutFileName=QStringnull, const KGuiItem &acceptButtonGuiItem=KGuiItem(""))
- set proper help ctxt ID
- Member KexiDBConnectionTabWidget::currentProjectData ()
- check if that's database of connection shortcut. Now we're assuming db shortcut only!
- Member KexiDBConnectionWidget::setDataInternal (const KexiProjectData &data, bool connectionOnly, const QString &shortcutFileName)
- what if there's no such driver name?
- Member Kross::KexiDB::KexiDBCursor::~KexiDBCursor ()
- check ownership
- Member KexiDBDateEdit::isReadOnly () const
- : data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true
- Member KexiDBDateEdit::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBDateTimeEdit::isReadOnly () const
- : data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true
- Member KexiDBDateTimeEdit::setInvalidState (const QString &displayText)
- paint this text: text
- Member KexiDBDateTimeEdit::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBDoubleSpinBox::cursorAtEnd ()
- ?
- Member KexiDBDoubleSpinBox::cursorAtStart ()
- ?
- Member KexiDBDoubleSpinBox::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBDriverComboBox::KexiDBDriverComboBox (const KexiDB::Driver::InfoMap &driversInfo, bool includeFileBasedDrivers=true, QWidget *parent=0, const char *name=0)
- change this if better icon is available
- Member KexiDBFactory::changeText (const QString &newText)
- check field's geometry
- Member KexiDBFactory::clearWidgetContent (const QCString &classname, QWidget *w)
- this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called
- Member KexiDBFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
- also call createMenuActions() for inherited factory!
- Member KexiDBFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
- make these actions undoable/redoable
- Member KexiDBFactory::slotImageBoxIdChanged (long id)
- unsafe
- Member KexiDBFactory::startEditing (const QCString &classname, QWidget *w, KFormDesigner::Container *container)
- this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called
- Member KexiDBFactory::startEditing (const QCString &classname, QWidget *w, KFormDesigner::Container *container)
- this code should not be copied here but just inherited StdWidgetFactory::clearWidgetContent() should be called
- Member KexiDBForm::clear ()
- clear all fields?
- Member KexiDBForm::isReadOnly () const
- ?
- Member KexiDBForm::setCursor (const QCursor &cursor)
- ?
- Member KexiDBForm::setInvalidState (const QString &displayText)
- draw "invalid data source" text on the surface?
- Member KexiDBForm::updateTabStopsOrder (KFormDesigner::Form *form)
- d->indicesForDataAwareWidgets SHOULDNT BE UPDATED HERE BECAUSE THERE CAN BE ALSO NON-TABSTOP DATA WIDGETS!
- Member KexiDBImageBox::clear ()
- emit signal for setting "dirty" flag within the design
- Member KexiDBImageBox::insertFromFile ()
- download the file if remote, then set fileName properly
- Member KexiDBImageBox::insertFromFile ()
- download the file if remote, then set fileName properly
- Member KexiDBImageBox::insertFromFile ()
- err msg
- Member KexiDBImageBox::insertFromFile ()
- err msg
- Member KexiDBImageBox::insertFromFile ()
- emit signal for setting "dirty" flag within the design
- Member KexiDBImageBox::paintEvent (QPaintEvent *)
- we can optimize drawing by drawing rescaled pixmap here and performing detailed painting later (using QTimer)
- Member KexiDBImageBox::popupMenuAvailable ()
- add kexi-global setting which anyway, allows to show this button (read-only actions like copy/save as/print can be available)
- Member KexiDBImageBox::saveAs ()
- add originalFileName! (requires access to KRecentDirs)
- Member KexiDBImageBox::saveAs ()
- err msg
- Member KexiDBImageBox::saveAs ()
- err msg
- Member KexiDBImageBox::setInvalidState (const QString &displayText)
- m_pixmapLabel->setText( displayText );
- Member KexiDBImageBox::showProperties ()
- Member KexiDBImageBox::widget ()
- Member KexiDBIntSpinBox::clear ()
- ?
- Member KexiDBIntSpinBox::cursorAtEnd ()
- ?
- Member KexiDBIntSpinBox::cursorAtStart ()
- ?
- Member KexiDBIntSpinBox::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
- merge this code with KexiTableEdit code!
set maximum length validator
handle input mask (via QLineEdit::setInputMask()
- Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
- couldn't work with KIntValidator: implement lonlong validator! bottom = u ? 0 : -0x7fffffffffffffff; top = u ? 0xffffffffffffffff : 127;
- Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
- use KDateWidget
- Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
- use KTimeWidget
- Member KexiDBLineEdit::setColumnInfo (KexiDB::QueryColumnInfo *cinfo)
- temporary solution for booleans!
- Member KexiDBLineEdit::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBLineEdit::setValueInternal (const QVariant &add, bool removeOld)
- temporary solution for booleans!
- Member KexiDBSubForm::setFormName (const QString &name)
- error message
- Member KexiDBTextEdit::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDBTextEdit::setValueInternal (const QVariant &add, bool removeOld)
- temporary solution for booleans!
- Member KexiDBTimeEdit::isReadOnly () const
- : data/time edit API has no readonly flag, so use event filter to avoid changes made by keyboard or mouse when m_readOnly==true
- Member KexiDBTimeEdit::setInvalidState (const QString &displayText)
- move this to KexiDataItemInterface::setInvalidStateInternal() ?
- Member KexiDialogBase::attachToGUIClient ()
- js: PROBABLY REMOVE THESE TWO?
- Member KexiDisplayUtils::drawAutonumberSign (const DisplayParameters &par, QPainter *painter, int x, int y, int width, int height, int align, bool overrideColor=false)
- Member KexiDisplayUtils::drawAutonumberSign (const DisplayParameters &par, QPainter *painter, int x, int y, int width, int height, int align, bool overrideColor=false)
- Member KexiFieldComboBox::setFieldOrExpression (const QString &string)
- show error
- Member KexiFieldListView::dragObject ()
- what about query fields/aliases? it.current()->text(1) can be not enough
- Member KexiFormDataProvider::setMainDataSourceWidget (QWidget *mainWidget)
- reenable when subform is moved to KexiDBForm
- Member KexiFormEventHandler::setMainWidgetForEventHandling (KexiMainWindow *mainWin, QWidget *mainWidget)
- look for other widgets too
- Member KexiFormPart::static_formsLibrary
- define KEXI_SHOW_SPLITTER_WIDGET
- Member KexiFormScrollView::addHeaderColumn (const QString &caption, const QString &description, int width)
- Member KexiFormScrollView::clearColumnsInternal (bool repaint)
- Member KexiFormScrollView::createEditor (int row, int col, const QString &addText=QStringnull, bool removeOld=false)
- Member KexiFormScrollView::currentLocalSortingOrder () const
- Member KexiFormScrollView::editorShowFocus (int row, int col)
- Member KexiFormScrollView::ensureCellVisible (int row, int col)
- Member KexiFormScrollView::initDataContents ()
- here we can react if user wanted to show the navigator
- Member KexiFormScrollView::moveToRecordRequested (uint r)
- Member KexiFormScrollView::rowsPerPage () const
- Member KexiFormScrollView::setLocalSortingOrder (int col, int order)
- Member KexiFormScrollView::slotRowInserted (KexiTableItem *item, uint row, bool repaint)
- Member KexiFormScrollView::slotRowInserted (KexiTableItem *item, bool repaint)
- Member KexiFormScrollView::slotRowRepaintRequested (KexiTableItem &item)
- Member KexiFormScrollView::slotRowsDeleted (const QValueList< int > &)
- Member KexiFormScrollView::sortColumnInternal (int col, int order=0)
- Member KexiFormScrollView::updateCell (int row, int col)
- Member KexiFormScrollView::updateRow (int row)
- Member KexiFormScrollView::updateWidgetContents ()
- Member KexiFormView::KexiFormView (KexiMainWindow *mainWin, QWidget *parent, const char *name=0, bool dbAware=true)
- define KEXI_SHOW_SPLITTER_WIDGET
- Member KexiFormView::KexiFormView (KexiMainWindow *mainWin, QWidget *parent, const char *name=0, bool dbAware=true)
- skip this if ther're no borders
- Member KexiFormView::afterSwitchFrom (int mode)
- add option for skipping autoincremented fields
- Member KexiFormView::deleteQuery ()
- remove this shared query from listened queries list
- Member KexiFormView::initDataSource ()
- also handle anonymous (not stored) queries provided as statements here
KexiTableViewData is not great name for data class here... rename/move?
- Member KexiFormView::initDataSource ()
- check if the query could have skipped unused fields (no GROUP BY, no joins, etc.)
- Member KexiFormView::initDataSource ()
- add expression support
- Member KexiFormView::initDataSource ()
- show error
- Member KexiFormView::initDataSource ()
- PRIMITIVE!! data setting:
- Member KexiFormView::initDataSource ()
- few backends return result count for free! - no need to reopen()
- Member KexiFormView::initForm ()
- handle errors
- Member KexiFormView::loadForm ()
- move this to a separate method and call when form's data source is changed
- Member KexiFormView::setUnsavedLocalBLOB (QWidget *widget, KexiBLOBBuffer::Id_t id)
- if there already was data assigned, remember it should be dereferenced
- Member KexiFormView::storeData (bool dontAsk=false)
- remove unused data stored previously
- Member KexiFormView::storeData (bool dontAsk=false)
- show message about missing kexi__blobs?
- Member KexiFormView::storeData (bool dontAsk=false)
- show message
- Member KexiFormView::storeData (bool dontAsk=false)
- unsafe
- Member KexiFormView::storeData (bool dontAsk=false)
- show message?
- Member KexiFrame::KexiFrame (QWidget *parent, const char *name=0)
- obtain these defaults from current template's style...
- Member KexiInputTableEdit::setValueInternal (const QVariant &add, bool removeOld)
- precision!
- Member KexiInputTableEdit::setValueInternal (const QVariant &add, bool removeOld)
- (js): get decimal places settings here...
- Member KexiInputTableEdit::value ()
- PRESERVE PRECISION!
- Member KexiInputTableEdit::value ()
- check constraints
- Member KexiMainWindowImpl::addWindow (KMdiChildView *pView, int flags=KMdiStandardAdd)
- Certain windows' sizes, e.g. forms could have own size configation specified! Query for this, and if so: give up.
- Member KexiMainWindowImpl::exportItemAsDataTable (KexiPart::Item *item)
- : check if changes to this are saved, if not: ask for saving
: accept row changes...
- Member KexiMainWindowImpl::initActions ()
- : change to "file_import" or so
- Member KexiMainWindowImpl::initActions ()
- : change to "file_export" or so
- Member KexiMainWindowImpl::invalidateProjectWideActions ()
- "copy special" is currently enabled only for data view mode; what about allowing it to enable in design view for "kexi/table" ?
- Member KexiMainWindowImpl::openProject (const QString &aFileName, KexiDB::ConnectionData *cdata, const QString &dbName=QStringnull)
- caption arg?
- Member KexiMainWindowImpl::openProject (const KexiProjectData &projectData)
- temp.: change this if there are file-based drivers requiring a password
- Member KexiMainWindowImpl::openProjectInExternalKexiInstance (const QString &aFileName, const QString &fileNameForConnectionData, const QString &dbName)
- use KRun
- Member KexiMainWindowImpl::pageSetupForItem (KexiPart::Item *item)
- : check if changes to this object's design are saved, if not: ask for saving
: accept row changes...
- Member KexiMainWindowImpl::printItem (KexiPart::Item *item, const KexiSimplePrintingSettings &settings, const QString &titleText=QStringnull)
- : check if changes to this object's design are saved, if not: ask for saving
: accept row changes...
- Member KexiMainWindowImpl::printPreviewForItem (KexiPart::Item *item, const KexiSimplePrintingSettings &settings, const QString &titleText=QStringnull, bool reload=false)
- : check if changes to this object's design are saved, if not: ask for saving
: accept row changes...
- Member KexiMainWindowImpl::slotProjectNew ()
- use KProcess?
- Member KexiMigration::KexiMigrate::data () const
- Remove this! KexiMigrate should be usable for multiple concurrent migrations!
- Member KexiMigration::KexiMigrate::performExport (Kexi::ObjectStatus *result=0)
- performExport
- Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
- what if these two tables are not compatible with tables created in detination db because newer db format was used?
- Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
- copy kexi__db contents!
- Member KexiMigration::KexiMigrate::performImport (Kexi::ObjectStatus *result=0)
- this is not portable to non-SQL target engines!
- Member KexiMigration::KexiMigrate::propertyCaption (const QCString &propName) const
- This is copied from KexiDB::Driver. One day it will be merged with KexiDB.
- Member KexiMigration::KexiMigrate::propertyNames () const
- This is copied from KexiDB::Driver. One day it will be merged with KexiDB.
- Member KexiMigration::KexiMigrate::propertyValue (const QCString &propName)
- This is copied from KexiDB::Driver. One day it will be merged with KexiDB.
- Member KexiMigration::KexiMigrate::setData (KexiMigration::Data *migrateData)
- Remove this! KexiMigrate should be usable for multiple concurrent migrations!
- Member KexiMigration::KexiMigrate::setPropertyValue (const QCString &propName, const QVariant &value)
- This is copied from KexiDB::Driver. One day it will be merged with KexiDB.
- Member KexiMigration::KexiMigrate::userType (const QString &fname)
- user should be asked ONCE using a convenient wizard's page, not a popup dialog
- Member KexiMigration::KexiMigrate::userType (const QString &fname)
- use QMap<QCString, KexiDB::Field::Type> here!
- Member KexiMigration::KexiMigrate::m_migrateData
- Remove this! KexiMigrate should be usable for multiple concurrent migrations!
- Member KexiProject::KexiProject (KexiProjectData *pdata, KexiDB::MessageHandler *handler=0)
- partmanager is outside project, so can be initialised just once:
- Member KexiProject::KexiProject (KexiProjectData *pdata, KexiDB::MessageHandler *handler, KexiDB::Connection *conn)
- partmanager is outside project, so can be initialised just once:
- Member KexiProject::create (bool forceOverwrite=false)
- put more props. todo - creator, created date, etc. (also to KexiProjectData)
- Member KexiProject::createBlankProject (bool &cancelled, KexiProjectData *data, KexiDB::MessageHandler *handler=0)
- move to KexiMessageHandler
- Member KexiProject::createConnection ()
- won't work for subsequent connection
- Member KexiProject::createInternalStructures (bool insideTransaction)
- what about read-only db access?
- Member KexiProject::createInternalStructures (bool insideTransaction)
- version differs: should we change something?
- Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
- what about query?
- Member KexiQueryDesignerGuiEditor::buildSchema (QString *errMsg=0)
- what about query?
- Member KexiQueryDesignerGuiEditor::createPropertySet (int row, const QString &tableName, const QString &fieldName, bool newOne=false)
- add table_field icon (add buff->addProperty(prop = new KexiProperty("this:iconName", "table_field") );
- Member KexiQueryDesignerGuiEditor::parseExpressionString (const QString &fullString, int &token, bool allowRelationalOperator)
- this is primitive, temporary: reuse SQL parser
- Member KexiQueryDesignerGuiEditor::parseExpressionString (const QString &fullString, int &token, bool allowRelationalOperator)
- what about query?
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- : now only sigle-field relationships are implemented!
what about multifield joins?
set["alias"].setValue(columnAlias, false);
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- move this check to parser on QuerySchema creation or to QuerySchema creation (WHERE expression should be then simplified by removing joins
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- testing primary key here is too simplified; maybe look ar isForeignKey() or indices..
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- addConnection() should have "bool oneToOne" arg, for 1-to-1 relations
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- fix for !INFIX operators
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- what about ALIAS?
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- fix for !INFIX operators
- Member KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal (KexiDB::QuerySchema *query, bool showFields, bool showRelations)
- if (!columnAlias.isEmpty())
- Member KexiQueryDesignerGuiEditor::storeLayout ()
- what about query?
- Member KexiQueryDesignerGuiEditor::updateColumnsData ()
- what about query?
- Member KexiRelationView::addConnection (const SourceConnection &_conn)
- what about query?
- Member KexiRelationView::addConnection (const SourceConnection &_conn)
- what about query?
- Member KexiRelationView::addTable (KexiDB::TableSchema *t, const QRect &rect=QRect())
- what about query?
- Member KexiRelationView::containerMoved (KexiRelationViewTableContainer *c)
- optimize
- Member KexiRelationView::containerMoved (KexiRelationViewTableContainer *c)
- optimize!
- Member KexiRelationView::hideAllTablesExcept (KexiDB::TableSchema::List *tables)
- what about queries?
- Member KexiRelationView::hideTable (KexiRelationViewTableContainer *tableView)
- what about query?
- Member KexiRelationViewConnection::drawConnection (QPainter *p)
- details char can be also just a '1' for some cases
- Member KexiRelationViewConnection::toString () const
- what about query?
- Member KexiRelationViewTable::sizeHint ()
- width is still not OK
- Member KexiRelationWidget::aboutToShowPopupMenu ()
- what about query?
- Member KexiRelationWidget::designSelectedTable ()
- what about query?
- Member KexiRelationWidget::objectCreated (const QCString &mime, const QCString &name)
- query?
- Member KexiRelationWidget::objectDeleted (const QCString &mime, const QCString &name)
- query?
- Member KexiRelationWidget::objectRenamed (const QCString &mime, const QCString &name, const QCString &newName)
- query?
- Member KexiRelationWidget::openSelectedTable ()
- what about query?
- Member KexiReportFactory::createMenuActions (const QCString &classname, QWidget *w, QPopupMenu *menu, KFormDesigner::Container *container)
- use KAction
- Member KexiReportView::KexiReportView (KexiMainWindow *win, QWidget *parent, const char *name, KexiDB::Connection *conn)
- skip this if ther're no borders
- Member KexiScriptEditor::initialize (Kross::Api::ScriptAction *scriptaction)
- remove after release
- Member KexiScrollView::KexiScrollView (QWidget *parent, bool preview)
- allow to hide navigator
- Member KexiSimplePrintingCommand::print (const QString &aTitleText=QStringnull)
- item not found
- Member KexiSimplePrintingCommand::print (const QString &aTitleText=QStringnull)
- get printer.pageOrder() (for reversed order requires improved engine)
- Member KexiSimplePrintingCommand::print (const QString &aTitleText=QStringnull)
- msg
- Member KexiSimplePrintingCommand::print (const QString &aTitleText=QStringnull)
- also look at printer.pageSet() option : all/odd/even pages
- Member KexiSimplePrintingCommand::showPrintPreview (const KexiSimplePrintingSettings &settings, const QString &aTitleText=QStringnull, bool reload=false)
- item not found
- Member KexiSimplePrintingCommand::showPrintPreview (const KexiSimplePrintingSettings &settings, const QString &aTitleText=QStringnull, bool reload=false)
- progress bar...
- Member KexiSimplePrintingEngine::init (KexiDB::Connection &conn, KexiDB::TableOrQuerySchema &tableOrQuery, const QString &titleText, QString &errorMessage)
- primitive: data should be loaded on demand
- Member KexiSimplePrintingEngine::paintPage (int pageNumber, QPainter &painter, bool paint=true)
- add setting
- Member KexiSimplePrintingEngine::paintPage (int pageNumber, QPainter &painter, bool paint=true)
- break large records anyway...
- Member KexiSimplePrintingPageSetup::KexiSimplePrintingPageSetup (KexiMainWindow *mainWin, QWidget *parent, QMap< QString, QString > *args)
- default?
- Member KexiSimplePrintingSettings::load ()
- system default?
- Member KexiSimplePrintPreviewWindow::KexiSimplePrintPreviewWindow (KexiSimplePrintingEngine &engine, const QString &previewName, QWidget *parent, WFlags f=0)
- unfinished
- Member KexiSimplePrintPreviewWindow::KexiSimplePrintPreviewWindow (KexiSimplePrintingEngine &engine, const QString &previewName, QWidget *parent, WFlags f=0)
- progress bar...
- Member KexiStartupHandler::detectActionForFile (KexiStartupData::Import &detectedImportAction, QString &detectedDriverName, const QString &_suggestedDriverName, const QString &dbFileName, QWidget *parent=0, int options=0)
- rather check this using migration drivers' X-KexiSupportedMimeTypes [strlist] property
- Member KexiStartupHandler::detectActionForFile (KexiStartupData::Import &detectedImportAction, QString &detectedDriverName, const QString &_suggestedDriverName, const QString &dbFileName, QWidget *parent=0, int options=0)
- if file is ro: change project mode (but do not care if we're jsut importing)
- Member KexiStartupHandler::init (int argc, char **argv)
- Show error message from KexiDBConnShortcutFile when there's one implemented. For we're displaying generic error msg.
- Member KexiStartupHandler::init (int argc, char **argv)
- - templates: m_action = UseTemplate;
- Member KexiStartupHandler::init (int argc, char **argv)
- Member KexiStatusBar::KexiStatusBar (QWidget *parent=0, const char *name=0)
- remove parts from the map on PartRemoved() ?
- Member KexiTableView::adjustColumnWidthToContents (int colNum=-1)
- js: this is NOT EFFECTIVE for big data sets!!!!
- Member KexiTableView::keyPressEvent (QKeyEvent *)
- add option for stopping at 1st column for Key_left
- Member KexiTableView::keyPressEvent (QKeyEvent *)
- add option for stopping at last column
- Member KexiTableView::setAppearance (const Appearance &a)
- is setMouseTracking useful for other purposes?
- Member KexiTableViewData::autoIncrementedColumn ()
- what about multiple autoinc columns?
what about changing column order?
- Member KexiTableViewData::preloadAllRows ()
- change to bool and return false on error!
- Member KexiTableViewData::saveRow (KexiTableItem &item, bool insert, bool repaint)
- set m_result.column if possible
- Member KexiTimeFormatter::~KexiTimeFormatter ()
- KexiDateFormatter(... settings ...);
- Member KexiTimeTableEdit::KexiTimeTableEdit (KexiTableViewColumn &column, QScrollView *parent=0)
- add QValidator so time like "99:88:77" cannot be even entered
- Member KexiTimeTableEdit::setValueInternal (const QVariant &add, bool removeOld)
- cut string if too long..
- Member KexiMigration::MigrateManager::possibleProblemsInfoMsg () const
- copied from KexiDB::DriverManager, merge it.
- Member KexiDB::MySqlCursor::rowData () const
- Member KexiDB::MySqlCursor::storeCurrentRow (RowData &data) const
- js: use MYSQL_FIELD::type here! see SQLiteCursor::storeCurrentRow()
look at what type mysql declares!
- Member KexiDB::MySqlCursor::storeCurrentRow (RowData &data) const
- more types!
- Member KexiDB::MySqlCursor::value (uint)
- js: use MYSQL_FIELD::type here!
- Member KexiDB::MySqlDriver::escapeString (const QCString &str) const
- optimize using mysql_real_escape_string()? see http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html
- Member KexiDB::MySqlDriver::escapeString (const QString &str) const
- support more characters, like %, _
- Member KexiDB::MySqlDriver::escapeString (const QString &str) const
- move new_string to Driver::m_new_string or so...
- Member KexiMigration::MySQLMigrate::drv_copyTable (const QString &srcTable, KexiDB::Connection *destConn, KexiDB::TableSchema *dstTable)
- Check that wasn't an error, rather than end of result set
- Member KexiMigration::MySQLMigrate::drv_getTableSize (const QString &table, Q_ULLONG &size)
- check result valid
- Member KexiMigration::MySQLMigrate::getConstraints (int mysqlConstraints, KexiDB::Field *fld)
- : Keys and uniqueness
- Member KexiMigration::MySQLMigrate::type (const QString &table, const MYSQL_FIELD *t)
- : Support set column type
- Class KexiMigration::OptionsDialog
- Hardcoded. Move such code to KexiMigrate drivers.
- Member KexiPart::Part::action (const QString &actionuri, QObject *object=0)
- THIS IS EXPERIMENTAL STUFF and used only on the ScriptPart-plugin.
- Member KexiPart::Part::instanceCaption () const
- move this to Info class when the name could be moved as localized property to service's .desktop file.
- Member KexiPart::Part::instanceName () const
- move this to Info class when the name could be moved as localized property to service's .desktop file.
- Member KexiPart::Part::openInstance (KexiMainWindow *win, KexiPart::Item &item, int viewMode=KexiDataViewMode, QMap< QString, QString > *staticObjectArgs=0)
- js: apply settings for caption displaying method; there can be option for
- displaying item.caption() as caption, if not empty, without instanceName
- displaying the same as above in tabCaption (or not)
- Member KexiPart::Part::openInstance (KexiMainWindow *win, KexiPart::Item &item, int viewMode=KexiDataViewMode, QMap< QString, QString > *staticObjectArgs=0)
- use message handler for this to enable non-gui apps
- Member KexiDB::pqxxSqlConnection::drv_commitTransaction (TransactionData *)
- Member KexiDB::pqxxSqlCursor::drv_clearServerResult ()
- pqxxSqlCursor: stuff with server results
- Member KexiDB::pqxxSqlCursor::drv_open ()
- this check should be moved to Connection! when drv_prepareQuery() arrive
- Member KexiDB::pqxxSqlDriver::pqxxSqlDriver (QObject *parent, const char *name, const QStringList &args=QStringList())
- enable this when kexidb supports multiple: d->features = MultipleTransactions | CursorForward | CursorBackward;
- Member KexiDB::PreparedStatement::generateStatementString ()
- is this portable across backends?
- Member KexiDB::PreparedStatement::generateStatementString ()
- only tables and trivial queries supported for select...
- Member KexiDB::PreparedStatement::generateStatementString ()
- only tables supported for insert; what about views?
- Member KexiDB::QuerySchema::addToWhereExpression (KexiDB::Field *field, const QVariant &value, int relation= '=')
- date, time
- Member KexiDB::QuerySchema::computeFieldsExpanded ()
- (js): perhaps not all fields should be appended here
- Member KexiDB::QuerySchema::fieldsExpanded (bool unique=false)
- js: UPDATE CACHE!
- Member KexiDB::QuerySchema::fieldsOrder ()
- js: UPDATE CACHE!
- Member KexiDB::QuerySchema::pkeyFieldsOrder ()
- js: UPDATE CACHE!
- Member KexiDB::QuerySchema::setOrderByColumnList (const QString &column1, const QString &column2=QStringnull, const QString &column3=QStringnull, const QString &column4=QStringnull, const QString &column5=QStringnull)
- implement this, like above
add ORDER BY info to debugString()
- Member KexiDB::QuerySchema::setOrderByColumnList (const QStringList &columnNames)
- implement this:
- Member KexiDB::SQLitePreparedStatement::SQLitePreparedStatement (StatementType type, ConnectionInternal &conn, FieldList &fields)
- Member KexiDB::SQLitePreparedStatement::execute ()
- Member StdWidgetFactory::StdWidgetFactory (QObject *parent, const char *name, const QStringList &args)
- Qt designer compatibility: maybe use this class when QLabel has a pixmap set...?
- Member StdWidgetFactory::isPropertyVisibleInternal (const QCString &classname, QWidget *w, const QCString &property, bool isTopLevel)
- reenable autoDefault / default if the top level window is dialog...
- Class TableViewHeader
- react on indexChange ( int section, int fromIndex, int toIndex ) signal
- Member KFormDesigner::WidgetLibrary::loadFactories ()
- improve
- Member KFormDesigner::WidgetPropertySet::createPropertiesForWidget (QWidget *w)
- add another list for property description
- Member KFormDesigner::WidgetPropertySet::createPropertiesForWidget (QWidget *w)
- change i18n
- Member KFormDesigner::WidgetPropertySet::initPropertiesDescription ()
- perhaps a few of them shouldn't be translated within KFD mode, to be more Qt Designer friendly?
- Member KFormDesigner::WidgetPropertySet::isNameValid (const QString &name)
- add to undo buffer
- Member KFormDesigner::WidgetPropertySet::saveEnabledProperty (bool value)
- make it support undo
- Member KFormDesigner::WidgetPropertySet::updatePropertyValue (ObjectTreeItem *tree, const char *property)
- what about set properties, and lists properties
- Member KexiDB::rowCount (KexiDB::QuerySchema &querySchema)
- does not work with non-SQL data sources
- Member KexiDB::rowCount (const TableSchema &tableSchema)
- does not work with non-SQL data sources
- Member KexiDB::rowCount (const TableSchema &tableSchema)
- perhaps use Q_ULLONG here?