OSSP CVS Repository

ossp - Check-in [3522]
Not logged in
[Honeypot]  [Browse]  [Home]  [Login]  [Reports
[Search]  [Ticket]  [Timeline
  [Patchset]  [Tagging/Branching

Check-in Number: 3522
Date: 2003-Jul-29 20:20:31 (local)
2003-Jul-29 18:20:31 (UTC)
User:ms
Branch:
Comment: Remember to refresh the accountlist better.
Tickets:
Inspections:
Files:
ossp-pkg/as/as-gui/TODO      added-> 1.101

ossp-pkg/as/as-gui/TODO -> 1.101

*** /dev/null    Sat Nov 23 06:00:48 2024
--- -    Sat Nov 23 06:00:48 2024
***************
*** 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<class *>
+ 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<QRadioButton> 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
+ -----------
+ <option name wert>      Hintergrund Functionalitaet
+ <aspect name wert>      Sichtliche Functionalitaet
+ <session name wert>     Automatisch gespeicherte
+ <rule name expr cond>   Amount = Finish - Start (mussen alle da z.B.)
+ <alias name wert>       Nutzbar lange Taskzeilen zu abstrahieren
+ <macro name = 'Reuse'>
+   Selectiere aktuelle und 3 vorherige Reihen
+   Copy
+   Geh zu letzte Reihe
+   Paste
+ </macro name = 'Reuse'>
+ <macro name = 'Append'>
+   Geh zu letzte Reihe
+   Zufug Reihe
+ </macro name = 'Append'>
+ 
+ Code snippits
+ -------------
+ // Portable processes
+ QProcess *Proc;
+ Proc = new QProcess;
+ Proc->setArguments("/usr/local/bin/nada");
+ bool ok = Proc->start();
+ 
+ > Does anyone know how to set the WhatsThis text for a QPushButton?.
+ >
+ > Met vriendelijke groet
+ Use the static QWhatsThis::add()
+ 
+ Document
+ --------
+ Use doxygen for C++ interface documentation.
+ 
+ Project plan
+ ------------
+     Prototype
+     Release v0.8    Milestone 1, Alpha
+     Release v0.9    Milestone 2, Beta
+     Release v1.0    Milestone 3,
+     Release v1.2    Milestone 4,
+ 
+ Requirements
+ ------------
+ 
+ Deliverables
+ ------------
+     Binaries
+       titraq           Verwendung
+ 
+     Designdocs
+       titraq_design.ps Systemdiagramme
+ 
+     Manpage
+       titraq.1         Hauptinfo
+       titraq.conf.5    Beschreibung des Configdatei
+ 
+     Geliefert
+       titraq.conf      Ausgekommentet Beispieldatei
+ 
+ Pseudocode
+ ----------
+     initialize
+     parse command line
+     parse titraq.conf file
+     load titraq.dat file
+     show control window
+     wait for quit
+     save titraq.dat file
+     finish
+ 
+ Test case
+ ---------
+     Pre:
+     tar zxvf titraq-0.9.tar
+     cd titraq-0.9
+     ./configure
+     make
+     su
+     make install
+ 
+     Assume:
+     OS has Qt 3.0.6 or newer multithreaded library
+ 
+     Begin:
+     $ titraq
+ 
+     Output:
+     Post:
+     Procedure:
+ 
+ --- as-gui.html.orig   Wed Mar  5 20:48:10 2003
+ +++ as-gui.html        Wed Mar  5 20:47:58 2003
+ @@ -10,8 +10,8 @@
+  <p><a name="__index__"></a></p>
+  <!-- INDEX BEGIN -->
+  
+ +<h1><a name="top">AS-GUI</a></h1>
+  <ul>
+ -
+        <li><a href="#name">NAME</a></li>
+        <li><a href="#version">VERSION</a></li>
+        <li><a href="#synopsis">SYNOPSIS</a></li>
+ @@ -28,21 +28,18 @@
+  </ul>
+  <!-- INDEX END -->
+  
+ -<hr />
+ -<p>
+ -</p>
+ -<hr />
+ -<h1><a name="name">NAME</a></h1>
+ +<hr /><hr />
+ +<h2><a name="name">NAME</a></h2>
+  <p><strong>as-gui</strong> - accounting system graphical client</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="version">VERSION</a></h1>
+ -<p>as-gui ASGUI_VERSION_STR</p>
+ +<h2><a name="version">VERSION</a></h2>
+ +<p>as-gui 0.6.23 (05-Mar-2003)</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="synopsis">SYNOPSIS</a></h1>
+ +<h2><a name="synopsis">SYNOPSIS</a></h2>
+  <p><strong>as-gui</strong>
+  [<em>X11_options</em>]
+  [<em>Qt_options</em>]
+ @@ -50,7 +47,7 @@
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="description">DESCRIPTION</a></h1>
+ +<h2><a name="description">DESCRIPTION</a></h2>
+  <p>The <strong>as-gui</strong> application tracks the time a person spends on a number of
+  predefined tasks. This is the graphical client to the <strong>Accounting System</strong>
+  server (<strong>AS</strong>). Although the two can interact through means of interprocess
+ @@ -65,7 +62,7 @@
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="x11_options">X11 OPTIONS</a></h1>
+ +<h2><a name="x11_options">X11 OPTIONS</a></h2>
+  <p>The following <em>X11 options</em> are passed directly to the X11 subsystem, and
+  allow for the typical customization of a X11 application.</p>
+  <dl>
+ @@ -74,57 +71,57 @@
+  <dd>
+  Sets the X display (host:server.screen). The default value is $DISPLAY.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dgeometry_geometry"><strong>-geometry geometry</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the client geometry (width x height + xoffset + yoffset) of the main widget.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dfn_font%2c_%2dfont_font"><strong>-fn font</strong>, <strong>-font font</strong></a></strong><br />
+  </dt>
+  <dd>
+  Defines the application font. The font should be specified using a X logical
+  font description.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dbg_color%2c_%2dbackground_color"><strong>-bg color</strong>, <strong>-background color</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the default background color and an application palette (light and dark
+  shades are calculated).
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dfg_color%2c_%2dforeground_color"><strong>-fg color</strong>, <strong>-foreground color</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the default foreground color.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dbtn_color%2c_%2dbutton_color"><strong>-btn color</strong>, <strong>-button color</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the default button color.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dname_name"><strong>-name name</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the application name.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dtitle_title"><strong>-title title</strong></a></strong><br />
+  </dt>
+  <dd>
+  Sets the application title (caption).
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dvisual_truecolor"><strong>-visual TrueColor</strong></a></strong><br />
+  </dt>
+  <dd>
+  Forces the application to use a TrueColor visual on an 8-bit display.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dncols_count"><strong>-ncols count</strong></a></strong><br />
+  </dt>
+  <dd>
+ @@ -134,17 +131,17 @@
+  green, and 6 of blue). For other values, a cube approximately proportional to
+  a 2x3x1 cube is used.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dcmap"><strong>-cmap</strong></a></strong><br />
+  </dt>
+  <dd>
+  Causes the application to install a private color map on an 8-bit display.
+  </dd>
+ -<p></p></dl>
+ +<br></dl>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="qt_options">Qt OPTIONS</a></h1>
+ +<h2><a name="qt_options">Qt OPTIONS</a></h2>
+  <p>The following <em>Qt options</em> are used when rendering the graphics of the Qt
+  widget library. They are not compatible with other X11 or Win32 applications,
+  unless they were first linked with the Qt widget library.</p>
+ @@ -156,59 +153,59 @@
+  platinum. If you compiled Qt with additional styles or have additional styles
+  as plugins these will be available to the -style command line option.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dsession_session"><strong>-session session</strong></a></strong><br />
+  </dt>
+  <dd>
+  Restores the application from an earlier session.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_%2dwidgetcount"><strong>-widgetcount</strong></a></strong><br />
+  </dt>
+  <dd>
+  Prints debug message at the end about number of widgets left undestroyed and
+  maximum number of widgets existed at the same time.
+  </dd>
+ -<p></p></dl>
+ +<br></dl>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="environment">ENVIRONMENT</a></h1>
+ +<h2><a name="environment">ENVIRONMENT</a></h2>
+  <p><code>USER</code> The user name to use when accounting.</p>
+  <p><code>HOME</code> The full path of the user's home directory.</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="return_values">RETURN VALUES</a></h1>
+ +<h2><a name="return_values">RETURN VALUES</a></h2>
+  <p><code>0</code> The application exited sucessfully.</p>
+  <p><code>&gt;0 or &lt;0</code> At least one error ocurred.</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="examples">EXAMPLES</a></h1>
+ +<h2><a name="examples">EXAMPLES</a></h2>
+  <p>Try out some of these examples to customize <strong>as-gui</strong> from the command
+  line. Remember that options can be mixed.</p>
+ -<p>Initially editing the document 'figo.as':</p>
+ -<p>$ as-gui figo.as</p>
+ -<p>Showing lovely blue shades in most widgets:</p>
+ -<p>$ as-gui -bg lightblue -fg darkblue</p>
+ -<p>Starting with a title bar that reads 'Yours here':</p>
+ -<p>$ as-gui -title 'Yours here'</p>
+ -<p>Displaying graphics output on the host borchert:</p>
+ -<p>$ as-gui -display borchert:0.0</p>
+ -<p>A slim window slightly left of the top right corner:</p>
+ -<p>$ as-gui -geometry 761x347-120+0</p>
+ +<p>Initially editing the document 'figo.as':
+ +<br>&nbsp;&nbsp;&nbsp;&nbsp;$ as-gui figo.as</p>
+ +<p>Showing lovely blue shades in most widgets:
+ +<br>&nbsp;&nbsp;&nbsp;&nbsp;$ as-gui -bg lightblue -fg darkblue</p>
+ +<p>Starting with a title bar that reads 'Yours here':
+ +<br>&nbsp;&nbsp;&nbsp;&nbsp;$ as-gui -title 'Yours here'</p>
+ +<p>Displaying graphics output on the host borchert:
+ +<br>&nbsp;&nbsp;&nbsp;&nbsp;$ as-gui -display borchert:0.0</p>
+ +<p>A slim window slightly left of the top right corner:
+ +<br>&nbsp;&nbsp;&nbsp;&nbsp;$ as-gui -geometry 761x347-120+0</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="files">FILES</a></h1>
+ +<h2><a name="files">FILES</a></h2>
+  <dl>
+  <dt><strong><a name="item_%7e%2f%2eas%2dgui">~/.as-gui</a></strong><br />
+  </dt>
+  <dd>
+  User preferences file.
+  </dd>
+ -<p></p>
+ +<br>
+  <dt><strong><a name="item_as%2dgui%2ehtml">as-gui.html</a></strong><br />
+  </dt>
+  <dd>
+ @@ -218,7 +215,7 @@
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="bugs">BUGS</a></h1>
+ +<h2><a name="bugs">BUGS</a></h2>
+  <p>Sometimes a click on a widget (like a toolbar button) is seemingly ignored.</p>
+  <p>Consistent row shading is not always maintained. This means that the sharp
+  colour difference between one row and the next may not correctly follow the
+ @@ -232,14 +229,15 @@
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="see_also">SEE ALSO</a></h1>
+ +<h2><a name="see_also">SEE ALSO</a></h2>
+ +<p>as-gui(1)</p>
+  <p>as-gui.conf(5)</p>
+  <p>
+  </p>
+  <hr />
+ -<h1><a name="author">AUTHOR</a></h1>
+ +<h2><a name="author">AUTHOR</a></h2>
+  <p>Michael Schloh von Bennewitz
+ -(<a href="mailto:michael@schloh.com">michael@schloh.com</a>)</p>
+ +<br>michael@schloh.com</p>
+  
+  </body>

CVSTrac 2.0.1