private:
/**
- * @brief Set visibility for filtering related UI elements
+ * @brief Set visibility for filtering text field and clearing button
*
* @param visible True if items should be visible, false if not
*/
/**
* @brief Takes care of grabbing and releasing the keyboard when required
*
- * Keyboard is grabbed when MainWindow it the topmost window and FriendListPanel is visible.
- * Releasing is done if the MainWindow is not the topmost window and/or FriendListPanel
- * is invisible.
+ * Keyboard is grabbed when MainWindow it the topmost window, panel tab is open and
+ * FriendListPanel is visible. Releasing is done if the MainWindow is not the topmost window
+ * or panel tab is not open or FriendListPanel is invisible.
*/
void updateKeyboardGrabbing();
private slots:
+ /**
+ * @brief Called when any of the panel tabs is closed
+ *
+ * Does clear the filtering. Calls updateKeyboardGrabbing() for releasing the grabbing when
+ * FriendListPanel is closed, not changed to other panel. In this case the hideEvent() is
+ * not triggered.
+ */
void anyPanelClosed();
+ /**
+ * @brief Called when any of the panel tabs is opened
+ *
+ * Calls updateKeyboardGrabbing() for grabbing the keyboard when FriendListPanel is closed and
+ * is the last selected tab. In this case the showEvent() is not triggered.
+ */
void anyPanelOpened();
/**
void clearFiltering();
/**
- * @brief Set filtering UI elements visibility based on the filtering text value
+ * @brief Updates the filtering when filtering text value is changed
*
* Filtering UI elements are invoked when the text becomes not empty and hidden when text
* becomes empty.
*
+ * Sets the new filtering text.
+ *
* @param text New text value
*/
void filterTextChanged(const QString &text);
******************************************************************************/
private:
bool m_mainWindowIsTopmost; ///< Is the MainWindow the topmost one
- bool m_somePanelIsOpen;
+ bool m_somePanelIsOpen; ///< Is any panel tab open
QLabel *m_friendListLabel; ///< Friend list label