Development Plan

From BibleTime
Revision as of 07:52, 15 July 2011 by Kalemas (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Next release: BibleTime 2.9

See also: Release Schedules/2.9

Open ToDos

Bookshelf manager

  • Refactor the indexing page to use the new bookshelf model (likely by using BtBookshelfWidget). -- jotik 22:02, 24 November 2010 (UTC)
    • DEPENDS ON: The whole UI concept of the indexing page should be redesigned. Ideas needed.
    • If still present, the following old bug will also be fixed:
      • 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)

About dialog

  • Give credit to the people who created the icons. -- jotik 22:02, 24 November 2010 (UTC)

Search Dialog

  • Rewrite the whole search dialog to accommodate the bookshelf model. -- jotik 22:02, 24 November 2010 (UTC)

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)

  • I will research whether this can be easily implemented. --jotik 22:02, 24 November 2010 (UTC)

Optimize HTML/CSS [martin]

  • Improve display without linebreaks (inline divs, correct outlines)
  • Improve HTML/CSS structure
  • Improve debugging facilities

Search Dialog [?]

  • Enable context menus on verse references like in the main window.

Installing a work for a default work isn't reflected in display windows [?]

If there's e.g. no Bible installed for a default Bible to exist or Strong's dictionary, the footnotes or Strongs' don't show up in Mag. If I install one, it will automatically be shown in the Config dialog Standard works. However, that change is not reflected in the main window. I have to apply the changes in the Config dialog for them to take effect. This will probably lead some users to quit and restart the app. Eelik 22:16, 26 March 2009 (UTC)

Main window

  • Add text to the icons in the main toolbar (next to them). Make Icons larger.

Refresh all respositories

Refresh all respositories in the bookshelf manager. Feature Request 2969485

Future release: BibleTime 2.x

Support user-defined tools

Allow users to configure and use custom tools. Currently, for more information, see this thread. Brainstorming ideas:

Bookshelf model

Everything even remotely using QTreeWidget, QTreeWidgetItem's and will be rewritten, mostly for the purpose of code cleanup. They all will then use the new bookshelf model, which will simplify code management in the future.

Perhaps I will have the time to do all this in the summer. -- jotik
there is cool widget that supports list/tree models, but it is oriented for mobile devices. Any way have a look on it: Mini Branch/src/frontend-mini/view/btminiview.h --Kalemas 02:52, 15 July 2011 (CDT)

Module chooser bar/buttons

File:BtModuleChooserBar 2.6.png
Module chooser toolbar in BibleTime 2.6
  • Refactor the module chooser buttons to use the new bookshelf model (using BtMenuView).
    • MIGHT DEPEND ON: CDisplayWindow and related classes using CSwordModuleInfo* pointers (e.g. a bookshelf model) instead of a QStringList of module names.
      • DEPENDS ON: Removal CSwordBackend::reload() and related signals which reload the whole backend. We should use the bookshelf model instead.
  • DEPENDS ON: New module chooser bar widget. Should probably be similar to the old module chooser bar widget (BtModuleChooserBar).
    • Constructor signature should be something like BtModuleChooserBar(QWidget *parent = 0);
    • Must use an external BtBookshelfModel for the list of open modules (CSwordModuleInfo).
      • Must react to changes in the external model (insertion, removal, change of data)
      • Must have a setModel(BtBookshelfModel *) method.
    • Must use BtMenuView for the button menus.
    • Should probably provide the following signals:
      • signalModuleAdded(int index, CSwordModuleInfo *module);
      • signalModuleRemoved(int index, CSwordModuleInfo *module);
      • signalModuleReplaced(int index, CSwordModuleInfo *oldModule, CSwordModuleInfo *newModule);

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.

  • Display window RMB menu copy, save, print (former KStandardActions) Eelik 19:45, 25 February 2009 (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)

Search dock / panel

The main window could have a dock widget or a panel to replace the search dialog.

Find panel

Display windows could have a find panel instead a dialog like most current web-browsers do.

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)

Replace FTP transport layer [Eeli]

Sword's FTP transport turned out to be not threadsafe. Eeli is working on a QFtp based, thread safe replacement.

  • This will wait until I have more free time. The current implementation works well enough. Eelik 19:42, 25 February 2009 (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
      • Has this been verified? Eelik 17:42, 16 March 2009 (UTC)
        • Still buggy in 4.5. =( --mgruner
          • Where is the upstream bug report? --jotik 19:17, 18 September 2010 (UTC)