BibleTime
Classes | Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends | List of all members
CDisplayWindow Class Reference

The base class for all display windows of BibleTime. More...

#include <cdisplaywindow.h>

Inheritance diagram for CDisplayWindow:

Classes

struct  ActionsStruct
 

Public Slots

void lookupKey (QString const &key)
 
virtual void reload ()
 
void slotAddModule (int index, CSwordModuleInfo *module)
 
void slotRemoveModule (int index)
 
void slotReplaceModule (int index, CSwordModuleInfo *newModule)
 

Signals

void sigDisplayOptionsChanged (const DisplayOptions &displayOptions)
 
void sigFilterOptionsChanged (const FilterOptions &filterOptions)
 
void sigKeyChanged (CSwordKey *key)
 
void sigModuleAdded (int index, QString module)
 
void sigModuleListChanged (BtModuleList newList)
 
void sigModuleRemoved (int index)
 
void sigModuleReplaced (int index, QString newModule)
 
void sigModulesChanged (const BtConstModuleList &modules)
 

Public Member Functions

BtActionCollectionactionCollection () const
 
virtual void applyProfileSettings (BtConfigCore const &windowConf)
 Loads the settings of this window from configuration. More...
 
BibleTimebtMainWindow ()
 
QToolBarbuttonsToolBar ()
 
BtConstModuleList constModules () const
 
virtual void copyDisplayedText ()
 
DisplayOptions const & displayOptions () const
 
BtModelViewReadDisplaydisplayWidget () const
 
FilterOptions const & filterOptions () const
 
CSwordModuleInfo const * firstModule () const noexcept
 
CSwordKeygetMouseClickedKey () const
 
bool hasSelectedText ()
 
CSwordKeykey () const
 
CKeyChooserkeyChooser () const
 
QToolBarmainToolBar ()
 
CMDIAreamdi () const
 
QStringList const & moduleNames () const noexcept
 
BtModuleList const & modules () const noexcept
 
virtual CSwordModuleInfo::ModuleType moduleType () const
 
void setBibleReference (const QString &reference)
 
void setDisplaySettingsButton (BtDisplaySettingsButton *button)
 
void setDisplayWidget (BtModelViewReadDisplay *newDisplay)
 
virtual void storeProfileSettings (BtConfigCore &windowConf) const
 Stores the settings of this window to configuration. More...
 
virtual bool syncAllowed () const
 
void updateWindowTitle ()
 
void windowActivated ()
 

Static Public Member Functions

static void insertKeyboardActions (BtActionCollection *const a)
 

Protected Slots

void lookup ()
 
virtual void modulesChanged ()
 
void printAll ()
 
void printAnchorWithText ()
 

Protected Member Functions

void addModuleChooserBar ()
 
 CDisplayWindow (BtModuleList const &modules, CMDIArea *const parent)
 
void clearMainWindowToolBars ()
 
BTHistoryhistory () const noexcept
 
bool init ()
 
virtual void initActions ()
 
template<typename ... Args>
QActioninitAddAction (Args &&... args)
 
virtual void initConnections ()
 
virtual void initToolbars ()
 
virtual void initView ()
 
virtual void lookupSwordKey (CSwordKey *)
 
virtual QMenunewDisplayWidgetPopupMenu ()
 
void setDisplayOptions (DisplayOptions const &v)
 
void setFilterOptions (FilterOptions const &v)
 
void setKeyChooser (CKeyChooser *ck)
 
virtual void setupMainWindowToolBars ()
 
 ~CDisplayWindow () override
 

Protected Attributes

struct CDisplayWindow::ActionsStruct m_actions
 

Private Member Functions

template<typename Name , typename ... Args>
QActioninitAction (Name &&name, Args &&... args)
 

Private Attributes

BtActionCollection *const m_actionCollection
 
QToolBarm_buttonsToolBar = nullptr
 
DisplayOptions m_displayOptions
 
BtModelViewReadDisplaym_displayWidget = nullptr
 
FilterOptions m_filterOptions
 
QToolBarm_headerBar = nullptr
 
BTHistory *const m_history
 
bool m_isInitialized = false
 Whether init() has been called. More...
 
CKeyChooserm_keyChooser = nullptr
 
QToolBarm_mainToolBar = nullptr
 
CMDIArea *const m_mdi
 
BtModuleChooserBarm_moduleChooserBar = nullptr
 
QStringList m_moduleNames
 
BtModuleList m_modules
 
std::unique_ptr< CSwordKey > const m_swordKey
 

Friends

class CBibleReadWindow
 
class CLexiconReadWindow
 

Detailed Description

The base class for all display windows of BibleTime.

Definition at line 44 of file cdisplaywindow.h.

Constructor & Destructor Documentation

◆ CDisplayWindow()

CDisplayWindow::CDisplayWindow ( BtModuleList const &  modules,
CMDIArea *const  parent 
)
protected

◆ ~CDisplayWindow()

CDisplayWindow::~CDisplayWindow ( )
overrideprotecteddefault

Member Function Documentation

◆ actionCollection()

BtActionCollection* CDisplayWindow::actionCollection ( ) const
inline

◆ addModuleChooserBar()

void CDisplayWindow::addModuleChooserBar ( )
protected

Creates and adds the module chooser bar to the toolbar.

Definition at line 713 of file cdisplaywindow.cpp.

References BtModuleChooserBar::associateWithWindow(), BT_ASSERT, BT_CONNECT, btConfig(), btMainWindow(), m_moduleChooserBar, and BibleTime::toggledTextWindowModuleChooser().

Referenced by initView(), and CBookReadWindow::initView().

◆ applyProfileSettings()

void CDisplayWindow::applyProfileSettings ( BtConfigCore const &  windowConf)
virtual

Loads the settings of this window from configuration.

Parameters
[in]windowConfThe locked configuration group.
Note
We don't use restoreGeometry/saveGeometry for MDI subwindows, because they give slightly incorrect results with some window managers. Might be related to Qt bug QTBUG-7634.

Reimplemented in CCommentaryReadWindow, CBookReadWindow, and CBibleReadWindow.

Definition at line 147 of file cdisplaywindow.cpp.

References BT_ASSERT, anonymous_namespace{cdisplaywindow.cpp}::getProfileWindow(), and BtConfigCore::value().

Referenced by CBibleReadWindow::applyProfileSettings(), CBookReadWindow::applyProfileSettings(), and CCommentaryReadWindow::applyProfileSettings().

◆ btMainWindow()

BibleTime * CDisplayWindow::btMainWindow ( )

◆ buttonsToolBar()

QToolBar * CDisplayWindow::buttonsToolBar ( )

◆ clearMainWindowToolBars()

void CDisplayWindow::clearMainWindowToolBars ( )
protected

Definition at line 94 of file cdisplaywindow.cpp.

References btMainWindow(), BibleTime::navToolBar(), and BibleTime::toolsToolBar().

Referenced by init(), and windowActivated().

◆ constModules()

BtConstModuleList CDisplayWindow::constModules ( ) const
inline

◆ copyDisplayedText()

void CDisplayWindow::copyDisplayedText ( )
virtual

Updates the status of the popup menu entries.

Definition at line 565 of file cdisplaywindow.cpp.

References CExportManager::copyKey(), m_swordKey, and CExportManager::Text.

◆ displayOptions()

DisplayOptions const& CDisplayWindow::displayOptions ( ) const
inline

◆ displayWidget()

BtModelViewReadDisplay* CDisplayWindow::displayWidget ( ) const
inline

◆ filterOptions()

FilterOptions const& CDisplayWindow::filterOptions ( ) const
inline

◆ firstModule()

CSwordModuleInfo const* CDisplayWindow::firstModule ( ) const
inlinenoexcept

◆ getMouseClickedKey()

CSwordKey * CDisplayWindow::getMouseClickedKey ( ) const

◆ hasSelectedText()

bool CDisplayWindow::hasSelectedText ( )

◆ history()

BTHistory* CDisplayWindow::history ( ) const
inlineprotectednoexcept

Returns history for this window

Definition at line 187 of file cdisplaywindow.h.

References m_history.

Referenced by CBookReadWindow::initView(), and CBookReadWindow::setupMainWindowToolBars().

◆ init()

bool CDisplayWindow::init ( )
protected

◆ initAction()

template<typename Name , typename ... Args>
QAction& CDisplayWindow::initAction ( Name &&  name,
Args &&...  args 
)
inlineprivate

Definition at line 249 of file cdisplaywindow.h.

References BtActionCollection::action(), BT_CONNECT, and m_actionCollection.

Referenced by initActions(), and initAddAction().

◆ initActions()

void CDisplayWindow::initActions ( )
protectedvirtual

Initializes the internel keyboard actions.

Reimplemented in CLexiconReadWindow, CCommentaryReadWindow, CBookReadWindow, and CBibleReadWindow.

Definition at line 244 of file cdisplaywindow.cpp.

References CResMgr::mainMenu::view::showMainIndex::actionName, CResMgr::displaywindows::general::backInHistory::actionName, CResMgr::displaywindows::general::forwardInHistory::actionName, CResMgr::displaywindows::general::findStrongs::actionName, BTHistory::back(), CDisplayWindow::ActionsStruct::backInHistory, btConfig(), btMainWindow(), CDisplayWindow::ActionsStruct::byReferences, constModules(), CDisplayWindow::ActionsStruct::copy, BtModelViewReadDisplay::copyAll(), BtModelViewReadDisplay::copyAnchorOnly(), BtModelViewReadDisplay::copyByReferences(), BtModelViewReadDisplay::copySelectedText(), displayOptions(), CDisplayWindow::ActionsStruct::entry, CDisplayWindow::ActionsStruct::entryAsHTML, CDisplayWindow::ActionsStruct::entryAsPlain, filterOptions(), CDisplayWindow::ActionsStruct::findStrongs, CDisplayWindow::ActionsStruct::findText, CDisplayWindow::ActionsStruct::forwardInHistory, BTHistory::fw(), BtModelViewReadDisplay::getCurrentNodeInfo(), CExportManager::HTML, initAction(), initAddAction(), insertKeyboardActions(), BibleTime::instance(), keyChooser(), m_actionCollection, m_actions, m_displayWidget, m_history, m_keyChooser, m_swordKey, BibleTime::openFindWidget(), BibleTime::openSearchDialog(), BtModelViewReadDisplay::pageDown(), BtModelViewReadDisplay::pageUp(), CDisplayWindow::ActionsStruct::print, printAll(), printAnchorWithText(), BtActionCollection::readShortcuts(), CDisplayWindow::ActionsStruct::reference, CDisplayWindow::ActionsStruct::save, CExportManager::saveKey(), CDisplayWindow::ActionsStruct::selectedText, and CExportManager::Text.

Referenced by init(), CBibleReadWindow::initActions(), CBookReadWindow::initActions(), CCommentaryReadWindow::initActions(), and CLexiconReadWindow::initActions().

◆ initAddAction()

template<typename ... Args>
QAction& CDisplayWindow::initAddAction ( Args &&...  args)
inlineprotected

◆ initConnections()

void CDisplayWindow::initConnections ( )
protectedvirtual

◆ initToolbars()

void CDisplayWindow::initToolbars ( )
protectedvirtual

◆ initView()

void CDisplayWindow::initView ( )
protectedvirtual

◆ insertKeyboardActions()

void CDisplayWindow::insertKeyboardActions ( BtActionCollection *const  a)
static

◆ key()

CSwordKey* CDisplayWindow::key ( ) const
inline

◆ keyChooser()

CKeyChooser* CDisplayWindow::keyChooser ( ) const
inline

◆ lookup

void CDisplayWindow::lookup ( )
protectedslot

Lookup the current key. Used to refresh the display. This also needs to be called after programmatically changing filter/display options.

Lookup the current key. Used to refresh the display.

Definition at line 833 of file cdisplaywindow.cpp.

References lookupSwordKey(), and m_swordKey.

Referenced by CBibleReadWindow::applyProfileSettings(), reload(), setDisplaySettingsButton(), slotAddModule(), slotRemoveModule(), and slotReplaceModule().

◆ lookupKey

void CDisplayWindow::lookupKey ( QString const &  key)
slot

◆ lookupSwordKey()

void CDisplayWindow::lookupSwordKey ( CSwordKey newKey)
protectedvirtual

◆ mainToolBar()

QToolBar * CDisplayWindow::mainToolBar ( )

◆ mdi()

CMDIArea* CDisplayWindow::mdi ( ) const
inline

Returns pointer to the mdi area object.

Definition at line 56 of file cdisplaywindow.h.

References m_mdi.

Referenced by storeProfileSettings(), and CBibleReadWindow::syncWindows().

◆ moduleNames()

QStringList const& CDisplayWindow::moduleNames ( ) const
inlinenoexcept
Returns
the used modules as a string list.

Definition at line 69 of file cdisplaywindow.h.

References m_moduleNames.

Referenced by CBookReadWindow::initView().

◆ modules()

BtModuleList const& CDisplayWindow::modules ( ) const
inlinenoexcept

Definition at line 63 of file cdisplaywindow.h.

References m_modules.

Referenced by BtModuleChooserBar::associateWithWindow().

◆ modulesChanged

void CDisplayWindow::modulesChanged ( )
protectedvirtualslot

◆ moduleType()

CSwordModuleInfo::ModuleType CDisplayWindow::moduleType ( ) const
virtual

Reimplemented in CCommentaryReadWindow, CBookReadWindow, and CBibleReadWindow.

Definition at line 87 of file cdisplaywindow.cpp.

References CSwordModuleInfo::Lexicon.

Referenced by setBibleReference().

◆ newDisplayWidgetPopupMenu()

QMenu * CDisplayWindow::newDisplayWidgetPopupMenu ( )
protectedvirtual

◆ printAll

void CDisplayWindow::printAll ( )
protectedslot

◆ printAnchorWithText

void CDisplayWindow::printAnchorWithText ( )
protectedslot

◆ reload

void CDisplayWindow::reload ( )
virtualslot

◆ setBibleReference()

void CDisplayWindow::setBibleReference ( const QString &  reference)

◆ setDisplayOptions()

void CDisplayWindow::setDisplayOptions ( DisplayOptions const &  v)
inlineprotected

Definition at line 195 of file cdisplaywindow.h.

References m_displayOptions.

Referenced by CBibleReadWindow::applyProfileSettings().

◆ setDisplaySettingsButton()

void CDisplayWindow::setDisplaySettingsButton ( BtDisplaySettingsButton button)

◆ setDisplayWidget()

void CDisplayWindow::setDisplayWidget ( BtModelViewReadDisplay newDisplay)

Sets the display widget used by this display window.

Definition at line 868 of file cdisplaywindow.cpp.

References BT_ASSERT, BT_CONNECT, btMainWindow(), BibleTime::colorThemeChanged(), m_displayWidget, and BtModelViewReadDisplay::qmlInterface().

Referenced by initView(), and CBookReadWindow::initView().

◆ setFilterOptions()

void CDisplayWindow::setFilterOptions ( FilterOptions const &  v)
inlineprotected

Definition at line 197 of file cdisplaywindow.h.

References m_filterOptions.

Referenced by CBibleReadWindow::applyProfileSettings().

◆ setKeyChooser()

void CDisplayWindow::setKeyChooser ( CKeyChooser ck)
protected

Sets the keychooser widget for this display window.

Definition at line 672 of file cdisplaywindow.cpp.

References BTHistory::add(), BT_CONNECT, CKeyChooser::handleHistoryMoved(), BTHistory::historyMoved(), CKeyChooser::keyChanged(), m_history, and m_keyChooser.

Referenced by initView(), and CBookReadWindow::initView().

◆ setupMainWindowToolBars()

void CDisplayWindow::setupMainWindowToolBars ( )
protectedvirtual

◆ sigDisplayOptionsChanged

void CDisplayWindow::sigDisplayOptionsChanged ( const DisplayOptions displayOptions)
signal

Signal emitted when display options are changed.

Referenced by CBibleReadWindow::applyProfileSettings(), init(), and setDisplaySettingsButton().

◆ sigFilterOptionsChanged

void CDisplayWindow::sigFilterOptionsChanged ( const FilterOptions filterOptions)
signal

Signal emitted when display options are changed.

Referenced by CBibleReadWindow::applyProfileSettings(), init(), and setDisplaySettingsButton().

◆ sigKeyChanged

void CDisplayWindow::sigKeyChanged ( CSwordKey key)
signal

signal for sword key change

Referenced by lookupKey(), setupMainWindowToolBars(), and CBookReadWindow::setupMainWindowToolBars().

◆ sigModuleAdded

void CDisplayWindow::sigModuleAdded ( int  index,
QString  module 
)
signal

A module was added to this window.

◆ sigModuleListChanged

void CDisplayWindow::sigModuleListChanged ( BtModuleList  newList)
signal

The module list of window changed but backend list didn't.

Referenced by BtModuleChooserBar::associateWithWindow(), initToolbars(), reload(), slotAddModule(), slotRemoveModule(), and slotReplaceModule().

◆ sigModuleRemoved

void CDisplayWindow::sigModuleRemoved ( int  index)
signal

◆ sigModuleReplaced

void CDisplayWindow::sigModuleReplaced ( int  index,
QString  newModule 
)
signal

◆ sigModulesChanged

void CDisplayWindow::sigModulesChanged ( const BtConstModuleList modules)
signal

signal for change of modules

Referenced by init(), modulesChanged(), and setDisplaySettingsButton().

◆ slotAddModule

void CDisplayWindow::slotAddModule ( int  index,
CSwordModuleInfo module 
)
slot

◆ slotRemoveModule

void CDisplayWindow::slotRemoveModule ( int  index)
slot

◆ slotReplaceModule

void CDisplayWindow::slotReplaceModule ( int  index,
CSwordModuleInfo newModule 
)
slot

◆ storeProfileSettings()

void CDisplayWindow::storeProfileSettings ( BtConfigCore conf) const
virtual

Stores the settings of this window to configuration.

Parameters
[in]windowConfThe locked configuration group.

Store the settings of this window in the given CProfileWindow object.

Note
We don't use saveGeometry/restoreGeometry for MDI subwindows, because they give slightly incorrect results with some window managers. Might be related to Qt bug QTBUG-7634.

Reimplemented in CCommentaryReadWindow, CBookReadWindow, and CBibleReadWindow.

Definition at line 116 of file cdisplaywindow.cpp.

References BT_ASSERT, anonymous_namespace{cdisplaywindow.cpp}::getProfileWindow(), m_moduleNames, m_swordKey, mdi(), and BtConfigCore::setValue().

Referenced by BibleTime::saveProfile(), CBibleReadWindow::storeProfileSettings(), CBookReadWindow::storeProfileSettings(), and CCommentaryReadWindow::storeProfileSettings().

◆ syncAllowed()

virtual bool CDisplayWindow::syncAllowed ( ) const
inlinevirtual
Returns
whether syncs to the active window are allowed for this display window.

Reimplemented in CCommentaryReadWindow.

Definition at line 120 of file cdisplaywindow.h.

Referenced by CBibleReadWindow::syncWindows().

◆ updateWindowTitle()

void CDisplayWindow::updateWindowTitle ( )

◆ windowActivated()

void CDisplayWindow::windowActivated ( )

Called when this window is activated

Definition at line 100 of file cdisplaywindow.cpp.

References clearMainWindowToolBars(), and setupMainWindowToolBars().

Referenced by CMDIArea::CMDIArea().

Friends And Related Function Documentation

◆ CBibleReadWindow

friend class CBibleReadWindow
friend

Definition at line 181 of file cdisplaywindow.h.

◆ CLexiconReadWindow

friend class CLexiconReadWindow
friend

Definition at line 46 of file cdisplaywindow.h.

Member Data Documentation

◆ m_actionCollection

BtActionCollection* const CDisplayWindow::m_actionCollection
private

◆ m_actions

struct CDisplayWindow::ActionsStruct CDisplayWindow::m_actions
protected

◆ m_buttonsToolBar

QToolBar* CDisplayWindow::m_buttonsToolBar = nullptr
private

Definition at line 300 of file cdisplaywindow.h.

Referenced by buttonsToolBar(), and init().

◆ m_displayOptions

DisplayOptions CDisplayWindow::m_displayOptions
private

◆ m_displayWidget

BtModelViewReadDisplay* CDisplayWindow::m_displayWidget = nullptr
private

◆ m_filterOptions

FilterOptions CDisplayWindow::m_filterOptions
private

◆ m_headerBar

QToolBar* CDisplayWindow::m_headerBar = nullptr
private

Definition at line 301 of file cdisplaywindow.h.

Referenced by initToolbars(), and initView().

◆ m_history

BTHistory* const CDisplayWindow::m_history
private

◆ m_isInitialized

bool CDisplayWindow::m_isInitialized = false
private

Whether init() has been called.

Definition at line 297 of file cdisplaywindow.h.

Referenced by init(), lookupKey(), and lookupSwordKey().

◆ m_keyChooser

CKeyChooser* CDisplayWindow::m_keyChooser = nullptr
private

◆ m_mainToolBar

QToolBar* CDisplayWindow::m_mainToolBar = nullptr
private

Definition at line 299 of file cdisplaywindow.h.

Referenced by init(), and mainToolBar().

◆ m_mdi

CMDIArea* const CDisplayWindow::m_mdi
private

Definition at line 284 of file cdisplaywindow.h.

Referenced by btMainWindow(), and mdi().

◆ m_moduleChooserBar

BtModuleChooserBar* CDisplayWindow::m_moduleChooserBar = nullptr
private

Definition at line 298 of file cdisplaywindow.h.

Referenced by addModuleChooserBar(), and init().

◆ m_moduleNames

QStringList CDisplayWindow::m_moduleNames
private

◆ m_modules

BtModuleList CDisplayWindow::m_modules
private

◆ m_swordKey

std::unique_ptr<CSwordKey> const CDisplayWindow::m_swordKey
private

The documentation for this class was generated from the following files: