Commit Graph

234 Commits

Author SHA1 Message Date
Srivats P
12f81a1dba Enable/Disable cut-copy-paste actions as required
Cut: focus widget has a selection, a 'cut' slot and 'canCut'
Copy: focus widget has a selection and a 'copy' slot
Paste: focus widget has a 'paste' slot and can accept the clipboard item
2020-03-16 22:26:16 +05:30
Srivats P
7227dd734b Fix build break due to missing include file 2020-03-14 21:42:29 +05:30
Srivats P
18d024481f Add cut-copy-paste to Edit menu and context-menu
Actions have been added to context-menu for stream list and device group
list only for now.
2020-03-14 21:13:24 +05:30
Srivats P
4b16c95b2a Add cut-copy-paste support for devicegroups 2020-03-11 18:19:55 +05:30
Srivats P
43f6959dcc Add cut-copy-paste support for streams 2020-03-11 18:19:55 +05:30
Srivats P
fd6f2c2508 Move copy support for Logs Window to Logs Model
The model is the correct place to determine what data gets copied. This
also paves way to support other models where the data to be copied is
not plain text
2020-03-11 18:19:55 +05:30
Srivats P
88ddb97a52 Find Wireshark exe path when given .app path
Also change the default Wireshark path value to match what recent
versions of Wireshark are using

Fixes #288
2020-02-14 18:47:02 +05:30
Srivats P
3889780d79 Allow editing of external program paths in Preferences
GUI file picker can still be used, but is not required.

Updates #288
2020-02-13 18:28:21 +05:30
Srivats P
018a8490cf Fix stream rate calculation when avg rate changes from 0 to > 0
Fixes #294
2020-01-30 18:06:47 +05:30
Srivats P
d2ae04c488 Fix session file not saving port stream stats 2020-01-19 12:04:57 +05:30
Srivats P
518c7b804b Change logo icon to the full logo instead of a quadrant
* Changed Main Window icon - should change icon in taskbar also
* Changed Windows Icon
* Changed MacOS Icon
2019-08-28 21:37:45 +05:30
Srivats P
a88cfe35bb Increase main window height to make room for stats 2019-08-28 18:26:09 +05:30
Srivats P
c8a4c3eee9 Restore XTreeView functionality
I thought Qt5 had fixed this behaviour 'bug', but apparently not. So we
still need XTreeView - for Qt5 also.
2019-08-24 12:14:50 +05:30
Srivats P
36e0a64f81 Revert "Use persistent model index in devices widget"
This reverts commit 46dd028a33.

The above commit caused a regression - issue #281

As seen in valgrind, crash was caused by portModel reset writing into
a freed block - presumably pertaining to persistent indexes. The block
was freed by the persistent index itself earlier when it was set to
invalid - so the model should not have been accessing that.

The application code seems correct - maybe the Qt code has a bug?
Unlikely but not impossible. For now go back to using QModelIndex
instead of QPersistentModelIndex

Fixes #281
2019-08-24 11:59:41 +05:30
Srivats P
46dd028a33 Use persistent model index in devices widget 2019-08-10 18:55:23 +05:30
Srivats P
6974f4016f Replace the deprecated qSort with std::sort 2019-07-26 21:24:25 +05:30
Srivats P
0a2154d31b Re-add about.png icon that was removed by mistake 2019-07-10 21:07:38 +05:30
Srivats P
23bc0c6890 Add 2019 to copyright years in About dialog 2019-07-10 20:39:58 +05:30
Srivats P
6e551017f4 Show all ports in port stats window at startup
If one or more ports were reserved, these were not shown at client
startup
2019-07-04 19:17:22 +05:30
Srivats P
98378b52e6 Fix ClearAllStats with View Reserved Ports Only 2019-07-04 19:00:13 +05:30
Srivats P
5e565167f2 Fix build break due to fprintf in previous commit 2019-07-02 19:14:38 +05:30
Srivats P
f24a6719fa Disable logs by default in release mode
Enable logs if '-d' command-line option is given.

Additional command-line options -
-v : print version
-h : print usage

Drone only:
-p <port-number> : use given port number for the RPC service
2019-07-02 18:25:31 +05:30
Srivats P
3fca24396d Report "Apply" time in logs 2019-07-02 18:24:55 +05:30
Srivats P
913ef5c0ee Add start/stop tx buttons to stream list window 2019-06-19 22:22:01 +05:30
Srivats P
6817d3f870 Resolve neighbors before build as part of "apply" 2019-05-31 18:34:07 +05:30
Srivats P
edc7ed677c Mark sync complete after build finish during apply
Since build is now the last step during "apply", use that to mark sync
complete. Since build will always be called irrespective of whether any
changes were made to devices/streams, we can now send the stream RPCs
only if required.

Additionally log RPC calls only if they are actually made.
2019-05-28 19:02:50 +05:30
Srivats P
7cf323202f Add new build() RPC
Make build an explicit RPC so that clients can call resolveNeighbor
before build
2019-05-28 18:46:58 +05:30
Srivats P
dbbb7597a4 Add Check for updates to main menu
Results will be displayed in a message box - if we have a new version or
if we are running the latest version.

Update check at startup will show message box only once in 5 days, other
times it will be shown in the status bar. If we are already on latest
version, nothing is shown.
2019-05-22 18:49:51 +05:30
Srivats P
52b522f92a Show new version availability in a message box 2019-05-22 18:49:51 +05:30
Srivats P
cd9758f165 Merge branch 'master' into hostdev 2019-04-11 18:56:49 +05:30
Srivats P
2614eb8645 Retrieve devices at startup even if no device groups
Now that we have host devices, we can have devices without having a
device group
2019-03-11 19:15:08 +05:30
Srivats P
2cd64061d1 Fix warning - no matching signal
For slot MainWindow::on_actionOpenSession_triggered(QString)
2019-02-26 18:12:18 +05:30
Srivats P
4a1b41670c Wrap LogsWindow contents 2019-02-25 21:45:39 +05:30
Srivats P
983a155ccf Update Qt icon for Help | About Qt menu item 2019-02-22 21:54:51 +05:30
Srivats P
0d1b4be682 Connect to local portgroup later in the app startup sequence
This allows drone to init itself and wait for connections before we
attempt to connect to it

Fixes #266
2019-02-22 20:34:59 +05:30
Srivats P
00bc01898d Show a progress dialog during Apply
The most time spent during apply is during packet rebuilding.
Unfortunately, there is no feedback from the drone to know the actual
progress, so this is just a busy indicator for now.

I tried to put a jump url to the FAQ on why it takes time, but 'coz the
app cursor is a "wait cursor", user cannot click on any widgets/elements
inside the dialog box - so this won't work.

Iterate on this dialog and what it displays based on user feedback.
2019-02-22 18:58:13 +05:30
Srivats P
9003d339bc Display all RPC failures and errors in the logs window 2019-02-21 20:51:18 +05:30
Srivats P
95578e5094 Add animated icons to LogsWindow tab 2019-02-10 18:15:35 +05:30
Srivats P
8b9cceb7ed HostDev: Return smac/dmac resolve failure via RPC 2019-02-09 17:16:31 +05:30
Srivats P
90d93d52e1 Merge branch 'master' into hostdev 2019-02-05 20:34:00 +05:30
Srivats P
6d438e2816 Fetch updated device info after resolve/clear neighbors
This matches the behaviour of these buttons within the devices widget
2019-02-02 13:26:40 +05:30
Srivats P
9d97fefad3 Add Resolve/Clear buttons to Device Info window
Fixes #189
2019-01-21 19:18:36 +05:30
Srivats P
1d6db2a86f Fix vertical alignment of Device Config row contents 2019-01-21 19:15:06 +05:30
Srivats P
7b8c5a878a Add Help|Donate menu item 2018-12-18 19:36:21 +05:30
Srivats P
cbf9ab1812 Change outbound URLs to https where available 2018-12-14 23:04:47 +05:30
Srivats P
c1f94ac5d4 Show both icon & text for the Status cell tooltip 2018-12-04 21:51:04 +05:30
Srivats P
f550cb0605 Adorn portList linkState icon with transmit/capture indicators
The new 'exclusive' indicator may need more work in the future
2018-12-03 21:14:05 +05:30
Srivats P
7409a98b6a Replace QFlags.setFlag() with &= for Qt 5.6 compatibility 2018-11-29 21:20:06 +05:30
Srivats P
496e044bdd Replace Port Stats Link/Tx/Capture state text with icons
* All 3 icons are combined into a single row instead of 3 separate rows
* Tooltip to clarify meaning of icons
* Qt Model-View displays icon left-aligned, so use a custom delegate to
  center-align it
* Add a icon for "Transmit On"
* Edit icons for "Start/Stop Capture"
2018-11-29 20:44:03 +05:30
Srivats P
5eea62f4f4 Fix build break by renaming xlocale.h to avoid name clash 2018-09-15 11:40:11 +05:30