Skip to content

Commit

Permalink
Fixes #1421: Add "delete server" button to connect dialog
Browse files Browse the repository at this point in the history
  • Loading branch information
pljones committed Nov 2, 2023
1 parent 1265a7f commit 327a07f
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 0 deletions.
33 changes: 33 additions & 0 deletions src/connectdlg.cpp
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,11 @@ CConnectDlg::CConnectDlg ( CClientSettings* pNSetP, const bool bNewShowCompleteR
cbxServerAddr->setAccessibleName ( tr ( "Server address edit box" ) );
cbxServerAddr->setAccessibleDescription ( tr ( "Holds the current server address. It also stores old addresses in the combo box list." ) );

butDeleteServerAddr->setAccessibleName ( tr ( "Delete server address button" ) );
butDeleteServerAddr->setWhatsThis ( "<b>" + tr ( "Delete Server Address" ) + ":</b> " +
tr ( "Click the button to clear the currently selected server address "
"and delete it from the list of stored servers." ) );

UpdateDirectoryComboBox();

// init server address combo box (max MAX_NUM_SERVER_ADDR_ITEMS entries)
Expand Down Expand Up @@ -179,6 +184,9 @@ CConnectDlg::CConnectDlg ( CClientSettings* pNSetP, const bool bNewShowCompleteR

QObject::connect ( butConnect, &QPushButton::clicked, this, &CConnectDlg::OnConnectClicked );

// tool buttons
QObject::connect ( butDeleteServerAddr, &QPushButton::clicked, this, &CConnectDlg::OnDeleteServerAddrClicked );

// timers
QObject::connect ( &TimerPing, &QTimer::timeout, this, &CConnectDlg::OnTimerPing );

Expand Down Expand Up @@ -731,6 +739,31 @@ void CConnectDlg::OnConnectClicked()
done ( QDialog::Accepted );
}

void CConnectDlg::OnDeleteServerAddrClicked()
{
if ( cbxServerAddr->currentText().isEmpty() )
{
return;
}

// move later items down one
for ( int iLEIdx = 0; iLEIdx < MAX_NUM_SERVER_ADDR_ITEMS - 1; iLEIdx++ )
{
while ( pSettings->vstrIPAddress[iLEIdx].compare ( cbxServerAddr->currentText() ) == 0 )
{
for ( int jLEIdx = iLEIdx + 1; jLEIdx < MAX_NUM_SERVER_ADDR_ITEMS; jLEIdx++ )
{
pSettings->vstrIPAddress[jLEIdx - 1] = pSettings->vstrIPAddress[jLEIdx];
}
}
}
// empty last entry
pSettings->vstrIPAddress[MAX_NUM_SERVER_ADDR_ITEMS - 1] = QString();

// redisplay to pick up updated list
showEvent ( nullptr );
}

void CConnectDlg::OnTimerPing()
{
// send ping messages to the servers in the list
Expand Down
1 change: 1 addition & 0 deletions src/connectdlg.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ public slots:
void OnExpandAllStateChanged ( int value ) { ShowAllMusicians ( value == Qt::Checked ); }
void OnCustomDirectoriesChanged();
void OnConnectClicked();
void OnDeleteServerAddrClicked();
void OnTimerPing();
void OnTimerReRequestServList();

Expand Down
24 changes: 24 additions & 0 deletions src/connectdlgbase.ui
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,30 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="butDeleteServerAddr">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Ignored">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>24</width>
<height>16777215</height>
</size>
</property>
<property name="font">
<font>
<bold>true</bold>
</font>
</property>
<property name="text">
<string notr="true">⌫</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
Expand Down

0 comments on commit 327a07f

Please sign in to comment.