mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-27 19:24:08 +00:00
Jump to dictionary when show word from dictionary headwords dialog
This commit is contained in:
parent
e107975d8c
commit
46298a842c
|
@ -140,6 +140,8 @@ void DictHeadwords::setup( Dictionary::Class *dict_ )
|
||||||
|
|
||||||
setWindowIcon( dict->getIcon() );
|
setWindowIcon( dict->getIcon() );
|
||||||
|
|
||||||
|
dictId = QString( dict->getId().c_str() );
|
||||||
|
|
||||||
QApplication::restoreOverrideCursor();
|
QApplication::restoreOverrideCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,7 +221,7 @@ void DictHeadwords::itemClicked( const QModelIndex & index )
|
||||||
if ( value.canConvert< QString >() )
|
if ( value.canConvert< QString >() )
|
||||||
{
|
{
|
||||||
QString headword = value.toString();
|
QString headword = value.toString();
|
||||||
emit headwordSelected( headword );
|
emit headwordSelected( headword, dictId );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,6 +33,7 @@ protected:
|
||||||
QStringListModel * model;
|
QStringListModel * model;
|
||||||
QSortFilterProxyModel * proxy;
|
QSortFilterProxyModel * proxy;
|
||||||
WordListItemDelegate * delegate;
|
WordListItemDelegate * delegate;
|
||||||
|
QString dictId;
|
||||||
|
|
||||||
QAction helpAction;
|
QAction helpAction;
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@ private slots:
|
||||||
void helpRequested();
|
void helpRequested();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void headwordSelected( QString const & );
|
void headwordSelected( QString const &, QString const & );
|
||||||
void closeDialog();
|
void closeDialog();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -2102,7 +2102,7 @@ void MainWindow::translateInputChanged( QString const & newValue )
|
||||||
wordFinder.prefixMatch( req, getActiveDicts() );
|
wordFinder.prefixMatch( req, getActiveDicts() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::translateInputFinished( bool checkModifiers )
|
void MainWindow::translateInputFinished( bool checkModifiers, QString const & dictID )
|
||||||
{
|
{
|
||||||
QString word = Folding::unescapeWildcardSymbols( translateLine->text() );
|
QString word = Folding::unescapeWildcardSymbols( translateLine->text() );
|
||||||
|
|
||||||
|
@ -2112,7 +2112,7 @@ void MainWindow::translateInputFinished( bool checkModifiers )
|
||||||
if ( checkModifiers && ( mods & (Qt::ControlModifier | Qt::ShiftModifier) ) )
|
if ( checkModifiers && ( mods & (Qt::ControlModifier | Qt::ShiftModifier) ) )
|
||||||
addNewTab();
|
addNewTab();
|
||||||
|
|
||||||
showTranslationFor( word );
|
showTranslationFor( word, 0, dictID );
|
||||||
|
|
||||||
if ( cfg.preferences.searchInDock )
|
if ( cfg.preferences.searchInDock )
|
||||||
{
|
{
|
||||||
|
@ -2536,7 +2536,8 @@ void MainWindow::showHistoryItem( QString const & word )
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::showTranslationFor( QString const & inWord,
|
void MainWindow::showTranslationFor( QString const & inWord,
|
||||||
unsigned inGroup )
|
unsigned inGroup,
|
||||||
|
QString const & dictID )
|
||||||
{
|
{
|
||||||
ArticleView *view = getCurrentArticleView();
|
ArticleView *view = getCurrentArticleView();
|
||||||
|
|
||||||
|
@ -2546,7 +2547,7 @@ void MainWindow::showTranslationFor( QString const & inWord,
|
||||||
( groupInstances.empty() ? 0 :
|
( groupInstances.empty() ? 0 :
|
||||||
groupInstances[ groupList->currentIndex() ].id );
|
groupInstances[ groupList->currentIndex() ].id );
|
||||||
|
|
||||||
view->showDefinition( inWord, group );
|
view->showDefinition( inWord, group, dictID );
|
||||||
|
|
||||||
updatePronounceAvailability();
|
updatePronounceAvailability();
|
||||||
updateFoundInDictsList();
|
updateFoundInDictsList();
|
||||||
|
@ -3507,6 +3508,13 @@ void MainWindow::wordReceived( const QString & word)
|
||||||
translateInputFinished( false );
|
translateInputFinished( false );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::headwordReceived( const QString & word, const QString & ID )
|
||||||
|
{
|
||||||
|
toggleMainWindow( true );
|
||||||
|
translateLine->setText( Folding::escapeWildcardSymbols( word ) );
|
||||||
|
translateInputFinished( false, QString( "gdfrom-" )+ ID );
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::updateHistoryMenu()
|
void MainWindow::updateHistoryMenu()
|
||||||
{
|
{
|
||||||
if ( ui.historyPane->toggleViewAction()->isChecked() )
|
if ( ui.historyPane->toggleViewAction()->isChecked() )
|
||||||
|
@ -3766,8 +3774,8 @@ void MainWindow::showDictionaryHeadwords( Dictionary::Class * dict )
|
||||||
{
|
{
|
||||||
headwordsDlg = new DictHeadwords( this, cfg, dict );
|
headwordsDlg = new DictHeadwords( this, cfg, dict );
|
||||||
addGlobalActionsToDialog( headwordsDlg );
|
addGlobalActionsToDialog( headwordsDlg );
|
||||||
connect( headwordsDlg, SIGNAL( headwordSelected( QString ) ),
|
connect( headwordsDlg, SIGNAL( headwordSelected( QString, QString ) ),
|
||||||
this, SLOT( wordReceived( QString ) ) );
|
this, SLOT( headwordReceived( QString, QString ) ) );
|
||||||
connect( headwordsDlg, SIGNAL( closeDialog() ),
|
connect( headwordsDlg, SIGNAL( closeDialog() ),
|
||||||
this, SLOT( closeHeadwordsDialog() ) );
|
this, SLOT( closeHeadwordsDialog() ) );
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,6 +77,7 @@ public slots:
|
||||||
void messageFromAnotherInstanceReceived( QString const & );
|
void messageFromAnotherInstanceReceived( QString const & );
|
||||||
void showStatusBarMessage ( QString const &, int, QPixmap const & );
|
void showStatusBarMessage ( QString const &, int, QPixmap const & );
|
||||||
void wordReceived( QString const & );
|
void wordReceived( QString const & );
|
||||||
|
void headwordReceived( QString const &, QString const & );
|
||||||
void setExpandMode( bool expand );
|
void setExpandMode( bool expand );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -329,7 +330,7 @@ private slots:
|
||||||
|
|
||||||
void currentGroupChanged( QString const & );
|
void currentGroupChanged( QString const & );
|
||||||
void translateInputChanged( QString const & );
|
void translateInputChanged( QString const & );
|
||||||
void translateInputFinished( bool checkModifiers = true );
|
void translateInputFinished( bool checkModifiers = true, QString const & dictID = QString() );
|
||||||
|
|
||||||
/// Closes any opened search in the article view, and focuses the translateLine/close main window to tray.
|
/// Closes any opened search in the article view, and focuses the translateLine/close main window to tray.
|
||||||
void handleEsc();
|
void handleEsc();
|
||||||
|
@ -364,7 +365,8 @@ private slots:
|
||||||
|
|
||||||
void mutedDictionariesChanged();
|
void mutedDictionariesChanged();
|
||||||
|
|
||||||
void showTranslationFor( QString const &, unsigned inGroup = 0 );
|
void showTranslationFor( QString const &, unsigned inGroup = 0,
|
||||||
|
QString const & dictID = QString() );
|
||||||
|
|
||||||
void showTranslationFor( QString const &, QStringList const & dictIDs,
|
void showTranslationFor( QString const &, QStringList const & dictIDs,
|
||||||
QRegExp const & searchRegExp );
|
QRegExp const & searchRegExp );
|
||||||
|
|
Loading…
Reference in a new issue