From 77751c94f17e2c110ae9e88b1780e279d610b96b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stig=20Bj=C3=B8rlykke?= Date: Sat, 15 Apr 2017 23:30:30 +0200 Subject: Qt: Add interface toolbar support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit An extcap utility can provide configuration for controls to use in a GUI interface toolbar. This controls are bidirectional and can be used to control the extcap utility while capturing. This is useful in scenarios where configuration can be done based on findings in the capture process, setting temporary values or give other inputs without restarting current capture. Todo: - Add support for Windows Change-Id: Ie15fa67f92eb27d8b73df6bb36f66b9a7d81932d Reviewed-on: https://code.wireshark.org/review/19982 Petri-Dish: Stig Bjørlykke Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke --- ui/qt/interface_toolbar_lineedit.h | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 ui/qt/interface_toolbar_lineedit.h (limited to 'ui/qt/interface_toolbar_lineedit.h') diff --git a/ui/qt/interface_toolbar_lineedit.h b/ui/qt/interface_toolbar_lineedit.h new file mode 100644 index 0000000000..e26a50c976 --- /dev/null +++ b/ui/qt/interface_toolbar_lineedit.h @@ -0,0 +1,71 @@ +/* interface_toolbar_lineedit.h + * + * Wireshark - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef INTERFACE_TOOLBAR_LINEEDIT_H +#define INTERFACE_TOOLBAR_LINEEDIT_H + +#include + +class StockIconToolButton; + +class InterfaceToolbarLineEdit : public QLineEdit +{ + Q_OBJECT + +public: + explicit InterfaceToolbarLineEdit(QWidget *parent = 0, QString validation_regex = QString(), bool is_required = false); + void disableApplyButton(); + +protected: + void resizeEvent(QResizeEvent *); + +signals: + void editedTextApplied(); + +private slots: + void validateText(); + void validateEditedText(); + void applyEditedText(); + +private: + bool isValid(); + void updateStyleSheet(bool is_valid); + + StockIconToolButton *apply_button_; + QString validation_regex_; + bool is_required_; + bool text_edited_; +}; + +#endif // INTERFACE_TOOLBAR_LINEEDIT_H + +/* + * Editor modelines + * + * Local Variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ -- cgit v1.2.1