cmake: avoid de-duplication of user's CXXFLAGS
[quassel.git] / src / qtui / channellistdlg.h
index f48d7cc..c4e172a 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-09 by the Quassel Project                          *
+ *   Copyright (C) 2005-2022 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
 #ifndef CHANNELLISTDLG_H
 #define CHANNELLISTDLG_H
 
-#include "ui_channellistdlg.h"
+#include <QSortFilterProxyModel>
 
 #include "irclisthelper.h"
 #include "irclistmodel.h"
 #include "types.h"
 
-#include <QSortFilterProxyModel>
+#include "ui_channellistdlg.h"
 
 class QSpacerItem;
 
@@ -36,19 +36,36 @@ class ChannelListDlg : public QDialog
     Q_OBJECT
 
 public:
-    ChannelListDlg(QWidget *parent = 0);
+    ChannelListDlg(QWidget* parent = nullptr);
 
     void setNetwork(NetworkId netId);
 
-protected slots:
+    /**
+     * Set the channel search string, enabling advanced mode if needed
+     *
+     * Sets the channel name search text to the specified string, enabling advanced mode.  If search
+     * string is empty, advanced mode will be automatically hidden.
+     *
+     * @param channelFilters Partial channel name to search for, or empty to not filter by name
+     */
+    void setChannelFilters(const QString& channelFilters);
+
+public slots:
+    /**
+     * Request a channel listing using any parameters set in the UI
+     */
     void requestSearch();
-    void receiveChannelList(const NetworkId &netId, const QStringList &channelFilters, const QList<IrcListHelper::ChannelDescription> &channelList);
+
+protected slots:
+    void receiveChannelList(const NetworkId& netId,
+                            const QStringList& channelFilters,
+                            const QList<IrcListHelper::ChannelDescription>& channelList);
     void reportFinishedList();
-    void joinChannel(const QModelIndex &);
+    void joinChannel(const QModelIndex&);
 
 private slots:
     inline void toggleMode() { setAdvancedMode(!_advancedMode); }
-    void showError(const QString &error);
+    void showError(const QStringerror);
 
 private:
     void showFilterLine(bool show);
@@ -56,15 +73,19 @@ private:
     void enableQuery(bool enable);
     void setAdvancedMode(bool advanced);
 
+    /**
+     * Update the focus of input widgets according to dialog state
+     */
+    void updateInputFocus();
+
     Ui::ChannelListDlg ui;
 
-    bool _listFinished;
+    bool _listFinished{true};
     NetworkId _netId;
     IrcListModel _ircListModel;
     QSortFilterProxyModel _sortFilter;
-    QSpacerItem *_simpleModeSpacer;
-    bool _advancedMode;
+    QSpacerItem* _simpleModeSpacer{nullptr};
+    bool _advancedMode{false};
 };
 
-
-#endif //CHANNELLIST_H
+#endif  // CHANNELLIST_H