diff options
| author | Leifa♥ <26681464+TrickyLeifa@users.noreply.github.com> | 2022-07-31 04:57:01 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-31 05:57:01 +0300 |
| commit | 1cfbfd51a70ae61279f53a1b14dbc0c81fe1d259 (patch) | |
| tree | 65bb1eee810a15016498740c0c8d23d073e664b3 /include | |
| parent | 14731a0fca83f3ce193ec03a19bc2f5fefe70c6c (diff) | |
Added server list context menu, ... (#835)
* Added server list context menu, ...
Resolve #832, #560
* The demo server listing now always appears at the top for consistency.
* Add a context menu to server listing.
Only appears during favorite server listing. Requires a valid item under cursor. Cannot be the demo server item.
* Add a new UI element: `remove_from_fav`
Only appears during favorite server listing. Require a selection to remove. Cannot be the demo server.
Uses `removefromfav.png` and `removefromfav_pressed.png` images as textures.
* Favorite servers are now loaded whenever the Lobby is created in addition to refresh and server listing switch.
* `serverlist.txt` is now renamed to `(deprecated)serverlist.txt` if read from.
* Updated comments
* Typos
Diffstat (limited to 'include')
| -rw-r--r-- | include/aoapplication.h | 24 | ||||
| -rw-r--r-- | include/lobby.h | 4 |
2 files changed, 23 insertions, 5 deletions
diff --git a/include/aoapplication.h b/include/aoapplication.h index f1ba9d7..52b7673 100644 --- a/include/aoapplication.h +++ b/include/aoapplication.h @@ -131,11 +131,14 @@ public: /////////////////////////////////////////// - void set_favorite_list(); + void load_favorite_list(); + void save_favorite_list(); QVector<server_type> &get_favorite_list() { return favorite_list; } // Adds the server to favorite_servers.ini void add_favorite_server(int p_server); + void remove_favorite_server(int p_server); + void prompt_remove_favorite_server(int p_server); void set_server_list(QVector<server_type> &servers) { server_list = servers; } QVector<server_type> &get_server_list() { return server_list; } @@ -331,13 +334,24 @@ public: // Append to the currently open demo file if there is one void append_to_demofile(QString packet_string); - // Returns the contents of serverlist.txt - QVector<server_type> read_serverlist_txt(); + /** + * @brief Reads favorite_servers.ini and returns a list of servers. + * + * The demo server entry is always present at the top of the list. + * + * If the server list returned was to be empty (exluding the demo server entry), + * will return a list of servers from the legacy serverlist.txt file. + * + * @return A list of servers. + */ + QVector<server_type> read_favorite_servers(); /** - * @brief Migrates the favorite serverlist format from txt to ini. + * @brief Reads serverlist.txt and returns a list of servers. + * + * @return A list of servers. */ - void migrate_serverlist_txt(QFile &p_serverlist_txt); + QVector<server_type> read_legacy_favorite_servers(); // Returns the value of p_identifier in the design.ini file in p_design_path QString read_design_ini(QString p_identifier, VPath p_design_path); diff --git a/include/lobby.h b/include/lobby.h index 18d4c4e..d39d7f9 100644 --- a/include/lobby.h +++ b/include/lobby.h @@ -67,6 +67,7 @@ private: AOButton *ui_refresh; AOButton *ui_add_to_fav; + AOButton *ui_remove_from_fav; AOButton *ui_connect; QLabel *ui_version; @@ -99,12 +100,15 @@ private slots: void on_refresh_released(); void on_add_to_fav_pressed(); void on_add_to_fav_released(); + void on_remove_from_fav_pressed(); + void on_remove_from_fav_released(); void on_connect_pressed(); void on_connect_released(); void on_about_clicked(); void on_settings_clicked(); void on_server_list_clicked(QTreeWidgetItem *p_item, int column); void on_server_list_doubleclicked(QTreeWidgetItem *p_item, int column); + void on_server_list_context_menu_requested(const QPoint &point); void on_server_search_edited(QString p_text); }; |
