mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-23 20:14:05 +00:00
1
This commit is contained in:
parent
c0697ecdda
commit
a9478cdc34
|
@ -85,18 +85,6 @@ QString ArticleView::scrollToFromDictionaryId( QString const & dictionaryId )
|
||||||
Q_ASSERT( !isScrollTo( dictionaryId ) );
|
Q_ASSERT( !isScrollTo( dictionaryId ) );
|
||||||
return scrollToPrefix + dictionaryId;
|
return scrollToPrefix + dictionaryId;
|
||||||
}
|
}
|
||||||
ArticleView::ArticleView( QWidget * parent,
|
|
||||||
ArticleNetworkAccessManager & nm,
|
|
||||||
AudioPlayerPtr const & audioPlayer_,
|
|
||||||
Config::Class const & cfg_ ):
|
|
||||||
QWidget( parent ),
|
|
||||||
articleNetMgr( nm ),
|
|
||||||
audioPlayer( audioPlayer_ ),
|
|
||||||
cfg( cfg_ )
|
|
||||||
{
|
|
||||||
// setup GUI
|
|
||||||
setupWebview();
|
|
||||||
}
|
|
||||||
void ArticleView::setupWebview()
|
void ArticleView::setupWebview()
|
||||||
{ // setup GUI
|
{ // setup GUI
|
||||||
this->webview = new ArticleWebView( this );
|
this->webview = new ArticleWebView( this );
|
||||||
|
@ -233,6 +221,26 @@ void ArticleView::setupWebview()
|
||||||
this->webview->grabGesture( Gestures::GDSwipeGestureType );
|
this->webview->grabGesture( Gestures::GDSwipeGestureType );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ArticleView::addWebsiteTab( QString name, QString url )
|
||||||
|
{
|
||||||
|
auto * view = new QWebEngineView( this );
|
||||||
|
view->load( url );
|
||||||
|
view->setZoomFactor( this->cfg.preferences.zoomFactor );
|
||||||
|
int index = tabWidget->count();
|
||||||
|
QString escaped = Utils::escapeAmps( name );
|
||||||
|
tabWidget->insertTab( index, view, escaped );
|
||||||
|
}
|
||||||
|
|
||||||
|
void ArticleView::clearWebsiteTabs()
|
||||||
|
{
|
||||||
|
int index = tabWidget->count();
|
||||||
|
// keep the first tab
|
||||||
|
while ( index-- > 1 ) {
|
||||||
|
tabWidget->removeTab( index );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ArticleView::ArticleView( QWidget * parent,
|
ArticleView::ArticleView( QWidget * parent,
|
||||||
ArticleNetworkAccessManager & nm,
|
ArticleNetworkAccessManager & nm,
|
||||||
AudioPlayerPtr const & audioPlayer_,
|
AudioPlayerPtr const & audioPlayer_,
|
||||||
|
@ -329,6 +337,7 @@ void ArticleView::showDefinition( QString const & word,
|
||||||
Contexts const & contexts_ )
|
Contexts const & contexts_ )
|
||||||
{
|
{
|
||||||
GlobalBroadcaster::instance()->pronounce_engine.reset();
|
GlobalBroadcaster::instance()->pronounce_engine.reset();
|
||||||
|
clearWebsiteTabs();
|
||||||
currentWord = word.trimmed();
|
currentWord = word.trimmed();
|
||||||
if ( currentWord.isEmpty() ) {
|
if ( currentWord.isEmpty() ) {
|
||||||
return;
|
return;
|
||||||
|
@ -376,7 +385,7 @@ void ArticleView::showDefinition( QString const & word,
|
||||||
|
|
||||||
QString mutedDicts = getMutedForGroup( group );
|
QString mutedDicts = getMutedForGroup( group );
|
||||||
|
|
||||||
if ( mutedDicts.size() ) {
|
if ( !mutedDicts.isEmpty() ) {
|
||||||
Utils::Url::addQueryItem( req, "muted", mutedDicts );
|
Utils::Url::addQueryItem( req, "muted", mutedDicts );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -96,11 +96,8 @@ public:
|
||||||
QLineEdit const * translateLine,
|
QLineEdit const * translateLine,
|
||||||
QAction * dictionaryBarToggled = nullptr,
|
QAction * dictionaryBarToggled = nullptr,
|
||||||
unsigned currentGroupId = 0 );
|
unsigned currentGroupId = 0 );
|
||||||
explicit ArticleView( QWidget * parent,
|
|
||||||
ArticleNetworkAccessManager & nm,
|
|
||||||
AudioPlayerPtr const & audioPlayer_,
|
|
||||||
Config::Class const & cfg_ );
|
|
||||||
|
|
||||||
|
void openWebsiteInNewTab( QString name, QString url );
|
||||||
void setCurrentGroupId( unsigned currengGrgId );
|
void setCurrentGroupId( unsigned currengGrgId );
|
||||||
unsigned getCurrentGroupId();
|
unsigned getCurrentGroupId();
|
||||||
|
|
||||||
|
@ -171,7 +168,9 @@ public:
|
||||||
/// \brief Set background as black if darkreader mode is enabled.
|
/// \brief Set background as black if darkreader mode is enabled.
|
||||||
void syncBackgroundColorWithCfgDarkReader() const;
|
void syncBackgroundColorWithCfgDarkReader() const;
|
||||||
|
|
||||||
void openWebsiteInNewTab( QString name, QString url );
|
void addWebsiteTab( QString name, QString url );
|
||||||
|
|
||||||
|
void clearWebsiteTabs();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// widgets
|
// widgets
|
||||||
|
|
|
@ -63,6 +63,7 @@
|
||||||
|
|
||||||
#include <QWebEngineSettings>
|
#include <QWebEngineSettings>
|
||||||
#include <QProxyStyle>
|
#include <QProxyStyle>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
#ifdef HAVE_X11
|
#ifdef HAVE_X11
|
||||||
#if ( QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 ) )
|
#if ( QT_VERSION >= QT_VERSION_CHECK( 6, 0, 0 ) )
|
||||||
|
@ -3715,11 +3716,6 @@ ArticleView * MainWindow::getCurrentArticleView()
|
||||||
{
|
{
|
||||||
if ( QWidget * cw = ui.tabWidget->currentWidget() ) {
|
if ( QWidget * cw = ui.tabWidget->currentWidget() ) {
|
||||||
auto * pView = dynamic_cast< ArticleView * >( cw );
|
auto * pView = dynamic_cast< ArticleView * >( cw );
|
||||||
if ( pView != nullptr ) {
|
|
||||||
if ( pView->getParentView() != nullptr ) {
|
|
||||||
return pView->getParentView();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return pView;
|
return pView;
|
||||||
}
|
}
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
@ -4386,7 +4382,7 @@ void MainWindow::openWebsiteInNewTab( QString name, QString url )
|
||||||
|
|
||||||
// ui.tabWidget->insertTab( index, view, escaped );
|
// ui.tabWidget->insertTab( index, view, escaped );
|
||||||
// mruList.append( dynamic_cast< QWidget * >( view ) );
|
// mruList.append( dynamic_cast< QWidget * >( view ) );
|
||||||
getCurrentArticleView()->addWebsiteTab( name, url );
|
getCurrentArticleView()->addWebsiteTab( std::move( name ), url );
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MainWindow::unescapeTabHeader( QString const & header )
|
QString MainWindow::unescapeTabHeader( QString const & header )
|
||||||
|
|
Loading…
Reference in a new issue