mirror of
https://github.com/xiaoyifang/goldendict-ng.git
synced 2024-11-23 20:14:05 +00:00
Merge 488eda61e4
into 6efdb09b1a
This commit is contained in:
commit
b53b67e08b
|
@ -29,7 +29,8 @@ DictGroupWidget::DictGroupWidget( QWidget * parent,
|
|||
vector< sptr< Dictionary::Class > > const & dicts,
|
||||
Config::Group const & group ):
|
||||
QWidget( parent ),
|
||||
groupId( group.id )
|
||||
groupId( group.id ),
|
||||
groupName( group.name )
|
||||
{
|
||||
ui.setupUi( this );
|
||||
ui.dictionaries->populate( Instances::Group( group, dicts, Config::Group() ).dictionaries, dicts );
|
||||
|
@ -139,6 +140,7 @@ Config::Group DictGroupWidget::makeGroup() const
|
|||
|
||||
g.favoritesFolder = ui.favoritesFolder->text().replace( '\\', '/' );
|
||||
|
||||
g.name = groupName;
|
||||
return g.makeConfigGroup();
|
||||
}
|
||||
|
||||
|
@ -558,8 +560,7 @@ void DictGroupsWidget::populate( Config::Groups const & groups,
|
|||
connect( gr, &DictGroupWidget::showDictionaryInfo, this, &DictGroupsWidget::showDictionaryInfo );
|
||||
connect( gr->getModel(), &DictListModel::contentChanged, this, &DictGroupsWidget::tabDataChanged );
|
||||
|
||||
QString toolTipStr =
|
||||
"\"" + tabText( x ) + "\"\n" + tr( "Dictionaries: " ) + QString::number( getDictionaryCountAt( x ) );
|
||||
QString toolTipStr = tr( "Dictionaries: " ) + QString::number( getDictionaryCountAt( x ) );
|
||||
setTabToolTip( x, toolTipStr );
|
||||
}
|
||||
|
||||
|
@ -577,7 +578,6 @@ Config::Groups DictGroupsWidget::makeGroups() const
|
|||
|
||||
for ( int x = 0; x < count(); ++x ) {
|
||||
result.push_back( dynamic_cast< DictGroupWidget & >( *widget( x ) ).makeGroup() );
|
||||
result.back().name = Utils::unescapeAmps( tabText( x ) );
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -648,6 +648,7 @@ int DictGroupsWidget::addNewGroup( QString const & name )
|
|||
Config::Group newGroup;
|
||||
|
||||
newGroup.id = nextId++;
|
||||
newGroup.name = name;
|
||||
|
||||
const auto gr = new DictGroupWidget( this, *allDicts, newGroup );
|
||||
const int idx = insertTab( currentIndex() + 1, gr, Utils::escapeAmps( name ) );
|
||||
|
@ -655,8 +656,7 @@ int DictGroupsWidget::addNewGroup( QString const & name )
|
|||
|
||||
connect( gr->getModel(), &DictListModel::contentChanged, this, &DictGroupsWidget::tabDataChanged );
|
||||
|
||||
const QString toolTipStr =
|
||||
"\"" + tabText( idx ) + "\"\n" + tr( "Dictionaries: " ) + QString::number( getDictionaryCountAt( idx ) );
|
||||
const QString toolTipStr = tr( "Dictionaries: " ) + QString::number( getDictionaryCountAt( idx ) );
|
||||
setTabToolTip( idx, toolTipStr );
|
||||
return idx;
|
||||
}
|
||||
|
@ -910,13 +910,13 @@ void DictGroupsWidget::groupsByMetadata()
|
|||
addGroupBasedOnMap( groupToDicts );
|
||||
}
|
||||
|
||||
|
||||
QString DictGroupsWidget::getCurrentGroupName() const
|
||||
{
|
||||
const int current = currentIndex();
|
||||
|
||||
if ( current >= 0 ) {
|
||||
return Utils::unescapeAmps( tabText( current ) );
|
||||
auto * w = qobject_cast< DictGroupWidget * >( widget( current ) );
|
||||
return w->name();
|
||||
}
|
||||
|
||||
return {};
|
||||
|
@ -927,6 +927,8 @@ void DictGroupsWidget::renameCurrentGroup( QString const & name )
|
|||
const int current = currentIndex();
|
||||
|
||||
if ( current >= 0 ) {
|
||||
auto * w = dynamic_cast< DictGroupWidget * >( widget( current ) );
|
||||
w->setName( name );
|
||||
setTabText( current, Utils::escapeAmps( name ) );
|
||||
}
|
||||
}
|
||||
|
@ -971,8 +973,7 @@ void DictGroupsWidget::combineGroups( int source, int target )
|
|||
|
||||
connect( model, &DictListModel::contentChanged, this, &DictGroupsWidget::tabDataChanged );
|
||||
|
||||
const QString toolTipStr = "\"" + tabText( target ) + "\"\n" + tr( "Dictionaries: " )
|
||||
+ QString::number( model->getCurrentDictionaries().size() );
|
||||
const QString toolTipStr = tr( "Dictionaries: " ) + QString::number( model->getCurrentDictionaries().size() );
|
||||
setTabToolTip( target, toolTipStr );
|
||||
}
|
||||
|
||||
|
@ -1124,8 +1125,8 @@ void DictGroupsWidget::contextMenu( QPoint const & pos )
|
|||
|
||||
void DictGroupsWidget::tabDataChanged()
|
||||
{
|
||||
const QString toolTipStr = "\"" + tabText( currentIndex() ) + "\"\n" + tr( "Dictionaries: " )
|
||||
+ QString::number( getCurrentModel()->getCurrentDictionaries().size() );
|
||||
const QString toolTipStr =
|
||||
tr( "Dictionaries: " ) + QString::number( getCurrentModel()->getCurrentDictionaries().size() );
|
||||
setTabToolTip( currentIndex(), toolTipStr );
|
||||
}
|
||||
|
||||
|
|
|
@ -121,9 +121,6 @@ class DictGroupWidget: public QWidget
|
|||
public:
|
||||
DictGroupWidget( QWidget * parent, std::vector< sptr< Dictionary::Class > > const &, Config::Group const & );
|
||||
|
||||
/// Makes the group's configuration out of the data currently held.
|
||||
/// Since the group's name is not part of the widget by design right now
|
||||
/// (it is known by the containing tab widget only), it is returned as empty.
|
||||
Config::Group makeGroup() const;
|
||||
|
||||
DictListModel * getModel() const
|
||||
|
@ -136,6 +133,16 @@ public:
|
|||
return ui.dictionaries->selectionModel();
|
||||
}
|
||||
|
||||
QString name()
|
||||
{
|
||||
return groupName;
|
||||
}
|
||||
|
||||
void setName( const QString & name )
|
||||
{
|
||||
groupName = name;
|
||||
}
|
||||
|
||||
private slots:
|
||||
|
||||
void groupIconActivated( int );
|
||||
|
@ -145,6 +152,7 @@ private slots:
|
|||
private:
|
||||
Ui::DictGroupWidget ui;
|
||||
unsigned groupId;
|
||||
QString groupName;
|
||||
|
||||
signals:
|
||||
void showDictionaryInfo( QString const & id );
|
||||
|
|
Loading…
Reference in a new issue