modernize: Prefer default member init over ctor init
[quassel.git] / src / qtui / channellistdlg.h
index bb25fb2..cfa45a3 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2005-2013 by the Quassel Project                        *
+ *   Copyright (C) 2005-2018 by the Quassel Project                        *
  *   devel@quassel-irc.org                                                 *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -36,12 +36,27 @@ 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();
+
+protected slots:
     void receiveChannelList(const NetworkId &netId, const QStringList &channelFilters, const QList<IrcListHelper::ChannelDescription> &channelList);
     void reportFinishedList();
     void joinChannel(const QModelIndex &);
@@ -56,14 +71,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};
 };