Tim, anyone,
It would be nice to have a troubleshooting 'cheat sheet' to use to solve TQwhatever not declared failures when they are encountered. I can read c++, I know what constructors are, what destructors are, what public and private members are, etc.., but with a project the size of TDE, with the multiple levels of submodule inclusion through the git tree, my eyes glaze over trying to chase down where the declaration problems are when they are encountered.
Case-in-point, tdeadmin. I ran into a build failure cause by 'TQListViewItem' has not been declared:
In file included from knetworkconfdlg.cpp:11:0: knetworkconfdlg.h:142:40: error: 'TQListViewItem' has not been declared In file included from knetworkconfdlg.cpp:31:0: ./knetworkconfdlg.ui.h:153:6: error: prototype for 'void KNetworkConfDlg::updateProfileNameSlot(TQListViewItem*)' does not match any in class 'KNetworkConfDlg' knetworkconfdlg.h:142:18: error: candidates are: virtual void KNetworkConfDlg::updateProfileNameSlot(int*) ./knetworkconfdlg.ui.h:147:6: error: virtual void KNetworkConfDlg::updateProfileNameSlot() In file included from knetworkconfdlg.cpp:688:0: knetworkconfdlg.moc: In member function 'virtual bool KNetworkConfDlg::tqt_invoke(int, TQUObject*)': knetworkconfdlg.moc:171:80: error: no matching function for call to 'KNetworkConfDlg::updateProfileNameSlot(TQListViewItem*)' knetworkconfdlg.moc:171:80: note: candidates are: ./knetworkconfdlg.ui.h:147:6: note: virtual void KNetworkConfDlg::updateProfileNameSlot() ./knetworkconfdlg.ui.h:147:6: note: candidate expects 0 arguments, 1 provided knetworkconfdlg.h:142:18: note: virtual void KNetworkConfDlg::updateProfileNameSlot(int*) knetworkconfdlg.h:142:18: note: no known conversion for argument 1 from 'TQListViewItem*' to 'int*'
If I knew where to start, then I wouldn't mind trying to figure out where to fix the declaration error. But not knowing whether I just start grepping within tdeadmin for TQListViewItem or whether I need to start in tqtinterface or what, I'm somewhat left chasing my tail. I don't know if it is possible, but I know it would help me and others if there was something like:
TQString objects are type ...... TQListViewItem objects are type .....
To fix TQxzy declaration issues:
(1) grep for '___________' in ___________; (2) if declare ___________ found then (3) ___________; else (4) then grep in ______________; (5) if declare ____________ found then ...........
Just some simple decision tree would go a long way to get everyone involved in helping with these issues and also provide a valuable tool that would help cut down bug squashing time even if the person can't solve it by being able to say 'I got to step 8 in troubleshooting and 1-7 are fine, but I can't figure out what to do next...'
Worth a thought. If somebody else can help here, please jump in.