23 #ifndef __SERVERLIST_H_ 
   24 #define __SERVERLIST_H_ 
   45 class QSortFilterProxyModel;
 
   56         void cleanUpRightNow();
 
   62         bool hasAtLeastOneServer() 
const;
 
   64         bool isAnyColumnSortedAdditionally() 
const;
 
   65         bool isSortingAdditionallyByColumn(
int column) 
const;
 
   66         bool isSortingByColumn(
int columnIndex);
 
   68         void removeCustomServers();
 
   69         void removeNonSpecialServers();
 
   70         QList<ServerPtr> selectedServers() 
const;
 
   71         QList<ServerPtr> servers() 
const;
 
   72         QList<ServerPtr> serversForPlugin(
const EnginePlugin *plugin) 
const;
 
   74         ServerPtr serverFromIndex(
const QModelIndex &);
 
   84         void refreshSelected();
 
   85         void registerServer(ServerPtr server);
 
   86         void removeServer(
const ServerPtr &server);
 
   92         void setGroupServersWithPlayersAtTop(
bool b);
 
   94         void tableMiddleClicked();
 
   95         void tableRightClicked(
const QModelIndex &index, 
const QPoint &cursorPosition);
 
   96         void updateCountryFlags();
 
   97         void updateSearch(
const QString &search);
 
  111         void serverDeregistered(ServerPtr);
 
  118         void serverRegistered(ServerPtr);
 
  119         void serverDoubleClicked(
const ServerPtr &);
 
  120         void serversSelected(QList<ServerPtr> &);
 
  128         Qt::SortOrder sortOrder;
 
  132         bool areColumnsWidthsSettingsChanged();
 
  134         void connectTableModelProxySlots();
 
  135         void clearAdditionalSorting();
 
  140         Qt::SortOrder getColumnDefaultSortOrder(
int columnId);
 
  142         void initCleanerTimer();
 
  144         void prepareServerTable();
 
  146         void removeAdditionalSortingForColumn(
const QModelIndex &modelIndex);
 
  147         void saveColumnsWidthsSettings();
 
  149         void setupTableColumnWidths();
 
  150         void setupTableProperties(QSortFilterProxyModel *tableModel);
 
  152         void sortAdditionally(
const QModelIndex &modelIndex, Qt::SortOrder order);
 
  154         Qt::SortOrder swappedCurrentSortOrder();
 
  156         void updateCountryFlags(
bool force);
 
  159         void columnHeaderClicked(
int);
 
  160         void contextMenuAboutToHide();
 
  161         void contextMenuTriggered(QAction *action);
 
  162         void doubleClicked(
const QModelIndex &);
 
  163         void itemSelected(
const QItemSelection &);
 
  164         void mouseEntered(
const QModelIndex &);
 
  165         void saveAdditionalSortingConfig();
 
  166         void onServerBegunRefreshing(
const ServerPtr &server);
 
  167         void onServerUpdated(
const ServerPtr &server);
 
  168         void updateHeaderTitles();