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