Commit Graph

430 Commits

Author SHA1 Message Date
David Nadlinger 69718fca90 gui: Improve fuzzy-select heuristics
Even though the code already used non-greedy wildcards before,
it would not find the shortest match, as earlier match starts
would still take precedence.

This could possibly be sped up a bit in CPython by doing
everything inside re using lookahead-assertion trickery, but the
current code is already imperceptibly fast for hundreds of
choices.
2020-08-14 02:13:45 +01:00
David Nadlinger f36692638c dashboard: Add "Quick Open" dialog for experiments on global shortcut
This is similar to functionality in Sublime Text, VS Code, etc.
2020-06-26 10:11:33 +08:00
Sebastien Bourdeauducq 3adc799785 update GUI background 2019-11-15 13:49:09 +08:00
Sebastien Bourdeauducq 3fd6962bd2 use sipyco (#585) 2019-11-10 15:55:17 +08:00
David Nadlinger 5fd92a6175 gui: Fix crash when quickly opening/closing applets
Quickly closing/reopening applets (e.g. quickly clicking the checkbox
on an entire folder of applets) would previously lead to an occasional
KeyError on the self.dock_to_item access in on_dock_closed, as close()
would be invoked more than once.

The geometry/checked state handling can potentially be cleaned up
further, but at least this avoid the crash.
2019-03-10 20:57:10 +00:00
Sebastien Bourdeauducq af9ea1f324 gui: update background 2018-11-26 01:01:36 +08:00
Robert Jördens 494ffca4d3 gui,scan: add CenterScan Scannable variant
* parametrized by center/span/step instead of
  start/stop/npoints which is more convenient in some applications
* no scan widget support so far

Signed-off-by: Robert Jördens <rj@quartiq.de>
2018-11-15 13:30:43 +08:00
Sebastien Bourdeauducq 1ba12e1cdb gui/log: print messages in tooltips
This helps reading long messages in small log windows.
2018-08-17 13:21:38 +08:00
Robert Jördens 95b3ddbaf0 scanwidget: protect against resize from zero
fix #839
2017-10-11 22:26:18 +02:00
Sebastien Bourdeauducq cda9719f4b gui: update version number in background 2017-10-02 12:43:49 +08:00
Chris Ballance 58da76a169 gui: remove unnecessary state test 2017-03-31 16:48:39 +08:00
Chris Ballance bdf1ca25c6 scannable: fix RangeScan randomize seeding 2017-03-31 16:48:39 +08:00
Chris Ballance 07c71bf020 language,gui: combine LinearScan and RandomScan into RangeScan. Closes #679 2017-03-31 16:48:39 +08:00
Sebastien Bourdeauducq 3aced46b19 dashboard: report lost connection with master. Closes #602 2017-01-30 10:48:27 +08:00
Sebastien Bourdeauducq c5b55c1dfe applets: compatibility with older Qt. Closes #629 2016-11-29 10:45:07 +08:00
Sebastien Bourdeauducq 89417a47b2 gui: use bare QSpinBox for integer NumberEntries. Closes #558 2016-09-14 10:53:24 +08:00
Sebastien Bourdeauducq 4bdbc5b259 applets: use a different workaround to disable editing
True to itself, Qt did not miss the opportunity to trash widgets inside
QTreeWidgetItems when they are moved by drag-and-drop. Problem known for
more than 6 years and still not fixed as of Qt 5.7.
2016-09-09 12:55:01 +08:00
Sebastien Bourdeauducq 6144839beb applets: support group-level CCB policies 2016-09-09 11:38:55 +08:00
Sebastien Bourdeauducq ff20ed2710 applets: two column table, remove spurious Qt text editors 2016-09-09 09:07:31 +08:00
raghu 9b937e08f4 added repetitions for no scan, repetitions set to one when disable other scans selected. Closes #532 2016-09-08 11:03:00 +08:00
Sebastien Bourdeauducq b982832ddc gui/applets: support passing command line arguments to code applets 2016-09-07 00:56:39 +08:00
Sebastien Bourdeauducq 5d293d14c6 gui/applets: fix teardown of half-initialized applets 2016-09-06 23:06:31 +08:00
Sebastien Bourdeauducq f6b5d6d20f gui/applets: fix handling of process creation failure 2016-09-06 23:01:04 +08:00
Sebastien Bourdeauducq 56e3c80623 dashboard: support for code applets 2016-09-06 22:38:34 +08:00
Sebastien Bourdeauducq deb51eaaa1 gui: update version number in logo 2016-09-05 23:04:44 +08:00
Sebastien Bourdeauducq 549e09e06b applets: simplify command lines 2016-09-04 23:32:09 +08:00
Sebastien Bourdeauducq 8f6c4451ac gui/applets: support groups, creating and deleting applet groups, renaming groups, moving applets from one group to another and reordering applets and groups via drag-and-drop 2016-09-04 23:09:26 +08:00
Sebastien Bourdeauducq 4e3bb01e7e gui/log: support copying entries to clipboard. Closes #280 2016-08-15 20:19:25 +08:00
Sebastien Bourdeauducq b7151a253f gui: improve search of hierarchical datasets. Closes #258 2016-08-14 18:33:24 +08:00
Robert Jördens 17582047cb ScientificSpinBox: fix suffix/prefix 2016-08-14 11:28:30 +02:00
Robert Jördens 9775faa322 gui: use ScientificSpinBox for NoScan and NumberValue (#460) 2016-08-11 17:02:21 +02:00
Robert Jördens 941f6fc859 gui: auto-set ScientificSpinBox relative_step and precision in ScanWidget 2016-08-11 17:01:38 +02:00
Robert Jördens 6fe23b8899 gui: new ScientificSpinBox (from 09f9293) closes #460 2016-08-11 16:51:56 +02:00
Robert Jördens 1c8202e207 gui: cleanup compact_exponential, 15 digits 2016-08-11 14:18:27 +02:00
Sebastien Bourdeauducq 8a243d322f gui/applets: hack completer model to block noxious dataChanged signal. Closes #464 2016-08-07 18:57:08 +08:00
Sebastien Bourdeauducq 591e44b227 gui/applets: capture applet stdout/stderr and redirect to log. Closes #472 2016-08-04 17:53:42 +08:00
Robert Jördens f183f87840 gui.entries: avoid intermediate value feedback, closes #533 2016-08-04 11:36:19 +02:00
Sebastien Bourdeauducq 60657c30b0 dashboard: add button to disable other scans 2016-06-15 19:06:04 +08:00
Sebastien Bourdeauducq 3b63c39d2f gui/scanwidget: use -inf/inf to represent absence of boundaries (consistently with QDoubleSpinbox) 2016-06-11 17:25:46 -06:00
Sebastien Bourdeauducq 765e3f0b5d gui/entries/_RangeScan: set range before setting value. Fixes clamping to 99.99 2016-06-11 17:25:46 -06:00
Sebastien Bourdeauducq 60d8e30ecd scanwidget: value may be None 2016-06-11 17:25:46 -06:00
Sebastien Bourdeauducq e9a8c4b540 gui/entries: remove unneeded parent 2016-06-03 22:56:45 -04:00
Sebastien Bourdeauducq e6a351c5ea gui: fix explicit scan input validation 2016-05-30 15:45:28 -05:00
Sebastien Bourdeauducq 03eeec55b2 gui: better log levels 2016-05-30 15:04:49 -05:00
Sebastien Bourdeauducq 55fdfc618b gui/log: fix clearing multi-line messages 2016-05-28 13:48:02 -05:00
Sebastien Bourdeauducq a120a09d79 gui/log: add clear button (#411) 2016-05-28 11:10:32 -05:00
Sebastien Bourdeauducq ab749560c2 dashboard: forward local log messages to docks, replace status bar (#411) 2016-05-28 11:10:25 -05:00
Sebastien Bourdeauducq 10267f39c9 log: use broadcast instead of sync_struct, filter on new messages only (#411) 2016-05-27 23:43:29 -05:00
Robert Jördens f24f7380f5 gui: fix new() being called with arguments by qt (closes #444) 2016-05-25 23:13:00 +02:00
Sebastien Bourdeauducq b3e55b753b environment,dashboard: generalize multiple defaults, fix HDF5 argument load 2016-05-24 08:58:34 -05:00
Sebastien Bourdeauducq 43081b4f64 language,gui: support setting unselected scan default values. Closes #417 2016-05-23 15:03:05 -07:00
Robert Jördens af317f9b64 gui.models: clean up LocalModelManager a bit 2016-05-20 16:12:11 +02:00
Robert Jördens e5a75ea0f4 gui.log: export LogDock 2016-05-20 16:12:11 +02:00
Robert Jördens 7a71939201 dashboard.log -> gui.log 2016-05-20 16:12:11 +02:00
Robert Jördens 5b5c9b2bb7 browser: pass mods to applets (closes #434) 2016-05-13 15:27:23 +02:00
Robert Jördens c5fcb6b8d5 dashboard: use get_open_file_name 2016-05-08 18:14:01 +02:00
Robert Jördens 5332c198c2 gui/tools: add getOpenFileName 2016-05-07 19:01:14 +02:00
Sebastien Bourdeauducq dec323b097 gui/applets: catch duplicate applet UIDs (#430) 2016-05-07 11:47:17 +08:00
Sebastien Bourdeauducq fc4effb91d update logo 2016-04-30 00:30:24 +08:00
Sebastien Bourdeauducq 063639662e applets: also accept '/' as dataset path separator for completion 2016-04-25 00:04:40 +08:00
Sebastien Bourdeauducq e91961fbae applets: dataset name completion 2016-04-24 23:51:55 +08:00
Robert Jördens 7be3ffe79f scanwidget: spelling 2016-04-20 16:29:39 +02:00
Sebastien Bourdeauducq 3134106a11 gui/models: handle Qt calling DictSyncTreeSepModel.index with garbage inputs. Closes #388 2016-04-11 20:11:22 +08:00
Robert Jördens d6beec1a55 dashboard: allow more than 99 scan points 2016-04-08 10:21:49 +08:00
Sebastien Bourdeauducq f530815305 gui/applets: use templates instead of formats 2016-04-06 17:02:26 +08:00
Sebastien Bourdeauducq 7e2e182315 put dashboard-specific files in separate directory 2016-04-06 15:45:02 +08:00
Sebastien Bourdeauducq 1d94cfd8ed gui: save/restore geometry of applets when they are disabled/enabled. Closes #375 2016-04-06 15:18:21 +08:00
Sebastien Bourdeauducq 04d4067e7f gui/state: add debug logging 2016-04-06 15:14:33 +08:00
Robert Jördens 1f152bceb2 browser: own package, own datasets dock 2016-04-05 18:50:29 +08:00
Robert Jördens 1814f12152 gui/datasets: rm unused imports/style 2016-04-05 18:50:29 +08:00
Sebastien Bourdeauducq fc524961b2 dashboard/moninj: fancy level setting and layout improvements. Closes #163 2016-04-05 18:38:05 +08:00
Robert Jördens aaa81a63d1 browser: use LocalModelManager, make the 'explorer' the central widget 2016-04-05 17:22:16 +08:00
Robert Jördens 4edfd6caa4 qui/models: add LocalModelManager 2016-04-05 17:22:16 +08:00
Robert Jördens 826d529756 gui/results: add QListView 2016-04-05 17:22:16 +08:00
Robert Jördens 670e8907a5 artiq_browser: load from hdf5 2016-04-05 17:22:16 +08:00
Robert Jördens 91a362c898 add artiq_browser 2016-04-05 17:22:16 +08:00
Sebastien Bourdeauducq 2dfc1a8d17 gui/explorer: display filenames and classes in tooltips. Closes #371 2016-04-05 13:26:00 +08:00
Sebastien Bourdeauducq d9b2968426 gui/models/DictSyncTreeSepModel: support tooltips 2016-04-05 13:25:14 +08:00
Robert Jördens d095d481ff gui.models: style 2016-04-04 23:38:56 +08:00
Sebastien Bourdeauducq 667aca8a1c gui/experiment: fix recompute argument error handling 2016-04-02 23:03:06 +08:00
Sebastien Bourdeauducq deb9a60ca3 gui: setParent(None) before deleteLater() to remove dock appears unnecessary and causes memory corruption on Windows. Closes #362 2016-03-30 11:40:00 +08:00
Sebastien Bourdeauducq 059aa2f83e gui: do 60114447 properly 2016-03-30 01:47:50 +08:00
Sebastien Bourdeauducq 6011444789 gui: log error and bail out on artiq_gui.pyon write failure (#360) 2016-03-30 01:45:00 +08:00
Sebastien Bourdeauducq dc2c19f08f gui/schedule: support terminating all experiments in a pipeline. Closes #262 2016-03-29 17:34:38 +08:00
Sebastien Bourdeauducq b59283f85e gui/applets: use a better default size, make minimum size proportional to font 2016-03-29 17:10:37 +08:00
Robert Jördens 049bd11bd6 scanwidget: handle min, max, suffix (closes #352) 2016-03-28 16:59:49 +02:00
Sebastien Bourdeauducq 3f333a58af gui/log: split lines correctly 2016-03-25 20:01:02 +08:00
Sebastien Bourdeauducq 5c6e2d7a3a gui/log: send Qt model notifications correctly 2016-03-25 20:00:52 +08:00
Sebastien Bourdeauducq bebd89c959 gui: redesign table/trees to avoid slow and buggy qt/pyqt autosize. Closes #182. Closes #187. 2016-03-25 18:33:22 +08:00
Sebastien Bourdeauducq befbab5571 gui: add image applet 2016-03-23 17:04:22 +08:00
Robert Jördens 80b13b1263 scanwidget: cleanup interactive behavior (48a0208) 2016-03-18 21:53:06 +01:00
Robert Jördens d60eaa7b44 scanwidget: fix div by zero rubberband width (closes #335) (4b8fe1e) 2016-03-18 09:04:35 +01:00
Sebastien Bourdeauducq 223657fa63 gui/experiments: improve resilience to broken/outdated artiq_gui.pyon 2016-03-18 13:04:51 +08:00
Robert Jördens f816c7d8d8 scanwidget: add shift-lmb and ctrl-lmb drag modes (1d78c78) 2016-03-18 00:07:28 +01:00
Robert Jördens 33da27a749 experiment/gui: support reverse scan (closes #246) 2016-03-17 22:37:17 +01:00
Sebastien Bourdeauducq 2859382e11 gui: display repository scanning status and revision. Closes #274 2016-03-18 00:40:54 +08:00
Sebastien Bourdeauducq fb8a5486e3 gui/moninj: compute size of widgets based on font sizes 2016-03-17 18:38:27 +08:00
Sebastien Bourdeauducq f73934112b gui/moninj: flow layout 2016-03-17 18:18:31 +08:00
Sebastien Bourdeauducq 633bbc457d gui/schedule: work around Qt bug when first row is inserted with due date. Closes #329 2016-03-17 13:20:29 +08:00
Robert Jördens 61223fb053 scanwidget: min 3 ticks (f3b4cb2) 2016-03-17 00:30:13 +01:00