summaryrefslogtreecommitdiffhomepage
path: root/gui/ui.h
AgeCommit message (Collapse)Author
2016-06-16all: split "api" into "api" and "logic"Stanislaw Halik
Here, the "logic" module has all the stuff for building one's own graphical user interface. The "api" module has stuff used by other trackers. While at it, each of "api", "logic", and "compat" need their own export headers. This is because of preprocessor symbol clashes. This is all because a change in the "gui"-only dependency required a relink of all the trackers, protocols, and flters. It takes too long when building in the release configuration. With the split, only the "gui" module gets rebuilt. Since it has close to no static dependencies, it's fast enough.
2016-06-14gui, spline-widget, compat/options: ensure no qsettings IO when not modifiedStanislaw Halik
Turns out every MainWindow::save() and friends were doing useless IO several times during each save. I blame the bundle abstraction. For bundles we track the modified state, but the spline widget needs equality check since it doesn't use the options api. It was found by accident when adding qDebug() into the slider_value {de,}serializer code. The .ini file was being rewritten over and over again causing hundres of milliseconds pauses on Windows. Remove the save timer kludge from gui. Saves are now fast.
2016-05-15many: remove executable bit from source filesStanislaw Halik
We no longer have this recurring problem since I enabled ignoring executable bit changes on the Windows workstation.
2016-05-15api,gui: disable all keyboard shortcuts while binding a keyStanislaw Halik
Previous disallowed binding an already-bound key on Unix since Qxt doesn't pass through bound keys unlike the Windows implementation. Refactor some common code. The Windows implementation isn't even compile-tested.
2016-04-29api, main: implement new keybindingsStanislaw Halik
The following keybindings are now implemented: - restart tracking. if not started, starts. - toggle (keep position) while key held - zero (keep zero) while key held The latter two options only work for Windows as libqxt doesn't support them. Closes #291
2015-12-20gui: don't update main window if we're minimizedStanislaw Halik
Shaves off 12% runtime in minimized case.
2015-12-18ui: make more compactStanislaw Halik
2015-12-06gui/keys: allow for pausing global keystrokes for options dialogStanislaw Halik
Toggling tracking while prompting for toggle tracking key causes a deadlock somewhere.
2015-12-06api, main: implement global shortcuts for controlling trackingStanislaw Halik
Issue: #252 That involves moving stuff around to get rid of circular dependencies. You need to bind keys to shortcuts again this once.
2015-12-05api/shortcuts: no longer keep shortcuts hardcodedStanislaw Halik
2015-11-01all: adjust options.hpp move to compatStanislaw Halik
2015-10-30rename gui directoryStanislaw Halik