michael@1: *************************************** michael@1: * * michael@1: * TODO: OSSP titraq Specification * michael@1: * * michael@1: *************************************** michael@1: michael@1: Must do michael@1: ------- michael@1: Q_CHECK_PTR michael@1: public/private michael@1: Ensure rethrows from second loadData on upwards michael@1: Report errors in all slot code michael@1: Rework error handling in prefs michael@1: Generally maintain Preference class michael@1: Implement missing interface methods michael@1: Review destruction of all members, compare with setupPrefs michael@1: Some menus are defined QPopupMenu in header, some in code michael@1: Memory optimization needed in tidataops michael@1: Check all identifiers for undeutig unique scope michael@1: Remove magic numbers from cpp files to titconst like TITRAQ_INDEXREMARK michael@1: Some signals implemented in Titraqform really belong in satellite classes michael@1: Write M4 macro for detecting cuserid, and prefer it in ac_assist michael@1: configure soll ueberpruefen ob libqt[-mt] threads braucht, michael@1: dann wenn so, soll den LIBS -pthread hardgecodet haben michael@1: Read config location from optional --confgen autoconf location michael@1: IDs in as_const.h much better choosing, so they make sense michael@1: Be consistent with szQString vs QString var names michael@1: After every result write a status bar message michael@1: On multiple selection, no text should appear in edit ctrls michael@1: Make consistent setEdition(), setDirty() default parameters michael@1: Use namespace 'AS' or unique identifier 'AS' for all classnames michael@1: Unify class mycl = class(), class mycl(), class *pMycl, auto_ptr michael@1: Win32 code in User class is only half written, and incomplete homedir michael@1: Verify routine consistently scans all fields on load and new entries michael@1: Remove all exception raises from slot code michael@1: New doc, new entry, change text in table, close... No verify save! michael@1: Might not need classes Amount and Tableitem at all michael@1: Mach mal mit den 'autobackup' und 'fextension' Optionen von prefs michael@1: Check for outdated config file version michael@1: Make status bar message, qWarning, qDebug, and Popup messages consistent michael@1: For which purposes do messages go in each category? michael@1: Label methods and parameters throughout as const ... const, use & michael@1: Yank out all #include from headers, replace with class ...; protos michael@1: Check for empty amount field in getWeektotals before Hashtasks[Convstring] += michael@1: Accountlistbox is sorted both in assist and dataops with maps michael@1: Verify that unviewable rows are not redrawn cerr << "Rownum" << nRow << endl; michael@1: Also, use bool QTable::isRowHidden (int nRow) const michael@1: Don't raise the question 'Save before quitting' when no contents were changed michael@1: michael@1: Bugs (? = unverified) michael@1: --------------------- michael@1: Overidden paintCell() might not work when called asynchronously? michael@1: Sometimes a click on add or delete toolbar button is ignored? michael@1: When multiple new rows are added sometimes wrong row shading? michael@1: When sorting rows, sometimes a false extra highlight appears michael@1: Disabled actions still show enabled icons in menu popups michael@1: Pressing escape on task data cells does not exit edit mode michael@1: On win32, all or some file reads and writes probably need IO_Translate? michael@1: Method saveData(stream) must write to a new file, otherwise writes data pattern michael@1: CRCs are being generated before parsing of "" is finished? michael@1: Double click on column separator is broken again michael@1: Zeitabzug moeglicherweise falsch wenn 23:00-01:00=? michael@1: Statustext soll nicht neben Pixmaps erscheinen michael@1: Loesch mal alle Text vom Task Editctrl, dann drueck mal Obentaste michael@1: Memory leak in vector as_panel michael@1: Opendoc, schau amount unten Knopf (ist dimmed) michael@1: Reporting only works if event data is sorted by date michael@1: Press Return then Tab many times to see invalid selections michael@1: Does not enter edit mode for a cell when double click michael@1: Some versions (as.de.cw.net:/v/as-old/sw), double click to michael@1: edit a cell, add two characters, click X to close without michael@1: leaving the cell. It should ask to save doc, but doesn't. michael@1: michael@1: Nice to have michael@1: ------------ michael@1: Implement drag and drop selected row swapping michael@1: Implement an unlimited and generic undo and redo buffer class michael@1: Support pasting into as_gui from other app (like vim) michael@1: Add optional automatic file personal data file backup michael@1: Make edit control window optional through preferences michael@1: Add customizable column ordering by click and drag michael@1: Soll mehr intuitive, mit sekondaer/dritte Keycolumn michael@1: CRC und Rev sollen nicht in gleiche Methode berechnet michael@1: No need to have upd slots for non-changeable upd controls michael@1: Before openDoc, closeEvent should be used instead of new code michael@1: Align CRC field data to left edge of table items michael@1: Make Simplefile class non-Qt specific michael@1: Read and write karm format files with file extension detection michael@1: Offer general option 'Use vim keymap' michael@1: Text revisions michael@1: Title case, sentence case, or lower case michael@1: Past tense, third person, style, usage... michael@1: Make consistent when version is shown in titlebar of all dialogs michael@1: Runtime help system should not depend on installtime documentation michael@1: App should start even if no accounts file is found michael@1: Fully vimize all input widgets by subclassing them (w - back word) michael@1: Reload accountlist on startup, but reload during 'Open Doc' as well michael@1: Better file validation, instead of just single line validateData op michael@1: Freetext field, for copyright or some announcement (this data isn't michael@1: accurate enough for billing purposes). Field can be optionally michael@1: shown above main table, but always dimmed to avoid accidental edit. michael@1: Check for account list updates (checkbox), to allow a local user to michael@1: query a CORBA or SOAP server for a new account list via accessors: michael@1: U32 Account::getCrc(void) michael@1: Acctlist Account::getData(void) michael@1: Reimplement void QTable::swapRows, so that rows can be moved easily michael@1: Update edit controls only after return from TiTable::createEditor() michael@1: michael@1: Screwey user notes ;-) michael@1: ---------------------- michael@1: cs: 'd' should not delete at once but flag the record as deleted. Use '$' to sync (similar to mutt) michael@1: cs: first 'TAB' should complete (if possible), second 'TAB' should open selection box (similar to bash) michael@1: cs: line numberscould be referenced when entering accounts ala bash history ('!4' = record #4) michael@1: mlelstv: 24:00 muss als Valideintrag im Finishfeld erlaubt michael@1: thl: / should enable the user to search for something michael@1: thl: using = should force a recalculation for a time field michael@1: thl: using ~ should round a time field to the next quarter (configurable) michael@1: michael@1: Architectural michael@1: ------------- michael@1: Decouple form, preferences, and RPC classes michael@1: Remove common class behaviours (quitApp, close...) to abstract classes michael@1: michael@1: Win32 michael@1: ----- michael@1: Rework username, homedir, and confdaten (hive) logic michael@1: michael@1: Preferences michael@1: ----------- michael@1: