Development Plan
From BibleTime
This is the developer's worksheet to organize development cycles. Nothing is fixed here, items can be moved by consensus to an earlier/later release.
We want to follow the guideline: release early, release often.
Contents |
Next release: BibleTime 1.7
Open bugs
UI strings [Eeli]
When the application is tested before the release all strings should be read with care. Are there any places where a new tooltip could help users? Are the strings good English (could some native speaker help here, please?). Find missing or bad window titles (should be fixed already, but who knows).
Eelik 16:14, 23 May 2008 (UTC)
Bookshelf Manager: New code, new bugs? Need testing...
There have been quite many changes while writing the new module list update signal/slot mechanism, plus the Qt4.4 and the whole system update for me. I have struggled with many new/old problems and there will certainly be even more. For example cancelling a single module didn't work - I guess due to Qt update - so I changed it to not to wait indefinitely. Please, try to test all situations which have been tested before and possibly more.
Probably the best way to start testing is to clean up the whole system of all BibleTime and Sword related stuff and start from scratch. No modules, no distro packages, no conf files etc. That already revealed some new bugs for me. Eelik 11:11, 12 May 2008 (UTC)
Bookmarks can not be moved/copied [Eeli, before the next release]
This is part of the DnD framework. See CBookmarkIndex::dropEvent.
- With 1.6.5 only copying was possible, I think it was the default behaviour with the existing Qt d'n'd techniques. Moving was possible by deleting items afterwards. Only bookmark items could be moved, not folders. If both were selected they weren't dragged at all.
- What is the behaviour we want now? What would be the logic if we want to move/copy arbitrarily selected folders and bookmarks? What would users want/need here? I have not used the bookmarks myself, I cannot say. Eelik 14:01, 21 November 2007 (CET)
- Konqueror file manager works like this: every individually selected item will be a toplevel item when moved/copied. Each selected folder includes all its sub-items. If both a folder and a sub-item are selected they both will be toplevel items and and the sub-item will be there twice, in toplevel and inside the folder. If this is the default behaviour of QTreeWidget it is good enough. I would also like to add a destination popup menu with move/copy items. Eelik 19:34, 14 December 2007 (CET)
- sounds good. What do you think, do we need this for 1.7 or could this wait? --mgruner
- Sophisticated solutions can wait, only some way to move/copy is needed.
- Creating, opening and using a popup menu is actually very easy, I think I will implement it. Moving is just copying+deleting, so the copying algorithm is the important one, though there are some special cases (tree can be copied into itself but not moved). Also new place indicator is important, or at least deciding where exactly (before, after, first, last...) the destination is.
- Konqueror file manager works like this: every individually selected item will be a toplevel item when moved/copied. Each selected folder includes all its sub-items. If both a folder and a sub-item are selected they both will be toplevel items and and the sub-item will be there twice, in toplevel and inside the folder. If this is the default behaviour of QTreeWidget it is good enough. I would also like to add a destination popup menu with move/copy items. Eelik 19:34, 14 December 2007 (CET)
Eelik 15:46, 24 May 2008 (UTC)
Correct initial sizing of search dialog
When BT starts without a config, the search dialog is far too narrow.
Closed bugs, to be verified
Closed bugs, to be deleted soon
Future release: BibleTime 1.7.1
Search analysis
Crashes. Disabled for now.
Icons
(It's easier to handle all icons under the same header though they are in different places in UI and code.)
There are some icons missing. Add here the ones you notice.
- All KIcon instances must be ported to QIcon and DirectoryUtil::getIcon(). Probably done where possible, the rest will be done when the rest of the KDE UI is ported to Qt. KStandardAction uses KDE icons and we have to add those icons when it's ported. We will also loose all standard button icons - should they be added back?
- Display window RMB menu copy, save, print (this is KAction & KIcon?)
- No, this one was just a bug: missing getIcon(). Fixed. Eelik 17:25, 23 May 2008 (UTC)
Unless new missing icons are found these will be fixed later. Eelik 16:10, 23 May 2008 (UTC)
Drag and Drop [Eeli]
Drag and drop works in some places:
- Verse numbers and crossreferences can be dragged to a display window from a display window, mag window and search preview window
- Verse numbers and crossreferences can be dragged to the bookmarks index
It doesn't work in some places:
- Verse numbers or references can't be dropped into the bookshelf index to open a work though the index claims it accepts drops (fixed temporarily by not accepting drops - not very important, LATER)
- References can't be dragged from the Search dialog result verse list (FIXME before the next release!) DONE
- Are there other situations where we need DnD? I think I tested systemwide DnD once, it would be nice to be able to drag into other apps, but it's not urgent. (Dragging from display window to other apps is now implemented - very easy.) Eelik 20:47, 24 May 2008 (UTC)
Later releases
Main index does not save all settings
Saving/restoring the opened folders when restarting is not a good idea in my opinion (Jeremy agreed). All other settings are now saved/restored. Keeping the folders open after hiding/showing modules would be good but needs some code - basically it's the same logic when saving/restoring. Eelik 12:57, 11 January 2008 (CET)
Config dialog: Key bindings
I ported the main window to QMainWindow, and the menu items KAction -> QAction. The menu layout is now static. I'd suggest that we remove hotkey configuration for now and concentrate on other important items. After we ported all KActions to QAction we can think about this task again -- if we need it and how it could be done. Of course, suggestions are welcome, as always. --mgruner
Bookmark index toplevel folder should be removed
The bookmark index toplevel folder is a fossil from the 1.6-age. It should be removed. Eelik 02:53, 10 January 2008 (CET)
- This is very complicated. The bookmarks code should be rewritten from scratch (except for saving and loading). "Old bookmarks" is one specific problem. Eelik 13:34, 10 January 2008 (CET)
- Is this a bug or refactoring? If the latter, it should be moved to the refactoring page. --mgruner
- So-so, it's hard to say about a new feature if inferior behaviour is a bug or just a need for enhancement. I would say it's the former because the folder would have been completely unnecessary and would not have been there if the feature would have been coded from scratch. Eelik 09:29, 3 February 2008 (CET)
Refreshing can't be cancelled [can wait]
Cancel in Refresh Source dialog does nothing. Cancelling was meant for situations when the network connection is broken or the source is misconfigured. The Sword library can't test the connection so it just hangs and the whole app hangs. Possible cure: use threads, again. Eelik 16:08, 23 May 2008 (UTC)
Removing a module while it is indexed crashes [Eeli]
This is not a surprise, but removing a module while it is being indexed causes crash. Indexing is (and has been) kind of a background job but it allows deleting the module simultaneously. I don't know if anyone will every do that and if it's worth fixing. Eelik 22:55, 22 March 2008 (CET)
After testing the new module list change notification with the indexing dialog it became clear that this is difficult to implement without threaded indexing. Therefore I will implement this with threads later. (Threads give also real responsive concurrent UI - otherwise threads would not be worth it.) Eelik 12:53, 23 May 2008 (UTC)
Bugs pending to be fixed by Qt/Trolltech
Display window handling
With several windows maximizing + restoring restores the maximized window to a wrong position, always top left. Same thing with opening a new window: it's always top left, re-ordering the previous windows. Eelik 15:28, 30 March 2008 (CEST)
- This is a bug in QT. Qt 4.4 will contain the functions needed to realize the correct behaviour. --mgruner
- Bug still present in Qt 4.4. Submitted a report. --mgruner
- TT reported this to be fixed, should appear in QT 4.5. --mgruner
- Bug still present in Qt 4.4. Submitted a report. --mgruner
