From dd2f7ce46df53f2c377c02d1bf4df8adcf092072 Mon Sep 17 00:00:00 2001 From: "Roberto C. Sanchez" Date: Tue, 21 Oct 2014 22:48:27 -0400 Subject: Imported Upstream version 2.3 --- src/frontend/displaywindow/btactioncollection.cpp | 9 ++++--- src/frontend/displaywindow/cbookreadwindow.cpp | 5 ++++ src/frontend/displaywindow/cdisplaywindow.cpp | 31 ++++++++++++++++------- src/frontend/displaywindow/cdisplaywindow.h | 1 + src/frontend/displaywindow/chtmlwritewindow.cpp | 4 +++ src/frontend/displaywindow/clexiconreadwindow.cpp | 4 +++ src/frontend/displaywindow/cmodulechooserbar.cpp | 2 ++ src/frontend/displaywindow/cplainwritewindow.cpp | 2 ++ 8 files changed, 45 insertions(+), 13 deletions(-) (limited to 'src/frontend/displaywindow') diff --git a/src/frontend/displaywindow/btactioncollection.cpp b/src/frontend/displaywindow/btactioncollection.cpp index 046c3c0..fc1a412 100644 --- a/src/frontend/displaywindow/btactioncollection.cpp +++ b/src/frontend/displaywindow/btactioncollection.cpp @@ -15,6 +15,7 @@ #include #include #include +#include class BtActionItem : public QObject { @@ -52,10 +53,10 @@ QList BtActionCollection::actions() QAction* BtActionCollection::action(const QString& name) { - Q_ASSERT(m_actions[name] != 0); - QAction* action = m_actions[name]->action; - Q_ASSERT(action != 0); - return action; + if (m_actions.contains(name)) + return m_actions[name]->action; + qWarning() << "A QAction for a shortcut named" << name << "was requested but it is not defined."; + return (new QAction(this)); // dummy QAction* } QAction* BtActionCollection::addAction(const QString& name, QAction* action) diff --git a/src/frontend/displaywindow/cbookreadwindow.cpp b/src/frontend/displaywindow/cbookreadwindow.cpp index 40f737d..465eec9 100644 --- a/src/frontend/displaywindow/cbookreadwindow.cpp +++ b/src/frontend/displaywindow/cbookreadwindow.cpp @@ -100,6 +100,9 @@ void CBookReadWindow::initView() QSplitter* splitter = new QSplitter(this); setMainToolBar( new QToolBar(this) ); + mainToolBar()->setAllowedAreas(Qt::TopToolBarArea); + mainToolBar()->setFloatable(false); + addToolBar(mainToolBar()); m_treeChooser = new CBookTreeChooser(modules(), key(), splitter); @@ -112,6 +115,8 @@ void CBookReadWindow::initView() addToolBar(moduleChooserBar()); setButtonsToolBar( new QToolBar(this) ); + buttonsToolBar()->setAllowedAreas(Qt::TopToolBarArea); + buttonsToolBar()->setFloatable(false); setDisplaySettingsButton( new CDisplaySettingsButton( &displayOptions(), &filterOptions(), modules(), buttonsToolBar()) ); addToolBar(buttonsToolBar()); m_treeChooser->hide(); diff --git a/src/frontend/displaywindow/cdisplaywindow.cpp b/src/frontend/displaywindow/cdisplaywindow.cpp index 6cf160d..8b4a9cd 100644 --- a/src/frontend/displaywindow/cdisplaywindow.cpp +++ b/src/frontend/displaywindow/cdisplaywindow.cpp @@ -129,6 +129,15 @@ void CDisplayWindow::insertKeyboardActions( BtActionCollection* a ) actn->setShortcut(QKeySequence::Find); a->addAction("findText", actn); + actn = new QAction(QIcon(), tr("Change location"), 0); + actn->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_L)); + a->addAction("openLocation", actn); + + actn = new QAction(QIcon(util::filesystem::DirectoryUtil::getIcon(CResMgr::displaywindows::general::search::icon)), + tr("Search with works of this window"), 0); + actn->setShortcut(CResMgr::displaywindows::general::search::accel); + a->addAction(CResMgr::displaywindows::general::search::actionName, actn); + BtToolBarPopupAction* action = new BtToolBarPopupAction( QIcon(util::filesystem::DirectoryUtil::getIcon(CResMgr::displaywindows::general::backInHistory::icon)), tr("Back in history"), @@ -154,18 +163,16 @@ void CDisplayWindow::initActions() CDisplayWindow::insertKeyboardActions(ac); - QAction* qaction = new QAction( - QIcon(util::filesystem::DirectoryUtil::getIcon(CResMgr::displaywindows::general::search::icon)), - tr("Open the search dialog with the works of this window"), - ac - ); - qaction->setShortcut(CResMgr::displaywindows::general::search::accel); - QObject::connect(qaction, SIGNAL(triggered()), this, SLOT(slotSearchInModules())); - ac->addAction(CResMgr::displaywindows::general::search::actionName, qaction); + QAction* actn = ac->action(CResMgr::displaywindows::general::search::actionName); + QObject::connect(actn, SIGNAL(triggered()), this, SLOT(slotSearchInModules())); CDisplayConnections* conn = displayWidget()->connectionsProxy(); - QAction* actn = ac->action("zoomIn"); + actn = ac->action("openLocation"); + QObject::connect(actn, SIGNAL(triggered()), this, SLOT(setFocusKeyChooser())); + addAction(actn); + + actn = ac->action("zoomIn"); QObject::connect(actn, SIGNAL(triggered()), conn, SLOT(zoomIn())); addAction(actn); @@ -536,3 +543,9 @@ BtActionCollection* CDisplayWindow::actionCollection() { return m_actionCollection; } + +void CDisplayWindow::setFocusKeyChooser() +{ + keyChooser()->setFocus(); +} + diff --git a/src/frontend/displaywindow/cdisplaywindow.h b/src/frontend/displaywindow/cdisplaywindow.h index 80877fb..733f06e 100644 --- a/src/frontend/displaywindow/cdisplaywindow.h +++ b/src/frontend/displaywindow/cdisplaywindow.h @@ -202,6 +202,7 @@ protected slots: void printAnchorWithText(); + void setFocusKeyChooser(); private: BtActionCollection* m_actionCollection; diff --git a/src/frontend/displaywindow/chtmlwritewindow.cpp b/src/frontend/displaywindow/chtmlwritewindow.cpp index 7e97aa6..cee16e0 100644 --- a/src/frontend/displaywindow/chtmlwritewindow.cpp +++ b/src/frontend/displaywindow/chtmlwritewindow.cpp @@ -42,6 +42,8 @@ void CHTMLWriteWindow::initView() { setCentralWidget( displayWidget()->view() ); setMainToolBar( new QToolBar(this) ); + mainToolBar()->setAllowedAreas(Qt::TopToolBarArea); + mainToolBar()->setFloatable(false); addToolBar(mainToolBar()); setKeyChooser( CKeyChooser::createInstance(modules(), key(), mainToolBar()) ); @@ -104,6 +106,8 @@ void CHTMLWriteWindow::initToolbars() { //html formatting toolbar QToolBar* bar = new QToolBar(this); + bar->setAllowedAreas(Qt::TopToolBarArea); + bar->setFloatable(false); ((CWriteDisplay*)displayWidget())->setupToolbar( bar, actionCollection() ); addToolBar(bar); } diff --git a/src/frontend/displaywindow/clexiconreadwindow.cpp b/src/frontend/displaywindow/clexiconreadwindow.cpp index 8ceb326..df22de9 100644 --- a/src/frontend/displaywindow/clexiconreadwindow.cpp +++ b/src/frontend/displaywindow/clexiconreadwindow.cpp @@ -187,6 +187,8 @@ void CLexiconReadWindow::initView() qDebug("CLexiconReadWindow::initView"); setDisplayWidget( CDisplay::createReadInstance(this) ); setMainToolBar( new QToolBar(this) ); + mainToolBar()->setAllowedAreas(Qt::TopToolBarArea); + mainToolBar()->setFloatable(false); addToolBar(mainToolBar()); setKeyChooser( CKeyChooser::createInstance(modules(), key(), mainToolBar()) ); mainToolBar()->addWidget(keyChooser()); @@ -194,6 +196,8 @@ void CLexiconReadWindow::initView() moduleChooserBar()->adjustSize(); addToolBar(moduleChooserBar()); setButtonsToolBar( new QToolBar(this) ); + buttonsToolBar()->setAllowedAreas(Qt::TopToolBarArea); + buttonsToolBar()->setFloatable(false); addToolBar(buttonsToolBar()); setWindowIcon(CToolClass::getIconForModule(modules().first())); setCentralWidget( displayWidget()->view() ); diff --git a/src/frontend/displaywindow/cmodulechooserbar.cpp b/src/frontend/displaywindow/cmodulechooserbar.cpp index fc891ad..a282c4b 100644 --- a/src/frontend/displaywindow/cmodulechooserbar.cpp +++ b/src/frontend/displaywindow/cmodulechooserbar.cpp @@ -22,6 +22,8 @@ CModuleChooserBar::CModuleChooserBar(QList useModules, CSword m_idCounter(0), m_buttonLimit(-1) //-1 means no limit { + setAllowedAreas(Qt::TopToolBarArea); + setFloatable(false); //insert buttons if useModules != 0 QList::iterator end_it = useModules.end(); for (QList::iterator it(useModules.begin()); it != end_it; ++it) { diff --git a/src/frontend/displaywindow/cplainwritewindow.cpp b/src/frontend/displaywindow/cplainwritewindow.cpp index 9f12020..71dc603 100644 --- a/src/frontend/displaywindow/cplainwritewindow.cpp +++ b/src/frontend/displaywindow/cplainwritewindow.cpp @@ -45,6 +45,8 @@ void CPlainWriteWindow::initView() { setCentralWidget( displayWidget()->view() ); setMainToolBar( new QToolBar(this) ); + mainToolBar()->setAllowedAreas(Qt::TopToolBarArea); + mainToolBar()->setFloatable(false); addToolBar(mainToolBar()); addToolBarBreak(); -- cgit v1.2.3