added 'Hide empty rooms' toggle to lobby
fixed typo fixed typo fixed typo clang
This commit is contained in:
		
				
					committed by
					
						
						Narr the Reg
					
				
			
			
				
	
			
			
			
						parent
						
							8a33f8bd30
						
					
				
				
					commit
					54ab154696
				
			@@ -77,6 +77,7 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list,
 | 
			
		||||
    // UI Buttons
 | 
			
		||||
    connect(ui->refresh_list, &QPushButton::clicked, this, &Lobby::RefreshLobby);
 | 
			
		||||
    connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned);
 | 
			
		||||
    connect(ui->hide_empty, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterEmpty);
 | 
			
		||||
    connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull);
 | 
			
		||||
    connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch);
 | 
			
		||||
    connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom);
 | 
			
		||||
@@ -329,6 +330,16 @@ bool LobbyFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex& s
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // filter by empty rooms
 | 
			
		||||
    if (filter_empty) {
 | 
			
		||||
        QModelIndex member_list = sourceModel()->index(sourceRow, Column::MEMBER, sourceParent);
 | 
			
		||||
        int player_count =
 | 
			
		||||
            sourceModel()->data(member_list, LobbyItemMemberList::MemberListRole).toList().size();
 | 
			
		||||
        if (player_count == 0) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // filter by filled rooms
 | 
			
		||||
    if (filter_full) {
 | 
			
		||||
        QModelIndex member_list = sourceModel()->index(sourceRow, Column::MEMBER, sourceParent);
 | 
			
		||||
@@ -399,6 +410,11 @@ void LobbyFilterProxyModel::SetFilterOwned(bool filter) {
 | 
			
		||||
    invalidate();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void LobbyFilterProxyModel::SetFilterEmpty(bool filter) {
 | 
			
		||||
    filter_empty = filter;
 | 
			
		||||
    invalidate();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void LobbyFilterProxyModel::SetFilterFull(bool filter) {
 | 
			
		||||
    filter_full = filter;
 | 
			
		||||
    invalidate();
 | 
			
		||||
 
 | 
			
		||||
@@ -130,12 +130,14 @@ public:
 | 
			
		||||
 | 
			
		||||
public slots:
 | 
			
		||||
    void SetFilterOwned(bool);
 | 
			
		||||
    void SetFilterEmpty(bool);
 | 
			
		||||
    void SetFilterFull(bool);
 | 
			
		||||
    void SetFilterSearch(const QString&);
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    QStandardItemModel* game_list;
 | 
			
		||||
    bool filter_owned = false;
 | 
			
		||||
    bool filter_empty = false;
 | 
			
		||||
    bool filter_full = false;
 | 
			
		||||
    QString filter_search;
 | 
			
		||||
};
 | 
			
		||||
 
 | 
			
		||||
@@ -77,6 +77,13 @@
 | 
			
		||||
           </property>
 | 
			
		||||
          </widget>
 | 
			
		||||
         </item>
 | 
			
		||||
         <item>
 | 
			
		||||
          <widget class="QCheckBox" name="hide_empty">
 | 
			
		||||
           <property name="text">
 | 
			
		||||
            <string>Hide Empty Rooms</string>
 | 
			
		||||
           </property>
 | 
			
		||||
          </widget>
 | 
			
		||||
         </item>
 | 
			
		||||
         <item>
 | 
			
		||||
          <widget class="QCheckBox" name="hide_full">
 | 
			
		||||
           <property name="text">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user