@ -48,6 +48,7 @@ IConfigServers::IConfigServers(QWidget *parent) :
[ this ] ( const QModelIndex & sslIdx , const QModelIndex & passwordIdx ) {
ui - > servers - > openPersistentEditor ( sslIdx ) ;
ui - > servers - > openPersistentEditor ( passwordIdx ) ;
serversModified = true ;
} ) ;
ui - > servers - > setColumnWidth ( 2 , 50 ) ; // SSL column
@ -67,7 +68,8 @@ bool IConfigServers::isChanged() const
| | cf_AltNickame ! = ui - > edAltNickname - > text ( )
| | cf_Server ! = ui - > edServer - > text ( )
| | cf_Password ! = ui - > edServerPassword - > text ( )
| | cf_SSL ! = ui - > chkSSL - > isChecked ( ) ;
| | cf_SSL ! = ui - > chkSSL - > isChecked ( )
| | serversModified ;
}
bool IConfigServers : : connectToNewStatus ( ) const
@ -101,6 +103,8 @@ void IConfigServers::save()
if ( ! smodel . saveToFile ( ) )
QMessageBox : : warning ( this , tr ( " Failed to save servers.json " ) , tr ( " Unable to open servers.json for writing, changes will be lost upon next restart! " ) ) ;
else
serversModified = false ;
}
void IConfigServers : : reset ( )
@ -111,8 +115,15 @@ void IConfigServers::reset()
ui - > edAltNickname - > setText ( cf_AltNickame ) ;
ui - > edServer - > setText ( cf_Server ) ;
ui - > edServerPassword - > setText ( cf_Password ) ;
}
if ( serversModified ) {
smodel . reloadModel ( ) ;
serversModified = false ;
for ( const auto & index : smodel . getEditorColumns ( ) ) {
ui - > servers - > openPersistentEditor ( index ) ;
}
}
}
void IConfigServers : : on_btnShowPassword_toggled ( bool checked )
{
@ -166,8 +177,11 @@ void IConfigServers::on_btnDeleteSelected_clicked()
tr ( " Delete server " ) ,
tr ( " Confirm deletion of %1? " ) . arg ( item - > name ( ) ) ) ;
if ( btn = = QMessageBox : : No )
return ;
else
if ( btn = = QMessageBox : : Yes ) {
smodel . deleteEntry ( index ) ;
serversModified = true ;
}
else {
return ;
}
}