summaryrefslogtreecommitdiff
path: root/ui/qt/capture_interfaces_dialog.cpp
AgeCommit message (Collapse)AuthorFilesLines
2014-11-04Qt: Dynamic languagesMichal Labedzki1-0/+16
- get language as soon as possible (before creating any Qt objects) to make all translations working - dynamic list of supported languages - runtime change of GUI language (no need to restart application) - add flags icons support - search for *.qm languages in buildin resources, then data dir called "languages" (main directory in sources or /usr/share/wireshark/languages), then user directory (UNIX: ~/.wireshark/languages); "languages" directory should contains files wireshark_xx.qm where xx is language code (en, en_GB, etc.), and optional xx.svg for flag icon - try to fix some untranslated manually-created UI items (need manual reset text of those components) Change-Id: I62ca8a8cddce47cec9dbcad6b0bd68b6cfd92229 Reviewed-on: https://code.wireshark.org/review/5041 Tested-by: Michal Labedzki <michal.labedzki@tieto.com> Reviewed-by: Michal Labedzki <michal.labedzki@tieto.com>
2014-08-29Qt: Rework the "Manage Interfaces" dialog.Gerald Combs1-43/+41
Convert QTableWidget to QTreeWidget. It looks like the GTK+ version has a separate set of apply/save buttons for each tab which *only* operates on that tab. This can result unexpected behavior which throws away changes if the user updates more than one tab. Use a single "OK" button that applies all of our changes instead. Reorder the tabs. Put Local Interfaces first and select it by default. Always show Remote Interfaces. Disable it on platforms that don't have PCAP_REMOTE. Automatically start editing when we add a new pipe. Don't immediately update pipe interface settings. Wait until we hit "OK" instead. Rename NewFileDelegate to PathChooserDelegate. Note that we might want to move it use it elsewhere in the application. Try switching the user-facing terminology from "Hide" to the more positive "Show". Tell the user that we don't save pipe or remote interface settings. Add a help URL for the "Manage Interfaces" dialog box. Use the GLib and Qt string functions and classes to split and join comma-separated preferences. This makes sure capture_dev_user_descr_find doesn't skip over the first interface. It also keeps the Qt code from adding a leading comma to our capture preferences. Add a note about strings to README.qt. Summary: Use QStrings. For another day: - If we *do* save remote settings we need to store credentials securely, e.g. with CryptProtectData. - Get rid of the remote settings dialogs. Their controls should fit in the remote settings tab. - Add an extcap tab. - We need getter/setter functions for global_capture_opts.all_ifaces. We iterate over it *way* too much. Change-Id: Ib7b61972f3ece4325e0230f725e7f2678acbb24b Reviewed-on: https://code.wireshark.org/review/3873 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-08-18Capture Options: Add functionality to options and output tabIrene Ruengeler1-13/+241
Change-Id: I4a2116fe5b7ae3997dd7b0f2693aa511f9d52061 Reviewed-on: https://code.wireshark.org/review/3688 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-08-08Qt: Make buildbot happyAlexis La Goutte1-1/+1
capture_interfaces_dialog.cpp: In member function ‘void CaptureInterfacesDialog::updateStatistics()’: capture_interfaces_dialog.cpp:483:100: error: operation on ‘points’ may be undefined [-Werror=sequence-point] QList<int> *points = points = ti->data(col_traffic_, Qt::UserRole).value<QList<int> *>(); Change-Id: I63afb0f207142d516403968f6a3e988f8ad61d4d Reviewed-on: https://code.wireshark.org/review/3491 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-08-08Use a QTreeWidget instead of QTableWidget.Gerald Combs1-208/+267
Even though Qt's widget naming suggests otherwise, a QTreeWidget is usually a better choice for tables than QTableWidget. The former gives you a nice, clean Plain Old Table while the latter gives you something that looks and acts like a spreadsheet. In this particular instance using QTreeWidget also gives us the option of adding sub-items with detailed information. Do so for attached addresses. Allow sorting by traffic while we're here. Simplify the column hiding logic. Make sure the sparkline delegate isn't editable. Change-Id: Ia36ba2e12c1c0cb86ae5b2154e6afcf6549ae049 Reviewed-on: https://code.wireshark.org/review/3466 Reviewed-by: Gerald Combs <gerald@wireshark.org> Tested-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-08-02CompiledFilterOutput dialog fixes and updates.Gerald Combs1-1/+0
Apply a layout to the "Compiled Filter Output" dialog. Render the filter as monospaced text. Don't add an "expert OK" icon to the list. It doesn't seem to indicate any sort of status. Use a "Close" button instead of "OK". According to http://uxmovement.com/buttons/why-the-ok-button-is-no-longer-okay/ "OK" implies we're going to perform some sort of action. Add a "Copy" button while we're here. Change-Id: Ia63f3032916e322fa9f4f2d465140b128b4f8078 Reviewed-on: https://code.wireshark.org/review/3338 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-07-22Our users are not particpants in a comedy sketch.Gerald Combs1-10/+22
In way too many places in the GTK+ code we wait for the user to do something wrong, leap out from behind the bushes, yell "AHA!", and hit them in the face with a herring^W error dialog. We really need to not do that. We also shouldn't carry that behavior over to the Qt UI. If the user shouldn't press a button it should be disabled. Do so for the "Compile BPF" and "Start" buttons. Change-Id: Iad9c15951d5ae640ea82ca74d5f0c26e88bd2554 Reviewed-on: https://code.wireshark.org/review/3156 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-07-22Don't connect to non-existent slots.Guy Harris1-1/+6
(Run-time warning, not compile-time error, alas.) Change-Id: I002ca132d2c7cbc2cfd802438edb4509ff76bcbc Reviewed-on: https://code.wireshark.org/review/3155 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-21Rename ifListChanged to localInterfaceListChanged.Guy Harris1-1/+1
That better indicates that it reflects changes to the list of local interfaces on the system, as supplied by libpcap/WinPcap, not to any other interface list we maintain, such as lists of remote interfaces, or the list of non-hidden interfaces. Change-Id: Idf79b365e07f2e3eaa83c105ae9cd7ace54c435e Reviewed-on: https://code.wireshark.org/review/3154 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-21Have the interface "tree" directly connect to ifListChanged.Guy Harris1-1/+1
Then have the capture interfaces dialog connect only *its* code to update *its* list of interfaces to ifListChanged, rather than connecting a routine that then emits interfaceListChanged. This makes it the responsibility of each widget that displays local interfaces to connect to the ifListChanged signal. Change-Id: Iff8e8ca4202c8784eed58c8f05175d986a16baea Reviewed-on: https://code.wireshark.org/review/3153 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-21Make the Qt version update displays when interfaces appear or disappear.Guy Harris1-0/+1
Change-Id: If1218baaae9dcd93ddb1cea81ac5457f90a57c6c Reviewed-on: https://code.wireshark.org/review/3152 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-07-02Manage InterfacesIrene Ruengeler1-1/+17
- Add dialog to manage interfaces - Add and delete pipes - Hide local interfaces Change-Id: I08323c306c2ea736f99e57c28e2fe3170a0c2216 Reviewed-on: https://code.wireshark.org/review/2613 Tested-by: Anders Broman <a.broman58@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
2014-06-30Move capture_ui_utils.[ch] to libui.Guy Harris1-1/+1
Change-Id: Id0f3d4d60a1acc7aa64fd3737b8f16df5bca4e5a Reviewed-on: https://code.wireshark.org/review/2708 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-16Fix Dead Store (Dead assignement/Dead increment) warning found by ClangAlexis La Goutte1-2/+1
Change-Id: I781c7eec381d3296d15e666385f549e44f62e3f1 Reviewed-on: https://code.wireshark.org/review/2226 Reviewed-by: Evan Huus <eapache@gmail.com>
2014-06-14Define INET6 for all platforms.Irene Ruengeler1-0/+4
Show the addresses as a tooltip in capture interfaces. Change-Id: I911784e09ed9479229a7d6f8a7f1476e2e1e6224 Reviewed-on: https://code.wireshark.org/review/2155 Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-06-12Try to fix a used-but-not-set warning.Guy Harris1-1/+3
I'm guessing that GCC is complaining because "device" isn't guaranteed to be set (if there are no interfaces, the body of the loop will never be executed), so do with the list of link-layer header types what's done for the buffer size and snapshot length. But should the column-setting code be executed if the interface isn't found? Change-Id: I8c365a482b8af44cdd1c1a7f41ca611141387c86 Reviewed-on: https://code.wireshark.org/review/2180 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-12Capture Interfaces Dialog:Irene Ruengeler1-99/+510
- allow to change the interface options in the table - save the options to preferences when the dialog is left - add a field for setting a capture filter for all selected interfaces - add a "Compile BPF" button and a window to show the compiled filter output - try to address Alexis' and Evan's comments Change-Id: Ic1272e29183ec80e2d2f4b3e494c79dabe2c3b6f Reviewed-on: https://code.wireshark.org/review/1946 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-12-23From Ville Skyttä: Spelling FixesBill Meier1-1/+1
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9591 svn path=/trunk/; revision=54387
2013-12-21Argh, fix include.Jakub Zawadzki1-1/+1
I start thinking about compiling (read: installing) Qt... svn path=/trunk/; revision=54339
2013-12-21fix warnings.Jakub Zawadzki1-0/+1
svn path=/trunk/; revision=54338
2013-12-13Capture Interfaces dialog cleanup.Gerald Combs1-10/+34
Apply layouts as needed to allow resizing. Select the interface list by row. We might want to switch the interface list to a QTreeWidget. Today I learned that you can make QGroupBox titles checkable. Do that where we enable and disable groups of items. Flatten all of the group boxes. Change the output format combo to radio buttons. There are only two choices and we have lots of real estate available. Use a QDialogButtonBox so Qt can size and order the buttons appropriately. svn path=/trunk/; revision=54052
2013-12-06From Thomas ERSFELD (GSoC13)Alexis La Goutte1-0/+2
Hiding monitor column when not available svn path=/trunk/; revision=53809
2013-12-06Fix warning when launch Qt PortAlexis La Goutte1-2/+3
QMetaObject::connectSlotsByName: No matching signal for on_tbInterfaces_hideEvent(QHideEvent*) QMetaObject::connectSlotsByName: No matching signal for on_tbInterfaces_showEvent(QShowEvent*) Object::connect: No such slot CaptureInterfacesDialog::tableItemPressed(QTableWidgetItem *) Object::connect: (sender name: 'tbInterfaces') Object::connect: (receiver name: 'CaptureInterfacesDialog') svn path=/trunk/; revision=53808
2013-11-25Have to include config.h before including headers that use #defines,Guy Harris1-2/+1
such as HAVE_LIBPCAP, from config.h. svn path=/trunk/; revision=53583
2013-11-25No libpcap, no capturing, no capture interfaces. Ifdef the entireGuy Harris1-17/+3
capture interfaces dialog code, *and* the code that calls it, under HAVE_LIBPCAP. Still more stuff to remove from the no-pcap UI, such as the Capture menu, the capture filter in the main window, and the list of interfaces in the main window. svn path=/trunk/; revision=53582
2013-11-25From Thomas ERSFELD (GSoC13) and me : Try to fix OSX-10.5-x86 (without ↵Alexis La Goutte1-9/+25
pcap...) Buildbot svn path=/trunk/; revision=53572
2013-11-25From Thomas ERSFELD (GSoC13) : Try to fix Windows buildbotAlexis La Goutte1-0/+2
svn path=/trunk/; revision=53566
2013-11-25From Thomas ERSFELD (GSoC13) : Add Capture interface dialog windowAlexis La Goutte1-0/+400
* Reuse sparkline from welcome * Split settings in tab (!= GTK) * No all feature work (Work In Progress...) * ... Comments (and review) are welcome ! svn path=/trunk/; revision=53563