BibleTime
Todo List
Member anonymous_namespace{btinforendering.cpp}::decodeAbbreviation (QString const &data)
Is "text" correct?
Member anonymous_namespace{btinforendering.cpp}::decodeMorph (QString const &data)

we can't tell here if it's a greek or hebrew moprh code, that's a problem we have to solve

: what if the module doesn't exist?

Member anonymous_namespace{cswordmoduleinfo.cpp}::retrieveCategory (CSwordModuleInfo::ModuleType const type, CSwordModuleInfo::Features const features, sword::SWModule &module)
Maybe we can use raw string comparsion instead of QString?
Namespace anonymous_namespace{main.cpp}
Reimplement signal handler which handles consecutive crashes.
Member anonymous_namespace{osistohtml.cpp}::renderReference (char const *const osisRef, sword::SWBuf &buf, sword::SWModule const &myModule, UserData const &myUserData)
Should we add something if there were no referenced module available?
Member BibleTime::deleteProfile (QAction *action)
Ask for confirmation
Member BibleTime::moduleUnlock (CSwordModuleInfo *module, QWidget *parent=nullptr)

refactor this module reload

Write a proper unlocking dialog with integrated error messages.

Member BibleTime::reloadProfile ()
For windows in failedWindows ask whether to keep the settings / close windows etc
Member BibleTime::slotSettingsOptions ()
update the bookmarks after Bible bookname language has been changed.
Member BibleTimeApp::initBackends ()
refactor this hack
Member BibleTimeApp::initBtConfig ()
Migrate from btConfigOldApi to BTCONFIG_API_VERSION
Member BtBookshelfDockWidget::BtBookshelfDockWidget (QWidget *parent=nullptr, Qt::WindowFlags f=Qt::WindowFlags())

Implement a better unlock dialog, which could incorporate the following warning message. Actually the whole case when the user tries to open a locked module needs to be rethought and refactored.

We need to keep the module name because unlocking currently reloads sword.

Member BtBookshelfModel::data (CSwordModuleInfo *module, int role) const
Unimplemented
Member BtBookshelfWorksPage::BtBookshelfWorksPage (WizardTaskType iType, QWidget *parent=nullptr)
is this useless if m_taskType == WizardTaskType::removeWorks?
Member BtConfig::getFontForLanguage (Language const &language)
Member BtConfig::getSearchScopesForCurrentLocale (const QStringList &scopeModules)
: unit test these functions
Member BtConfig::setFontForLanguage (Language const &language, FontSettingsPair const &fontSettings)
: put FontSettingsPair in QVariant directly
Member BtEditBookmarkDialog::retranslateUi ()
Add tooltips and what's this texts etc.
Member BtFontSettingsPage::BtFontSettingsPage (CConfigurationDialog *parent=nullptr)

Eeli's wishlist: why not show something relevant here, like a Bible verse in chosen (not tr()'ed!) language?

remember the last selected font and jump there.

Member BtInstallBackend::deleteSource (const QString &name)
dummy
Member BtInstallThread::installModule ()
silently removing without undo if the user cancels the update is WRONG!!!
Member BtInstallThread::run () override
move this to some common precondition
Member BtModelViewReadDisplay::BtModelViewReadDisplay (CDisplayWindow *displayWindow, QWidget *parent=nullptr)
Fix me
Member BtQmlInterface::getCurrentModelIndex () const
Check range!
Member BtShortcutsEditor::BtShortcutsEditor (BtActionCollection *collection, QWidget *parent)
Remove this & hack and use Qt properties instead:
Member BtShortcutsEditor::customButtonClicked (bool checked)
Is this correct?
Member BtShortcutsEditor::defaultButtonClicked (bool checked)
Is this correct?
Member BtShortcutsEditor::noneButtonClicked (bool checked)
Is this correct?
Member CBookmarkIndex::dropEvent (QDropEvent *event) override
add title
Member CBookTreeChooser::itemActivated (QTreeWidgetItem *item)
itemActivated is called too many times. As tested in GDB, the function
Member CDisplayTemplateMgr::fillTemplate (const QString &name, const QString &content, const Settings &settings) const
Add support translating more QFont properties to CSS.
Member CDisplayWindow::lookupKey (QString const &key)

check for containsRef compat

check if this is correct behavior

Member CExportManager::copyKeyList (QList< CSwordKey * > const &list, Format const format, bool const addText)
Verify that items in tree are properly freed.
Member CExportManager::copyKeyList (CSwordModuleSearch::ModuleResultList const &list, CSwordModuleInfo const *const module, Format const format, bool const addText)
Verify that items in tree are properly freed.
Member CExportManager::printByHyperlink (QString const &hyperlink, DisplayOptions const &displayOptions, FilterOptions const &filterOptions)
Verify that items in tree are properly freed.
Member CExportManager::printKey (CSwordKey const *const key, DisplayOptions const &displayOptions, FilterOptions const &filterOptions)
Verify that items in tree are properly freed.
Member CExportManager::printKeyList (QStringList const &list, CSwordModuleInfo const *const module, DisplayOptions const &displayOptions, FilterOptions const &filterOptions)
Verify that items in tree are properly freed.
Member CExportManager::printKeyList (CSwordModuleSearch::ModuleResultList const &list, CSwordModuleInfo const *const module, DisplayOptions const &displayOptions, FilterOptions const &filterOptions)
Verify that items in tree are properly freed.
Member CExportManager::saveKeyList (CSwordModuleSearch::ModuleResultList const &list, CSwordModuleInfo const *const module, Format const format, bool const addText)

check size

Verify that items in tree are properly freed.

Member CExportManager::saveKeyList (QList< CSwordKey * > const &list, Format const format, bool const addText)
Verify that items in tree are properly freed.
Member CKeyChooserWidget::reset (const int count, int index, bool do_emit)
CHECK
Member CSwordBackend::initModules ()
Refactor data model to use shared_ptr to contain works
Member CSwordBibleModuleInfo::initBounds () const
The fields calculated by this method could be cached to disk.
Member CSwordLDKey::CSwordLDKey (const CSwordModuleInfo *module)
Document param
Member CSwordLDKey::CSwordLDKey (const sword::SWKey *k, const CSwordModuleInfo *module)
Document params
Member CSwordLexiconModuleInfo::entries () const
Document why the following code is here:
Member CSwordModuleInfo::config (const CSwordModuleInfo::ConfigEntry entry) const
is this needed?
Member CSwordModuleInfo::CSwordModuleInfo (sword::SWModule &module, CSwordBackend &backend, ModuleType type)
if this is the case, can we use the module at all?
Member CSwordModuleInfo::has (CSwordModuleInfo::FilterOption const &) const
This is a BAD workaround to see if the filter is GBF, OSIS or ThML!
Member CSwordModuleInfo::unlock (const QString &unlockKey)

remove this comment once it is no longer needed

write to Sword config as well

Member CSwordModuleSearch::search (QString const &searchText, BtConstModuleList const &modules, sword::ListKey scope)
What is the purpose of the following statement?
Member CSwordSetupInstallSourcesDialog::CSwordSetupInstallSourcesDialog ()
connect this directly to the dialog setValue(int) if possible:
Member CSwordSetupInstallSourcesDialog::getSource ()
Add validator for server
Member CSwordVerseKey::setKey (const char *key) final override
Do we ALWAYS need to emit this signal
Member Filters::OsisToHtml::handleToken (sword::SWBuf &buf, const char *token, sword::BasicFilterUserData *userData) override

not allowed, remove soon

not allowed, remove soon

not allowed, remove soon

Member Filters::OsisToHtml::OsisToHtml ()
Move that down to the real tag handling, segs without the type morph would generate incorrect markup, as the end span is always inserted
Member Filters::PlainToHtml::processText (sword::SWBuf &buf, const sword::SWKey *key, const sword::SWModule *module=nullptr) override
is this quirk necessary?
Member Rendering::CTextRendering::renderEntry (KeyTreeItem const &item, CSwordKey *key=nullptr) const
Take care of the heading type!
Member Rendering::CTextRendering::renderKeyRange (CSwordVerseKey const &lowerBound, CSwordVerseKey const &upperBound, const BtConstModuleList &modules, const QString &hightlightKey=QString(), const KeyTreeItem::Settings &settings=KeyTreeItem::Settings())

We need to take care of linked verses if we render one or (esp) more modules. If the verses 2,3,4,5 are linked to 1, it should be displayed as one entry with the caption 1-5.

Notify the user about this failure.

Member Rendering::formatInfo (const ListInfoData &list, BtConstModuleList const &modules)
Why is this here?
Member Search::BtSearchOptionsArea::refreshRanges ()
what about this?
Member Search::BtSearchOptionsArea::setModules (const BtConstModuleList &modules)
Check for containsRef compat
Member Search::BtSearchOptionsArea::sigStartSearch ()
Implement validation
Member Search::CModuleResultView::executed (QTreeWidgetItem *, QTreeWidgetItem *)
Member Search::CModuleResultView::initConnections ()
Member Search::CModuleResultView::initView ()
sorting
Member Search::CModuleResultView::setupTree (const CSwordModuleSearch::Results &results, const QString &searchedText)

item->setOpen(true);

implement sorting in this method.

Class Search::CRangeChooserDialog
Redesign this dialog and rename to have a Bt prefix.
Member Search::CSearchResultView::contextMenuEvent (QContextMenuEvent *event) override
another function?
Member Search::CSearchResultView::initConnections ()
are these right after porting?
Member Search::CSearchResultView::mimeData (QList< QTreeWidgetItem * > const &items) const override
port this to the new d'n'd
Member Search::CSearchResultView::setupStrongsTree (CSwordModuleInfo *, const QStringList &)
select the first item
Member util::directory::getDirSizeRecursive (QString const &dir)
Check if it's suitable for huge dir trees, as it holds a QDir object for each of it at the same time in the deepest recursion. For really deep dir tree this may lead to a stack overflow.
Member util::directory::initDirectoryCache ()
Check and comment whether this is needed: