Commit graph

1438 commits

Author SHA1 Message Date
Teja
565f86c72b drag, scale and rotate designs. 2015-06-11 17:13:43 +02:00
Gina Häußge
46711ce365 pluginmanager: Support installing plugins that need --process-dependency-links
This might be necessary when plugins depend on (patched) library versions that are not yet released on PyPI
2015-06-10 19:34:33 +02:00
Gina Häußge
8353c9bdf5 Better fix for #931, stays backwards compatible to older setuptools versions
python-setuptools on OctoPi is quite old and trying to update in a local virtualenv apparently CAN cause problems (we had this with python-serial too a while back), so a backwards compatible solution is better here.
2015-06-10 17:25:23 +02:00
Gina Häußge
d2cd459f26 Marked deprecated PluginSettings.getInt etc methods as to remove with 1.3.0 2015-06-10 09:43:10 +02:00
Gina Häußge
06fb249f2e Send frontend translations with javascript mime type
Thanks @markwal
2015-06-10 09:14:39 +02:00
Gina Häußge
d9cbf786d5 Fix: Don't depend on presence of String.prototype.startsWith
Instead use direct comparison with "divider" (matches docs more closely anyhow)
2015-06-09 22:33:18 +02:00
Gina Häußge
5d5c3d74c1 softwareupdate: re-fetch check data on plugin lifecycle events
If plugins get enabled or disabled, the update check configuration needs to be refetched next time it's needed since there might have been changes to plugin implementing the check_info hook.
2015-06-09 19:03:38 +02:00
Gina Häußge
592cad5b99 Deprecated AppPlugin mixin and introduced octoprint.accesscontrol.appkey hook instead
Plugins implementing the mixin will automatically be migrated to providing the single mixin method as hook handler.
2015-06-09 18:50:55 +02:00
Gina Häußge
228fb21ceb softwareupdate: Also allow {target} in pip install urls, as a synonym for {target_version} 2015-06-09 17:33:41 +02:00
Gina Häußge
f813e6317b Updated and bundled german core translation 2015-06-09 15:00:43 +02:00
Gina Häußge
51cc994610 softwareupdate: Slight rewording of "current versions" information 2015-06-09 14:59:52 +02:00
Gina Häußge
7ae83a4031 Moved software update plugin into "OctoPrint" settings section 2015-06-09 14:59:09 +02:00
Gina Häußge
8696ce9291 Fix: Bundled plugins always take precedence over external ones 2015-06-09 13:54:21 +02:00
Gina Häußge
2e6240a910 Bundled Software Update Plugin 2015-06-09 13:35:03 +02:00
Gina Häußge
cd390a53af Updated links in footer 2015-06-09 13:04:29 +02:00
Gina Häußge
ef1c9724c7 Fix: Include all packages for a plugin during setup, not only the topmost one
Thanks @Salandora
2015-06-09 12:47:37 +02:00
Gina Häußge
a9d5e1643d Merge branch 'devel' of github.com:foosel/OctoPrint into devel 2015-06-09 11:00:55 +02:00
Gina Häußge
f00c8bba33 Frontend: All number inputs are now right-aligned 2015-06-09 10:51:59 +02:00
Gina Häußge
d43ead5b34 Frontend: Added option to allow partial settings save with callback
That's useful for plugins which only want to allow editing a selected segment of the whole settings set.
2015-06-09 10:51:20 +02:00
Gina Häußge
4b896fc327 Fixed webassets cache method to not hiccup on vanished files
Utilizing a monkey patch to catch ENOENT errors when calculating the hash of cached files.
2015-06-09 10:49:59 +02:00
Gina Häußge
be5a5f3c69 Fix: Also take configuration changes into account for update-necessary-check on assets
This way, changes to the minify parameter actually change behaviour...
2015-06-08 18:06:45 +02:00
Gina Häußge
fde543f19e [doc] octoprint.ui.web.templatetypes hook is now documented 2015-06-08 12:05:29 +02:00
Gina Häußge
804d832544 Made name entry for Plugin Manager settings dialog translateable 2015-06-08 08:22:40 +02:00
Gina Häußge
bbba7f2817 Assets are no longer needed in index view renderer
They are now bundled via Flask-Assets instead
2015-06-08 08:22:11 +02:00
Marc
9753a74db4 Addded possibility to add dividers to System Command Menu 2015-06-05 01:26:45 +02:00
Gina Häußge
a1568c43d3 Bundled german language pack 2015-06-04 10:18:20 +02:00
Gina Häußge
0d7d4cb142 Custom webassets filter that rewrites LESS imports
Need to point to ../less folder
2015-06-04 09:06:04 +02:00
Gina Häußge
8d3f933562 Fixed webassets cache method to also allow overwriting files under windows
Utilizing a monkey patch to swap os.rename for shutil.move, which also works if the target file already exists.
2015-06-04 09:05:31 +02:00
Gina Häußge
3dc0452a45 Adjusted docs to describe new web asset handling 2015-06-03 20:21:12 +02:00
Gina Häußge
261f6709a3 Depend on Flask-Assets 0.10
Compatibility adjustments and version pinning
2015-06-03 19:36:38 +02:00
Gina Häußge
b63f842210 Webassets are now written to ~/.octoprint/generated
Same holds true for cache files, so there should be no problem anymore with installs where the static folder is not writable.

Also introduced two new devel config vars to disable merging and minifying of the assets, solved the empty-less-bundle problem and made sure babel knows about the jinja extension.
2015-06-03 18:27:30 +02:00
Gina Häußge
55650cd416 AssetPlugins now necessitate a restart due to utilizing blueprints 2015-06-03 18:25:27 +02:00
Gina Häußge
157b78a052 WIP: Use Flask-Assets to merge js, css and less files
Should reduce number of requests and hence load times needed for loading web interface.

TODO: Handling of empty bundles needs to be fixed
2015-06-03 16:42:57 +02:00
Gina Häußge
db980689c8 Fixed GCODE viewer in zoomed out browsers
Closes #612
2015-06-03 13:25:30 +02:00
Gina Häußge
b714c59004 Allow specification of known long running commands through settings
This should allow users to adjust the behaviour of the communication stack more granularly in case the regular settings which only consider G4, G28, G29, G30, G32 to be real long runners without output are not sufficient.
2015-06-03 12:34:00 +02:00
Gina Häußge
d2bca10ac9 Slight refactoring of API key evaluation in restricted_access decorator
Actual test whether key is provided or not happens in before_request handler of flask app, hence the more granular processing in the decorator was unecessary since around november '14. Adjusted to only do the actual processing necessary to replicate login_required behaviour/login users if necessary.

Closes #516 (actually, that was solved since introduction of the before_request handler which took that work off the hands of the decorator, but now it's properly documented too)
2015-06-03 11:55:32 +02:00
Gina Häußge
27dcef3e23 New approach to matching up installed packages with plugins
Match against entry_point origins using both package name and package name plus version. If one of those matches (depends on pip version if output will include version or not), it's the plugin we are looking for.

This way we don't need to try to strip a version number from the package name as output by pip without knowing if a version number is included or not.
2015-06-03 10:46:58 +02:00
Gina Häußge
ba5e99c187 Use namedtuple for plugin.origin data structure and include package version 2015-06-03 10:44:27 +02:00
Mark Walker
35f2c6d788 Pip result parsing version numbers and extra lines
Some pip invocations return extra info after the Successfully installed
(like "Cleaning up...").  Also, not all packages include a version
number in their package names.
2015-06-02 23:31:03 -07:00
Gina Häußge
da58b14124 Display a message when no additional language packs are installed 2015-06-02 14:41:56 +02:00
Gina Häußge
02b7085543 Merge branch 'dev/translationsAsPackages' into devel
Conflicts:
	src/octoprint/server/__init__.py
2015-06-02 13:58:40 +02:00
Gina Häußge
fb85b228f0 Merge branch 'dev/translationsAsPackages' of github.com:foosel/OctoPrint into dev/translationsAsPackages
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/util/flask.py
	src/octoprint/server/views.py
2015-06-02 13:46:10 +02:00
Gina Häußge
52dd2ad7ac Management dialog for language packs
Allows managing language packs of core OctoPrint and plugins.
2015-06-02 13:39:10 +02:00
Gina Häußge
5904d01bff Unbundled translations, added new tools to bundle and pack translations
The only translation that is going to be bundled with OctoPrint for now will be .de, if at all. The reason simply being that this is the only translation I can update myself and hence guarantee a good user experience for.

setup.py now offers two new commands, babel_bundle and babel_pack, with which translations for plugins and core OctoPrint can be automatically bundled or packed as language packs once compiled. This should make sharing translations quite easy in the future.
2015-06-02 13:38:08 +02:00
Gina Häußge
7f8a3849c7 Adjusted messages.js compilation, debugged new i18n handling and added logging 2015-06-02 13:31:41 +02:00
Gina Häußge
106b21f288 New hook for specifying custom template types
TODO: documentation
2015-06-01 11:41:54 +02:00
Teja
583a86a483 ux improvements 2015-05-31 16:14:11 +02:00
Gina Häußge
449dd4301e Allow translations to be stored in ~/.octoprint
That is the first step towards downloadable (and separately managed) translation packages, decoupled from the software's release cycle and source control. Since it will be impossible to properly maintain all languages concurrently with OctoPrint's releases, decoupling that will hopefully increase the user experience through preventing broken translations (or stalling releases due to having to wait for the translations to be updated).
2015-05-29 19:44:11 +02:00
Gina Häußge
baf2a77e18 Updated German translation 2015-05-29 18:49:20 +02:00
Gina Häußge
ab1d28bb27 Removed some outdated code from the cura settings dialog 2015-05-29 18:48:58 +02:00
Gina Häußge
71319942d9 Fix: Don't have plugin i18n paths overwrite the core i18n path
Stopped translations bundled with OctoPrint to work
2015-05-29 18:23:16 +02:00
Gina Häußge
ff9765f668 Fixed font size in plugin manager's repository options 2015-05-29 16:46:22 +02:00
Gina Häußge
caef322b65 The Plugin Manager is now bundled with OctoPrint 2015-05-29 16:31:43 +02:00
Gina Häußge
a42868d7eb Allow marking plugins as uninstalled
Sometimes they will still get discovered by python even though their packages have since been uninstalled.
This will also lead to them being reloaded after an uninstall and a subsequent plugin reload.

Marking them as uninstalled and not handing out uninstalled plugins when collecting them solves this.
2015-05-29 16:25:18 +02:00
Gina Häußge
f2192ba232 Fix: Re-open detected serial port with specified baudrate
The serial port was previously kept open from the Stk500 initialization, which defaults to 115200 baud.

Closes #892
2015-05-29 11:36:36 +02:00
Teja
24160f0471 bugfix. local transformation was lost on path elements. 2015-05-29 09:45:41 +02:00
Gina Häußge
1a80aa854f Fix: "gcode" var was not properly parsed for queuing and queued command phases
Thanks @C-o-r-E for the heads-up
2015-05-28 20:20:51 +02:00
Gina Häußge
1e3f75c852 Merge branch 'rotate90' of https://github.com/markwal/OctoPrint into pr/markwal/rotate90
Conflicts:
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/less/octoprint.less
2015-05-28 19:14:02 +02:00
Teja
73226a5ec2 bugfix. local transform was flawed during path translation. 2015-05-28 17:28:40 +02:00
Gina Häußge
61af59cca1 New hooks for command processing in comm layer
Added phase specific hooks for queuing, queued, sending and sent phases of a command ("octoprint.comm.protocol.gcode.<phase>"). Removed old queuing phase hook and declared as obsolete hook in plugin manager to prevent plugins that depend on it from being enabled.

Adding those new hooks also necessitated refactoring the whole command processing, made it more modular and added phase specific handler functions that allow handling all blocking commands centrally for example.
2015-05-28 17:06:24 +02:00
Gina Häußge
1458503561 Logging for the virtual printer... 2015-05-28 17:03:03 +02:00
Teja
d1965eb856 bugfix. back to minified snap version 2015-05-28 16:41:01 +02:00
Gina Häußge
046fffdd14 Fixed a deadlock in the communication layer when pausing via M0
Using reentrant locks to allow sending of additional commands
2015-05-28 16:10:48 +02:00
Gina Häußge
2cfa3d9218 Refuse to enable plugins that utilize obsolete hooks
Since it cannot be reliably determined by the system if a hook is essential for a plugin's functionality or not, it makes more sense to just disable plugins that utilize obsolete hooks then risk running half working plugins.
2015-05-28 12:56:42 +02:00
Mark Walker
a294fb4e8b Use a namespace for the jquery event so it will be less likely to stomp
on another event handler that may be added elsewhere.
2015-05-27 23:11:33 -07:00
Teja
c52189d644 enlarged drop area 2015-05-27 15:46:51 +02:00
Teja
c6a2e9fe51 set minSpeed to 20 for better kraftplex support 2015-05-27 14:42:47 +02:00
Gina Häußge
ceb0e29da3 Changed existing octoprint.server.http.* hooks to prefix routes with /plugin/<identifier>/
This will hopefully prevent conflicting routes between multiple plugins from being registered and also ensures a more consistent behaviour compared to BlueprintPlugin mixins.

 Thanks to @Salandora for bringing this up.
2015-05-27 14:30:41 +02:00
Gina Häußge
3823216319 Some new styles for forms usable by plugins 2015-05-27 13:36:33 +02:00
Teja
47d257cf24 renaming snap plugin, svg contains text warning 2015-05-27 09:17:10 +02:00
Gina Häußge
3ac2d5dd34 Fixed Z-Timelapse for Z changes on `G1` moves
Solves #909
2015-05-26 18:46:50 +02:00
Gina Häußge
5c2a9ce5db Allow downloading all uploaded files, not just gcode and stl
Hidden files (starting with .) will produce a 404. This also excludes .metadata.yaml from being downloadable. The alternative of adding all extensions defined by plugins to the regex dynamically was not chosen since that would necessitate to make plugins implementing the "octoprint.filemanager.extension_tree" hook restart needing plugins in the lifecycle management for a minimal gain in perceived security.

Solves #897
2015-05-26 13:55:04 +02:00
Gina Häußge
ad054338b5 More/fixed documentation on the octoprint.server.util module 2015-05-26 13:16:01 +02:00
Teja
eb8d07f21e snapsvg plugin baking transforms into coordinates. 2015-05-26 09:52:07 +02:00
Teja
1ea9148baa bugfix in snapsvg - see issues #385, pull request #379 and commit d0085416bbd4fe4b8e86b47c7dcb76833459de28 2015-05-26 09:50:00 +02:00
Mark Walker
42f06d5147 Request issue #895: Rotate webcam image
Added a setting to allow -90 degree rotation. Combined with fliph and
flipv, I think this means every one of the 8 major orientations is covered
(2^3). 0, 90, 180, 270 times 2 (mirror image in each rotation). I chose
-90 instead of 90 because that keeps the upper left corner pinned to the
same spot.
The extra ms-transforms aren't for this issue exactly but allowed me to
test my changes in ie. I've tested Chrome, Firefox and IE11. I don't
have Safari handy, but if it breaks it *should* be only when this is
enabled.
2015-05-24 17:02:32 -07:00
Teja
7297343ca0 work in progress 2015-05-23 11:58:36 +02:00
Gina Häußge
7263fb74a9 Merge pull request #901 from markwal/handleErrorsShortform
Only eat two characters when the error indicator is '!!'
2015-05-21 19:04:23 +02:00
Gina Häußge
e8ca6709b9 New hook "octoprint.server.http.routes" to extend static tornado routes through plugins
TODO: docs

Thanks @Salandora
2015-05-21 18:07:15 +02:00
Mark Walker
50c95e439d Only eat two characters when the error indicator is '!!' 2015-05-20 20:06:24 -07:00
Gina Häußge
fa57f160dc Log cancelled prints only once
Thanks to @imrahil for the headsup
2015-05-13 14:00:12 +02:00
Gina Häußge
37ee1d6780 octoprint.setuptools => octoprint_setuptools (own package)
Otherwise we get import issues during build since the octoprint module depends on the dependencies already being present what they obviously can't be at the beginning of setup.
2015-05-12 20:36:38 +02:00
Gina Häußge
9e9189727f Removed javascript babel files superseded by new central i18n js template 2015-05-12 17:38:22 +02:00
Gina Häußge
05fd4fbc8a Some final touches to the new setuptools submodule
CleanCommand should never touch .git subfolders. Plugin CleanCommand should remove plugin's egg-info files
2015-05-12 17:34:00 +02:00
Gina Häußge
95062747ef Extracted setuptools related things into reusable package
Babel related commands and the Clean command for setup.py are not reusable by plugins as well. Also added a factory method for plugin setup parameters.
2015-05-12 17:20:31 +02:00
Gina Häußge
6465e2dc2f Don't try to include a i18n js file when g.locale is not set 2015-05-12 13:54:36 +02:00
Gina Häußge
074d7a017e Wrapped some texts in translation brackets 2015-05-12 12:22:26 +02:00
Gina Häußge
739a185d1b Logging for flask view caching 2015-05-12 12:22:10 +02:00
Gina Häußge
9f54985ce5 Also support client side translations for plugins 2015-05-12 11:58:48 +02:00
Gina Häußge
b908ff5821 Enhanced flask-babel to also allow plugins to provide translated strings
This way plugins can maintain their own translations of their UIs. Some monkey patching was necessary, not the cleanest solution but it should work.
2015-05-11 18:44:30 +02:00
Gina Häußge
6029340f78 Merge branch 'sockjslikebunnies' of https://github.com/markwal/OctoPrint into pr/markwal/sockjslikebunnies 2015-05-11 16:22:34 +02:00
Gina Häußge
4c7520efb9 New hook "octoprint.server.http.bodysize" and lifecycle support for restart needing hooks
The new hook allows extending the list of rules for maximum body sizes differing from the default of 100KB and can be used by plugins to allow uploads to them that exceed that file size.

Also extended the plugin manager to detect plugins that implement restart needing hooks (such as the above one) and handling those plugins the same as plugins containing implementations that inherit from octoprint.plugin.core.RestartNeedingPlugin
2015-05-11 15:47:40 +02:00
Mark Walker
c8b8bcb22e Magic CLOSE_NORMAL
See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent
WebSocket defines 1000 as CLOSE_NORMAL, SockJS uses it without
a name and doesn't provide one for us, so for now we define our own
2015-05-11 05:52:36 -07:00
Gina Häußge
797a5c8a5c Cura plugin: Fix potential key error in error reporting 2015-05-11 13:10:23 +02:00
Gina Häußge
6323ce56ed Fix: Properly close selected files in case of errors or intentional disconnects on the serial interface
File handle was formerly kept open. Thanks to @Salandora for the initial work on this. See also PR #883
2015-05-11 12:23:56 +02:00
Gina Häußge
86a4e7f495 Only treat wait as ack while printing 2015-05-11 11:47:15 +02:00
Mark Walker
91bdffab33 Stop sockjs from multiplying on reconnect
Have you ever noticed when developing that every time you stop and start
the server, the terminal window gets an extra duplicate line for every
reconnect attempt?  Well, it's because (I think) "delete" in javascript
just removes the indicated name from the namespace, it doesn't actually
free up an object. Those zombie objects are still there and wake up (for
some transports) on reconnect. Might be different in SockJS v1 or later.
2015-05-10 18:58:18 -07:00
Gina Häußge
9568806219 Fix: Don't reload page when disabling access control in first run dialog
Cache clearing doesn't work reliably with location.reload(true), leading to cache induced infinite loop when disabling access control (since generated template still assumes first run dialog to be active). Disabling for now, need to find a better way to reload the page while clearing the browser's and server's cache (same issue exists for plugins needing a client side triggered reload).

Fixes #886
2015-05-10 00:54:44 +02:00
Gina Häußge
5fa30e4145 Ignore feed rates of 0, those don't make sense anyhow
Fixes #887
2015-05-10 00:36:09 +02:00
Gina Häußge
fa9821083d Support fast communication recovery during printing when printer sends "wait" line
Common setting in Repetier, Marlin might support this sooner or later as well.
2015-05-08 13:47:52 +02:00
Gina Häußge
9d3a029e10 Added missing event when closing the settings dialog 2015-05-07 15:23:40 +02:00
Gina Häußge
ea93ba6a77 Fixed grid in GCODE viewer for rectangular bed with origin in lower left 2015-05-07 13:05:43 +02:00
Gina Häußge
9b010db0b8 Removed obsolete elif branch in file upload code 2015-05-07 12:51:23 +02:00
Gina Häußge
aed9e905f2 Cura Plugin: added more logging
Trying to get to the ground of #878
2015-05-07 11:06:11 +02:00
Gina Häußge
d43bc2e17e Allow different timestamps (zones or dates) between client and server while keeping the temperature graph working
The server now sends the current server time with each temperature update as well as the initial temperature data, allowing the client to translate the timestamps contained in the temperature logs to its local timescale.

 Followup to commit f19d0f0360 which caused a problem with large deviations between server and client time.
2015-05-06 17:23:01 +02:00
Gina Häußge
9ecd59c6e1 Merge branch 'gcode-renderer-retina' of https://github.com/lucas-clemente/OctoPrint into pr/lucas-clemente/gcode-renderer-retina
Conflicts:
	CHANGELOG.md
2015-05-05 22:04:22 +02:00
Gina Häußge
d34b73cd7c Merge pull request #884 from Salandora/vp_dropConnection2
Adds !!DEBUG:drop_connection to the virtual Printer
2015-05-05 21:59:00 +02:00
Gina Häußge
3e5298fcab Merge pull request #879 from markwal/onSettingsShown
onSettingsShown/Hidden call only on parent dialog shown/hidden
2015-05-05 21:57:34 +02:00
Marc
e5de00095f Adds !!DEBUG:drop_connection to the virtual Printer 2015-05-05 21:01:00 +02:00
Gina Häußge
84cda5cfe2 Fix: Only show the "too big" dialog in the gcode viewer if no file loading is currently taking place
Possible fix for #825
2015-05-05 18:33:45 +02:00
Gina Häußge
f19d0f0360 Base cut off point for temperature graph on timestamps instead of data points
Cut off of the temperature graph is now not based on the number of data points any more but on the actual time of the data points. Anything older than ``n`` minutes will be cut off, with ``n`` defaulting to 30min. This value can be changed under "Temperatures" in the Settings

Closes #343
2015-05-05 18:18:55 +02:00
Gina Häußge
ede2e8c593 Virtual printer now allows sending of custom action commands
Sending "!!DEBUG:action_custom foo 1 2 3" will result in the virtual printer sending "// action:foo 1 2 3" back. Sending "!!DEBUG:action_custom bar" will result in the virtual printer sending "// action:bar" back.
2015-05-05 17:30:35 +02:00
Gina Häußge
2ef3930fc3 Better extruder/nozzle offset editing in the printer profiles
If only one tool is configured, the profile dialog now won't show the offset configuration. If more than one extruder is configured offset configuration for anything but the first tool (which acts as reference for the relative offsets of the others) will be shown.

Closes #677
2015-05-05 10:28:21 +02:00
Gina Häußge
92445a8a3f Virtual printer now supports two resend variants 2015-05-04 18:15:46 +02:00
Gina Häußge
517a32f08f Less strict error parsing for detecting communication errors
Instead of matching to full strings send by firmware in case of checksum or line number issues, now matches only against lower case "checksum", "line number" and "line expected". Should make it more resilient to firmware side changes of the sent messages.
2015-05-04 18:15:46 +02:00
Gina Häußge
72cadba854 Merge pull request #870 from DanLipsitt/feature/flask-0.10
flask 0.10 fixes
2015-05-04 11:36:14 +02:00
Gina Häußge
0ef66c74b0 Fix: Corectly send origin center for circular volumes
Also added more logging in case of invalid profile detection.
2015-05-04 11:27:25 +02:00
Gina Häußge
a1ae185272 Fans => Fan 2015-05-04 10:38:24 +02:00
Teja
83fb2cb92a fixes #5 #3 characters were lost during streaming. This lead to invalid gcode error ID 24 or 33 2015-05-03 15:16:57 +02:00
Gina Häußge
fcdb556f3b Made autodetection more robust and fixed it not running if a preset for a baudrate existed
Thanks @Salandora
2015-04-30 17:25:52 +02:00
Gina Häußge
6e1e869851 Renamed parameter for default display for output custom control: defaultValue => default 2015-04-30 14:03:52 +02:00
Gina Häußge
ba1bab4ee7 Virtual printer now allows simulating more communication problems
Added new debug commands:
  * !!DEBUG:dont_answer will cause the next command to go unanswered
  * !!DEBUG:trigger_resend will trigger a resend request
2015-04-30 14:02:57 +02:00
Mark Walker
dbc2fe9cdb onSettingsShown/Hidden call only on parent dialog shown/hidden
jQuery bubbles all children show/hide events up to the parent so the
event gets called whenever a settings pane is chosen by the user.
Intent of the viewmodel callback was just on first show and final
dismiss.
2015-04-30 02:22:25 -07:00
Gina Häußge
ad17e22201 Force M105 upon communication timeout, see if that changes behaviour 2015-04-28 22:21:01 +02:00
Gina Häußge
3aa882ee21 Fix: Also process temperature responses that only contain bed temperatures 2015-04-28 16:31:10 +02:00
Gina Häußge
4944c33228 Made something way to complicated when it can be achieved oh so much easier.
Thanks @Salandora
2015-04-28 12:21:14 +02:00
Gina Häußge
06518b5374 Some changes to increase readability and reuse and remove redundancy 2015-04-28 12:16:54 +02:00
Marc
2a5a0282cb Updated the Check routine and put it into a temp. fcuntion for better readability 2015-04-27 20:55:06 +02:00
Marc
d4a96c53c3 Merge branch 'devel' of github.com:foosel/OctoPrint into fixControl 2015-04-27 19:39:37 +02:00
Gina Häußge
5e54f3a523 Persist package name for plugins loaded from entry point
This allows later deinstallation even if module and package name differ.
2015-04-27 18:43:00 +02:00
Gina Häußge
e96dcadc70 Fix: Receiving a "start" from the firmware triggers another handshake attempt
Fixes #869
2015-04-27 18:42:05 +02:00
Gina Häußge
fb5aaffdc1 Added a "fake ack" button to terminal tab, as counter measure for lost "ok"s
In case an ok gets lost on the line, this allows to have the communication between
OctoPrint and the printer take up again.
2015-04-27 18:13:39 +02:00
Gina Häußge
4ea6bcd1de Smoothie compat fix: Only wait for ok's after GCODE commands
Any unknown commands should just be piped through and not use up an acknowledgement. This
new behaviour can be overridden via the new feature flag "unknownCommandsNeedAck", which will
restore the former behaviour causing even unknown commands to use up an "ok".

Also no line numbering or checksumming will happen. Shouldn't usually be of relevance for other
firmwares, but in case of any compatibility issues introduced by this also added a new feature
flag "sendChecksumWithNonGcode" that causes even unknown commands to be sent with a
checksum if necessary.
2015-04-27 17:24:34 +02:00
Gina Häußge
5765180462 Fix: moved line number incrementing to send loop
Should fix issues where too fast a temperature polling could cause skipped line numbers, triggering nasty resend loops in the process.
2015-04-27 17:15:57 +02:00
Gina Häußge
4c1ba0fd0b [doc] <pluginname> => <plugin identifier> 2015-04-27 16:10:23 +02:00
Teja
e56a53a4c8 forward communication errors 2015-04-25 21:43:58 +02:00
Teja
d3e50b43a1 bugfix. document dimension of illustrator were calculated wrong if only vbox is present 2015-04-25 21:38:44 +02:00
Teja
3bca10d7da quick hack: stripping non-ascii chars as they break OctoPrints files api (which was never meant to store svg files I have to admit) 2015-04-25 19:19:24 +02:00
Teja
5de8f21719 split header line into three to be compatible to the UGS 2015-04-25 19:18:01 +02:00
Marc
159eb4ce59 Fix 2015-04-24 15:39:31 +02:00
Marc
17889a2b46 Slider DefaultValue always an Int and in range(min, max) 2015-04-24 14:46:41 +02:00
Gina Häußge
3ebc6f0f1d Fix: Reselect current printer profile if it was updated and deny deleting the current printer profile 2015-04-24 12:05:38 +02:00
Gina Häußge
9ee9f7bffb Workaround for idle temperature polling not working with Repetier Firmware
Repetier always first sends the ok and then any command output. In case of M105, that makes the response look like from an externally triggered heatup (no ok on the same line), causing polling to stop until that falsely detected heatup is complete. Added a configuration option to disable heatup detection. The disadvantage of this is that when printing via Repetier Firmware from SD, the heatup times won't be substractable from the total print time, leading to a less accurate print time left estimation.

 Closes #835
2015-04-24 09:36:43 +02:00
Dan Lipsitt
013d221398 BadRequest is actually in werkzeug.exceptions. 2015-04-23 13:17:39 -07:00
Gina Häußge
a55de71233 Merge branch 'pr/Salandora/patch3' into devel 2015-04-23 10:41:34 +02:00
Gina Häußge
2c50861c44 Removed unnecessary a tag in custom section headers, we can just use the h1 to toggle 2015-04-23 10:41:22 +02:00
Gina Häußge
d0e7cd46ce Removed id attribute again since we don't need it anymore 2015-04-23 10:27:15 +02:00
Gina Häußge
e0027c3cba Made baudrate detection a bit more solid 2015-04-23 10:07:05 +02:00
Gina Häußge
19918b7221 Suggestion for custom controls to allow for collapsable sections while keeping close to the same visual appearance 2015-04-22 19:27:44 +02:00
Marc
7c4c8485b4 Fixed Layout 2015-04-22 18:05:49 +02:00
Gina Häußge
88af79509f Delect selected files upon comm disconnect in the printer handler
Should solve #861
2015-04-22 11:42:41 +02:00
Gina Häußge
a42c5edaa3 Merge pull request #865 from DanLipsitt/feature/flask-0.10
Use BadRequest instead of JSONBadRequest.
2015-04-22 11:16:27 +02:00
Marc
ef9034e380 Fixed linendings and encoding 2015-04-22 10:20:15 +02:00
Marc
f24ae37bd8 Missing ; added 2015-04-22 10:01:09 +02:00
Marc
3f1cbb20d3 renamed deflt and default to defaultValue
+ adds a div container around the each Input
2015-04-22 10:00:58 +02:00
Marc
483e19adb6 exc.stack -> (exc.stack || exc) so if exc is a message (e.g. knockout sends a message) you'll get the message instead of undefined 2015-04-22 10:00:45 +02:00
Marc
3304a7e341 Deleted unnecessary css style 2015-04-22 10:00:29 +02:00
Marc
2edb92112a Custom control containers are now Collapsable if user wants so. 2015-04-22 10:00:02 +02:00
Marc
de8484b6f8 Added IDs to CustomControls and made Containers with names collapsable 2015-04-22 09:59:45 +02:00
Marc
88a81b186b Update CSS + LESS 2015-04-22 09:59:31 +02:00
Marc
15d4525b71 Added OnSettingsBeforeSave event + using onEventSettingsUpdated to sync the controls 2015-04-22 09:59:19 +02:00
Marc
032c76a944 Fixed horizontal and horizontal_grid to work properly 2015-04-22 09:58:57 +02:00
Marc
525709eb38 Added showConfirmationDialog function 2015-04-22 09:58:43 +02:00
Marc
232dbe5459 Patched Context Menu, to include also the object wich has the ContextMenu binding 2015-04-22 09:58:27 +02:00
Gina Häußge
3f14fdb51b Allow disabling the cache during development
Set "devel > cache > enabled" to false in config.yaml to disable the cache. Defaults to true.
2015-04-22 09:45:25 +02:00
Dan Lipsitt
ca914bd419 Use BadRequest instead of JSONBadRequest.
JSONBadRequest is removed in Flask version 0.10. BadRequest is backwards
compatible with Flask 0.9.
2015-04-21 23:10:03 -07:00
Gina Häußge
2ce40c4847 Added new callback to viewmodels, allowing to react to login events
Removed old loginstate.subscribe method and migrated existing code to new mechanism.

This should allow plugins to only request their sensitive data if a user is a) logged in and has b) the necessary rights for a request. The server should still do additional auth checks, but this way no unnecessary request have to be made.
2015-04-21 19:39:48 +02:00
Gina Häußge
3f272b209d Added method to SimpleApiPlugins to allow locking API to only admins 2015-04-21 19:39:48 +02:00
Jarek Szczepanski
26f43de07d Fixed sorting log files on settings dialog 2015-04-21 15:09:45 +02:00
Lucas Clemente
579fd3bbfb Add support for high-DPI screens to gcode renderer
window.devicePixelRatio is used to scale the canvas, extrusion line
width, retract spot size and mouse event position.
2015-04-18 12:14:47 +02:00
Gina Häußge
a996f7b6fb New hook octoprint.filemanager.preprocessor
Allows preprocessing files that are uploaded or otherwise added to the system (e.g. through slicing) before their contents are saved to disk
2015-04-17 14:45:58 +02:00
Gina Häußge
6bb4a3e28c Potential fix for the "No PKG-INFO found for package" issue 2015-04-16 18:37:03 +02:00
Gina Häußge
023b6f9d81 Small fixes prior to merge of #849
* Renamed userjson to userdata, removed original userdata (developers will live if they need to ensure their supplied userdata is valid JSON)
   * Input validation for userdata parameter - a HTTP 400 response will be generated if userdata can't be parsed as JSON
   * Adjusted documentation accordingly
2015-04-16 16:05:23 +02:00
Gina Häußge
694a8febb5 Merge branch 'jm/feature-metadata-endpoint' of https://github.com/Voxel8/OctoPrint into pr/jminardi/feature-metadata-endpoint 2015-04-16 15:39:35 +02:00
Gina Häußge
cd244f341d Small fixes prior to merge of #852
* Proper origin visualization in gcode viewer for centered rectangular
   * Validation of origin profile entry
   * Auto-migration of existing profiles upon load
   * Added changelog entry
2015-04-16 15:20:18 +02:00
Gina Häußge
12310c5e3a Merge branch 'centeredorigin' of https://github.com/markwal/OctoPrint into pr/markwal/centeredorigin 2015-04-16 13:33:26 +02:00
Gina Häußge
1d98135f58 New hook "octoprint.filemanager.extension_tree"
Allows extending the list of supported file extensions for the file manager.

See also discussion on #850
2015-04-16 13:09:05 +02:00
Gina Häußge
8ac375fc9b Some minor changes before merging the PR
* moved virtual printer into plugin
  * made default serial factory use supplied parameters instead of directly utilizing self._port and similar
  * documented new hook
2015-04-16 11:43:30 +02:00
Gina Häußge
5588deb925 Merge branch 'serialhooknew' of https://github.com/markwal/OctoPrint into pr/markwal/serialhooknew 2015-04-16 09:40:14 +02:00
Gina Häußge
8d6d7a1bf5 Added two missing ; 2015-04-16 09:19:10 +02:00
Gina Häußge
db739c05b8 Merge branch 'patch1' of https://github.com/Salandora/OctoPrint into pr/Salandora/patch-1 2015-04-16 09:17:10 +02:00
Mark Walker
e8f61e2dda Fix server error 500 when user is logged out
f98ebaaf moved the passive_logon code to a new function from
api/__init__.py to util/flask.py.  Before that move any fallthrough
would hit return NO_CONTENT, but now it returns nothing which makes
flask complain.
2015-04-15 17:17:19 -07:00
Mark Walker
7b1d1d2592 Also include the hook discovery line 2015-04-15 15:05:58 -07:00
Mark Walker
e4d8d67f65 Add a plugin hook for opening the serial port
This hook allows the plugin to create the serial port object (or pass to
the next hook or the builtin serial port handler) which allows for
serial communication filtering or a different communication transport.

Use @foosel's code to use the same loop for hooks as well as the
builtin.
2015-04-15 14:51:03 -07:00
Marc
c71b29b77e Added missing observableArray for dynamical Control loading 2015-04-15 23:20:03 +02:00
Marc
f24475b996 Added ContextMenu 2015-04-15 23:18:17 +02:00
Gina Häußge
d5e7149f99 Merge branch 'devel' into dev/pluginLifecycleMgmt 2015-04-15 15:30:26 +02:00
Gina Häußge
29e2bbd2a7 Undo: Changes to make behaviour on mobile safari better caused issues with everything else 2015-04-15 15:30:11 +02:00
Gina Häußge
c7146cf432 Merge branch 'devel' into dev/pluginLifecycleMgmt 2015-04-15 14:20:15 +02:00
Gina Häußge
d58a2fd4c6 Renamed temperature and SD status timeout to interval 2015-04-15 14:19:41 +02:00
Mark Walker
5a27ab6e54 Move the centered option into printer volume
Also, modify the cura slicer to recognize the setting and avoid
adjusting the model position, just leave it in the center where it would
be on a circular platform
2015-04-15 04:05:48 -07:00
Mark Walker
a4df56dcb7 Undo so we can go another way 2015-04-15 04:04:34 -07:00
Mark Walker
fbe50e33d3 Add a printer profile option to allow centered origin on rectangular
beds

Some printers have (0, 0) at the center of the bed.  Circular beds
commonly, but also some rectangular beds.
2015-04-15 02:33:31 -07:00
Gina Häußge
5804825dc3 Fix: Made initial connection to printer a bit more responsive
Having to wait for the first serial timeout before sending the first M105 even when not waiting for seeing a "start" caused unnecessary wait times for reaching the "Operational" state.
2015-04-15 09:14:36 +02:00
Gina Häußge
24495d046f Renamed temperature and SD status timeout to interval 2015-04-15 09:04:54 +02:00
Gina Häußge
2aa31024e6 Finalizing first version of plugin lifecycle management 2015-04-14 17:55:46 +02:00
Gina Häußge
fc00ef032e Merge branch 'devel' into dev/pluginLifecycleMgmt 2015-04-13 18:24:20 +02:00
Gina Häußge
41c10a759a Better behaviour of the settings dialog on low-width devices
Navigation and content also now scroll independently from each other.

Compare #823.
2015-04-13 17:33:06 +02:00
Gina Häußge
dd3455d598 Merge branch 'devel' of https://github.com/webmonger/OctoPrint into webmonger-devel 2015-04-13 13:21:23 +02:00
Mark Walker
88bc0b7a92 Show .gcode .gco and .g files in the SD file list
(cherry picked from commit e91b103)
2015-04-13 13:13:36 +02:00
Gina Häußge
f480e29342 Fixed implementation/docs mismatch: header_addon -> template_header
Closes #848, thanks to @markwal for spotting and reporting
2015-04-13 12:53:19 +02:00
Mark Walker
b25443d142 foosel/Octoprint #841: Can't login using IE
Add computed property "name" to function objects if not provided by the
browser, to avoid dropping out of main.js before it is finished.
(cherry picked from commit 68215c6)
2015-04-13 12:36:12 +02:00
Gina Häußge
354e064969 Only resend next line after first resend is through
Tracking the "ok" attached to a resend is necessary in order to make sure that it does not trigger the resend of the next line after the requested one right after, causing resend loops in some cases, e.g. "> 100", "> 101" , "< rs 100", "ok", "> 100", "< expected 100, got 101, rs 100" -- here the last error from the firmware could not be processed as "false negative" correctly (101 was already sent to the printer when it detected the error for 100, so this error just needs to be ignored) since the resend flag was already cleared due to line 100 and 101 having been enqueued, 100 in the resend handler, 101 due to the following ok. This patch fixes the latter, thus solving the problem.
2015-04-13 12:24:43 +02:00
Gina Häußge
594636e0e3 Make sure to operate on unicode when sanitzing sd filenames
Should fix #834
2015-04-13 12:24:42 +02:00
Teja
40e95f9b5c fixes gcode preview. first line is not omitted anymore. 2015-04-07 09:21:39 +02:00
Jack Minardi
426fef6e4a accept arbitrary metadata at the file upload endpoint 2015-04-06 16:45:10 -04:00
Gina Häußge
97aecdf4cf First throw at working plugin lifecycle management
Plugins may be enabled and disabled during runtime. If they are of types which allow hot loading, this will be done. Otherwise they will be marked as pending and updated after a restart. Same for installation and uninstallation.
2015-04-02 23:02:42 +02:00
Gina Häußge
a34cbc58dc Merge pull request #828 from Voxel8/update-selected-event
update FileSelected event to be more consistent with other events
2015-04-02 22:14:12 +02:00
Teja
f11a10b05f Merge branch 'mrbeam-stable' into mrbeam 2015-04-01 16:37:54 +02:00
Teja
15f6e0f87d bugfix. Don't fail on GRBL style dwelling commands a la G4 P0.5 2015-04-01 16:37:00 +02:00
Gina Häußge
f0b48a6b43 Merge branch 'devel' into dev/pluginLifecycleMgmt
Conflicts:
	src/octoprint/plugin/core.py
2015-04-01 11:55:48 +02:00
Gina Häußge
0ed8afd999 Fix: Validate plugins separately from constructor
Otherwise plugins that inject data via __plugin_init__ won't work properly
2015-04-01 11:54:11 +02:00
Gina Häußge
68fa2f9fa3 WIP 2015-04-01 11:51:08 +02:00
Gina Häußge
3ebf5e5240 Merge branch 'devel' into dev/pluginLifecycleMgmt
Conflicts:
	src/octoprint/plugin/core.py
2015-04-01 11:02:05 +02:00
Gina Häußge
66e3ee28b6 Started work on plugin lifecycle management
Plugins may be loaded, unloaded, activated and deactivated. Errors while trying to load a plugin or initializing an implementation will only result in it staying deactive but registered in the system, allowing it to be further processed e.g. by a plugin manager
2015-04-01 10:55:13 +02:00
Gina Häußge
8a41cef00b [Doc] Restructured the plugins section so it makes more sense 2015-03-31 20:08:32 +02:00
Gina Häußge
5c228e6071 [Doc] Big overhaul of TemplatePlugin docs & component ordering 2015-03-31 18:23:18 +02:00
Gina Häußge
8a3993ca59 To determine order of template components, first use user order, then default order, then type ordering
Also moved suffix calculation for template keys into _process_template_config
2015-03-31 18:22:38 +02:00
Gina Häußge
c9f5476588 Settings now allow providing a custom "config" dict to work on
Can be used to always retrieve the defaults (by providing an empty config dict) or to utilize the get method with other settings than the system settings.
2015-03-31 18:20:44 +02:00
Gina Häußge
2d54ab5fcf Fix: identifer => identifier (is it really that hard to type foosel?) 2015-03-30 22:08:49 +02:00
Gina Häußge
86cd162784 Fix: get_implementations now returns a list instead of a dict 2015-03-30 22:03:36 +02:00
Teja
acf544aece writing grbl version into file after every connect. 2015-03-30 17:50:57 +02:00
Gina Häußge
8ff0096eb6 Fix & Docs: Plugins may only have one mixin implementation
Multiple mixins are allowed of course. Allowing multiple implementations lead to too many problems due to plugin names for referring to the APIs of SimpleApiPlugins or the assets of AssetPlugins.

 Hence __plugin_implementations__ has been deprecated in favor of __plugin_implementation__. The plugin subsystem will automatically copy the first implementation from __plugin_implementations__ to __plugin_implementation__ and log a deprecation warning.

 Adjusted documentation accordingly. Also added docs for helpers.
2015-03-30 16:50:06 +02:00
Gina Häußge
79336ca108 Fix: Improved handling of data coming in from the printer
Hopefully closes #829
2015-03-30 13:15:52 +02:00
Teja
a25870dd79 disable line forcing as it crashes grbl commands. 2015-03-30 12:42:48 +02:00
Jack Minardi
2478b73ee5 update FileSelected event to be more consistent with other events 2015-03-29 23:44:19 -04:00
Teja
3c32224a48 avoid browser caching of svg files to enable upload with same name. 2015-03-28 19:50:56 +01:00
Teja
7248a78053 set DTR to false after connecting. workaround for wrong connection detection. 2015-03-28 19:20:15 +01:00
Teja
8c33680a12 disabled position updates during print as this caused invalid gcode 24 errors due timing problems. 2015-03-28 17:00:44 +01:00
Teja
94c065fd08 placeSVG pays attention to the viewbox attribute now. 2015-03-28 16:59:38 +01:00
Teja
57f06315aa set default communication timeout to 30sec. 2015-03-28 14:41:13 +01:00
Teja
36c55e056c placeSVG() is now caring about vieBox attributes. 2015-03-27 17:49:38 +01:00
Gina Häußge
2fa0673e0b Fix: javascript custom controls should now work again 2015-03-27 17:10:48 +01:00
Gina Häußge
d62ac5239b [Doc] PluginSettings.getFoo -> PluginSettings.get_foo, also fixed an example for settings preprocessors 2015-03-27 11:18:55 +01:00
Gina Häußge
9b3daeea01 Exception.message => str(Exception) 2015-03-26 12:04:05 +01:00
Gina Häußge
fb2719ce8a [Doc] let's see if moving the figures out of the tables solves the PDF issue 2015-03-26 10:55:51 +01:00
Teja
85aefba422 visual fixes, larger terminal 2015-03-25 19:57:13 +01:00
Teja
ca716e75c8 fixes #17 2015-03-25 19:42:51 +01:00
Gina Häußge
45bf398494 [Docs] Added an example for octoprint.comm.protocol.action handler
Used same example to illustrate hook handlers within mixin implementations.
2015-03-25 19:30:49 +01:00
Gina Häußge
974e19fa3a Removed version numbers from bundled plugins
Missing version numbers will not be displayed as "(unknown)" anymore, and bundled plugins don't necessarily need their own version.
2015-03-25 18:56:59 +01:00
Gina Häußge
954397b6a6 Changed logging of plugin subsystem slightly
Detected plugins are now logged in a better readable way and with additional information.

Also marked folder for bundled plugins as bundled - forgot to do that earlier.
2015-03-25 18:56:11 +01:00
Gina Häußge
c6e4057add [Docs] Documented octoprint.comm.protocol.gcode hook
Experimenting with including examples stored on github, let's see if RTD likes that.
2015-03-25 18:24:51 +01:00
Gina Häußge
af7d2bb8c7 Utilize adaptive interval for temperature and sd status polling
This way user adjustments to those timeouts via the settings
will take immediate effect even while the connection to the
printer is already established.
2015-03-25 17:27:59 +01:00
Gina Häußge
50862668b1 RepeatedTimer now allows adaptive interval and dynamic loop condition 2015-03-25 17:24:12 +01:00
Gina Häußge
18dd1659da Fixed a typo in the RepeatedTimer docs 2015-03-25 16:52:09 +01:00
Gina Häußge
1c1e6b45b6 Added RepeatedTime class to use for repeated tasks
Utilizing it for temperature and sd status polling in comm.py
2015-03-25 16:48:30 +01:00
Gina Häußge
97c8c7826c [Docs] Documented AppPlugins 2015-03-23 18:15:18 +01:00
Jon Carlos
917a2a528b Fix: Settings modal did not display properly on iPad and other browsers under 1200px wide 2015-03-21 22:25:26 +00:00
Gina Häußge
05c11911fb [Docs] Plugin and PluginInfo docs now includes members, OctoPrintPlugin now includes ref to base class 2015-03-20 11:33:54 +01:00
Gina Häußge
05f6425a53 Fixed some documentation and implementation details on the slicing API 2015-03-19 21:03:28 +01:00
Gina Häußge
f2eeb50381 Lots of documentation for slicing related things and some refactorings 2015-03-19 20:58:24 +01:00
Gina Häußge
c12b0f5fee Removed auto slicing of STLs from watchdog
Easier to trigger via the UI
2015-03-19 20:56:03 +01:00
Gina Häußge
71fedd3be4 Fix: Don't duplicate for submission in cura profile importer 2015-03-19 20:55:32 +01:00
Bryan Mayland
8a3fb2ac00 Fix inability to set printer profile extruder feedrate from settings UI 2015-03-19 09:28:23 -04:00
Gina Häußge
87acd4c555 Fix: don't die during locale selection if access control is disabled 2015-03-19 09:31:13 +01:00
Teja
0b743b24f9 bugfix. shows safety popup when enabling the laser in the terminal. 2015-03-18 19:12:52 +01:00
Teja
e482e9523a bugfix. fixes #13 2015-03-18 18:08:30 +01:00
Gina Häußge
b35ee6d3db Well... apparently it does work after all, re-enabling 2015-03-18 16:50:40 +01:00
Gina Häußge
67fcb0c1a0 Disabled not working qr code in user settings again 2015-03-18 16:48:29 +01:00
Gina Häußge
c51c45b46d Better handling of callbacks for /api/users/... calls 2015-03-18 16:44:22 +01:00
Gina Häußge
728951cb55 Merge branch 'devel' into dev/userlanguage 2015-03-18 16:27:21 +01:00
Gina Häußge
aa0e7a6dd3 Fixed `/api/printer` which wasn't adapter yet to new internal offset data model 2015-03-18 15:54:06 +01:00
Gina Häußge
ddb588e751 Language settings now work, both global and per user
Still need to test if reload of current user settings works upon change of those.
2015-03-18 15:49:29 +01:00
Gina Häußge
7b9e3efea1 Removed /dev/ttyAMA* from serial ports added by default to connection list
Added additional ports configuration to settings to make it easier for people who actually need that port in the selection to add it back.
2015-03-18 12:08:21 +01:00
Gina Häußge
590bff696b Also allow plugins to extend gcode scripts which are empty 2015-03-18 11:32:55 +01:00
Gina Häußge
f98ebaafee WIP on introducing user settings (incl. interface language) 2015-03-18 11:30:08 +01:00
Teja
ef6ec7df4b added little gcode reference to the terminal tab. 2015-03-17 12:09:54 +01:00
Gina Häußge
7bd83e7ef3 Merge branch 'devel' into dev/userlanguage
Conflicts:
	src/octoprint/users.py
2015-03-16 12:48:48 +01:00
Gina Häußge
f79e361823 Merge branch 'dev/tornadoTimeFunc' into devel 2015-03-16 12:40:10 +01:00
Gina Häußge
89fba67eb0 Added X-Clacks-Overhead header to commemorate Sir Terry
For as long as his name is still passed along the Clacks,
    Death can't have him.
    -- "Going Postal", Chapter 4 Prologue

RIP Terry Pratchett

See also http://gnuterrypratchett.com/
2015-03-16 10:41:04 +01:00
Gina Häußge
57de36a9d3 Monkey patching tornado to backport tornadoweb/tornado#1290
Should hopefully help with freezing/blocking issues upon first connect with the net on the Pi, more tests needed.
2015-03-16 10:19:03 +01:00
Gina Häußge
91b9fb3e3f Added proper form validation to printer profile editor to the UI
Closes #809
2015-03-13 15:49:35 +01:00
Jarek Szczepanski
5cadfb5a09 Simple alert when try to overwrite existing printer profile 2015-03-13 10:08:58 +01:00
Gina Häußge
1f559049c6 Merge branch 'devel' into dev/tornadoTimeFunc 2015-03-12 19:20:17 +01:00
Gina Häußge
7995858124 Merge remote-tracking branch 'origin/devel' into devel 2015-03-12 17:27:57 +01:00
Gina Häußge
699f7b5278 More work on custom controls
Added a lot of documentation, more stream lining, should now work completely without having to define types but offer the same/more functionality than before. Backwards compatible too.
2015-03-12 17:23:55 +01:00
Gina Häußge
22c73d831a More cleanup for the feedback controls
Preprocessing for better performancy, unit tests for preprocessing, controls don't need a type anymore (makes things way less complicated and repetitive)
2015-03-10 21:49:18 +01:00
Teja
16e63824f1 made dwelling (G4 P...) commands more tolerant.
Conflicts:
	src/octoprint/util/comm.py
2015-03-10 19:20:35 +01:00
Gina Häußge
7ed9cc0f87 Merge branch 'devel' into dev/customControlsDocs
Conflicts:
	src/octoprint/static/js/app/viewmodels/control.js
2015-03-10 11:20:36 +01:00
Gina Häußge
9d761c4ee9 Make sure already processed custom controls don't get processed twice
Fixes an issue causing feedback controls to stop working if additional plugin controls are added
2015-03-10 11:19:58 +01:00
Gina Häußge
a956abd65a Only display sidebar/tab if there are components within
If sidebar is present but tabs not or vice versa, it will be blown up to 100% width.
2015-03-09 13:29:51 +01:00
Gina Häußge
1a96480aa7 Allow to define additional bindings for existing view models
Adding a line such as

    OCTOPRINT_ADDITIONAL_BINDINGS.push(["gcodeFilesViewModel", "#tab_plugin_my_other_file_plugin"]);

to a plugin JS now allows the plugin to configure existing view models to bind to additional elements, not just the ones configured by the view model itself. This allows binding view models of standard components to other component types and thus "moving" components, e.g. the files dialog from the sidebar to the tab section.
2015-03-09 13:11:43 +01:00
Gina Häußge
a87c3f6d4d Allow defining order of UI components through config.yaml
config.yaml now has a new section "components" located under "appearance" which allows configuring the order and list of disabled components. Example:

    appearance:
      components:
        order:
          tab:
          - control
          - temperature
          - gcodeviewer
          - terminal
          - timelapse
        disabled:
          sidebar:
          - files

 This would make the "Control" tab the first tab, followed by the usual order (plugins afterwards), and disable the Files sidebar component.
2015-03-09 12:37:07 +01:00
Gina Häußge
8cba11930f WIP: Streamlining controls to not overly depend on types anymore 2015-03-09 11:40:47 +01:00
Gina Häußge
2b51501a57 Fixed key generation for template rendering
Key was only generated correctly if a suffix was set, causing templates from plugins of the same type to override each other.
2015-03-09 10:27:10 +01:00
Gina Häußge
8f6784d5d2 WIP: streamlining and documenting custom controls 2015-03-09 08:51:49 +01:00
Gina Häußge
dee205fc2f Fixed octoprint.printer.standard.select_tool
Was expecting integers although it does get a tool identifier. Also fixed docs accordingly.
2015-03-06 16:54:41 +01:00
Gina Häußge
aecc7a4734 Added triggering GCODE scripts to the REST API and custom controls 2015-03-06 16:04:43 +01:00
Gina Häußge
e79fd99a41 Fixed comment handling in GCODE lines, escapes are no longer stripped
A good example while late night commits can sometimes be a bad idea.
2015-03-06 11:37:06 +01:00
Gina Häußge
fbca845bbd G32 also qualifies as a blocking command 2015-03-06 11:36:03 +01:00
Gina Häußge
d447308ef0 Even more documentation of the internal modules 2015-03-06 01:42:49 +01:00
Gina Häußge
975cc5ccfc GCODE scripts are now Jinja templates
Refactored some things in octoprint.util.comm and octoprint.settings, added migration function to get users of the devel version up to date with their gcode scripts. Migration function will be removed again one week from now.
2015-03-06 01:42:09 +01:00
Gina Häußge
d665cc9538 Fixed refreshing of timelapse file list upon finished rendering of a new one 2015-03-05 11:37:56 +01:00
Gina Häußge
8a70b5cd7f Merge remote-tracking branch 'origin/devel' into devel 2015-03-04 23:05:44 +01:00
Gina Häußge
ee73e51d03 Also set heating flag when sending heatup GCODE through comm layer 2015-03-04 23:04:45 +01:00
Gina Häußge
923fe98a99 Merge branch 'dev/commExperiments' into dev/printerRefactoring
Conflicts:
	src/octoprint/util/comm.py
2015-03-04 20:43:02 +01:00
Gina Häußge
88ac1974d1 Time estimation for SD printing needs less strict thresholds 2015-03-04 20:41:10 +01:00
Gina Häußge
f0b2f6d509 Fix: Display full name currently selected SD file
Wrong truncation caused first character to be missing
2015-03-04 20:39:36 +01:00
Gina Häußge
edd560f5a4 Fixed a bug causing feed rate adjustment to not work while printing 2015-03-04 20:38:49 +01:00
Gina Häußge
c7cccb2ce5 Prevent multiple copies of poll commands in send queue
Utilizes a "TypedQueue" which tracks command types - if provided - and doesn't
add entries of the same type as another entry in the queue.

Somewhat backported from dev/commRefactoring branch
2015-03-04 20:38:15 +01:00
Gina Häußge
8092ff7e62 Workaround a bug in old versions of Marlin
For some versions, the ok for a file delete message is not prepended
by a newline: "File Deleted:<filename>ok"

This work around will make it still detectable.
2015-03-04 20:35:10 +01:00
Gina Häußge
b1129332c9 Detect external heatup
If a line "T: <temperature>" comes in, the printer is heating up although
we don't know why. Nevertheless count the time.
2015-03-04 20:33:44 +01:00
Gina Häußge
cc4d13e1ce Fix issue with rewinding SD files
Sometimes M26 S0 does not cause a selected SD file to be
properly rewound, leading to issues when restarting the
print job. Reselecting the file (and ignoring the
resulting select event) solves this.
2015-03-04 20:31:51 +01:00
Gina Häußge
bcc724df2c Merge pull request #793 from imrahil/fix_in_apidocs
Fixed docs for BlueprintPlugin
2015-03-04 16:59:33 +01:00
Gina Häußge
116a540abd More experimenting with comm queueing, seems to work fine now
Next up: actual print
2015-03-04 14:15:01 +01:00
Gina Häußge
4383a89091 _heatupWaitStartTime should be reset to None instead of 0 2015-03-04 10:29:29 +01:00
Gina Häußge
801f9adfd7 Further experiments with send_queue and polling timers 2015-03-04 10:20:13 +01:00
Gina Häußge
383f36fc48 Backported clear_to_send mechanism from commRefactoring
Also added temperature and sd status polling timers
2015-03-04 09:45:51 +01:00
Gina Häußge
333c9ba205 Refactoring of "printer" modules
- renamed methods from camelCase to snake_case
- renamed callback mathods from comm module from camelCase to snake_case
- extracted and documented public interface to be used by plugins
- extracted callback interface to be implemented by subscribed callbacks to printer
 - moved standard implementation to custom package
 - moved time estimation classes to custom package
2015-03-03 17:01:33 +01:00
Gina Häußge
af0cad90a8 Made drag-n-drop better usable on high resolutions
Now stop complaining.

Closes #187
2015-03-03 16:39:27 +01:00
Gina Häußge
b8e5019e24 Corrected a merge error that broke the system menu display
Closes #797
2015-03-02 22:41:37 +01:00
Gina Häußge
60882d9a5c Don't consider it a disconnect until after some failed direct tries to reconnect
Should solve issues where the "Disconnected" dialog briefly appears when the connection gets interrupted only briefly, e.g. when starting a timelapse download in Firefox.
2015-03-02 22:20:27 +01:00
Gina Häußge
18b2b7dfe8 Fixed warnings in documentation build 2015-03-02 16:03:37 +01:00
Gina Häußge
8da9f55b05 Merge branch 'devel' into dev/gcodeScripts 2015-03-02 15:40:20 +01:00
Gina Häußge
3820f7b275 Added download link for STLs to the file list 2015-03-02 15:34:48 +01:00
Gina Häußge
befe2e7bee Allow adding slicing profiles for unconfigured slicers and properly reload slicing view model upon configuration
This should fix the problem where on a fresh setup it was impossible to upload slicing profiles for Cura before
the path to the binary was configured.

Also made the slicing dialog auto update available slicers when the settings are updated. The slicing button
in the file list is now only active if a slicer is available. The slicing dialog will only show upon upload of
an STL file if a slicer is available.

Closes #795
2015-03-02 15:34:29 +01:00
Gina Häußge
36a837cd77 Always allow uploading STL files, even if no slicer is configured yet 2015-03-02 15:30:03 +01:00
Gina Häußge
19114d1073 Use fully qualified import for plugin manager in file manager to simplify unit testing 2015-03-02 13:01:13 +01:00
Jarek Szczepanski
49fbe75387 Fixed docs for BlueprintPlugin 2015-03-01 21:46:21 +01:00
Gina Häußge
06f14045ad CSS recompiled 2015-03-01 14:31:38 +01:00
Gina Häußge
a88a781d38 Merge branch 'devel' into dev/gcodeScripts 2015-03-01 14:28:09 +01:00
Gina Häußge
c3834c16fa Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	CHANGELOG.md
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/viewmodels/timelapse.js
	src/octoprint/util/comm.py
2015-03-01 14:11:43 +01:00
Teja
43a476ed1d fixes #11 2015-03-01 12:58:59 +01:00
Teja
d307719044 allow manual input of intensity and feedrate. 2015-03-01 12:39:07 +01:00
Gina Häußge
dec9f47aa6 New transparent toggle in appearance settings
Allows color matching your OctoPrint instance to your printer even if it uses semi-transparent colored acrylic ;)
2015-02-28 23:43:30 +01:00
Gina Häußge
4dc570779d Merge branch 'devel' of https://github.com/nophead/OctoPrint into nophead-appearance 2015-02-28 13:33:36 +01:00
Chris Palmer
a9f1c3711a Bigger trans-background image 2015-02-28 09:46:03 +00:00
Chris Palmer
7ff03d2e75 Fixed trans-background image 2015-02-28 09:34:28 +00:00
Chris Palmer
97f4fabd48 Added missing trans-background image 2015-02-28 09:10:50 +00:00
Gina Häußge
cd3ead3f30 More documentation 2015-02-27 20:28:24 +01:00
Bob Clough
06850dd775 Added gradient to transparent header background, compiled + minified CSS 2015-02-27 17:39:40 +00:00
Bob Clough
47a58a73e4 Added transparent header background, compiled + minified CSS 2015-02-27 17:19:38 +00:00
Bob Clough
6665332359 Added compiled octoprint.css that includes white as an option 2015-02-27 17:05:16 +00:00
Bob Clough
b0b594c5f8 Added class for white 2015-02-27 16:49:42 +00:00
Chris Palmer
a74ce57d24 Added white to avialable appearance colours 2015-02-27 11:10:22 +00:00
Gina Häußge
84c32a3cd9 Unit tests for octoprint.plugin.PluginSettings
And some small fixes of that class in the process...
2015-02-27 10:29:08 +01:00
Gina Häußge
0a92b340ac Refactoring in octoprint.util
* Renamed a couple of camelCased methods to snake_case
  * Moved to better location what didn't make sense in the common util module
2015-02-27 10:28:16 +01:00
Gina Häußge
c76b84e1be Fixed file not found error when selecting a local file for printing
Introduced by 8bef18c2a8

Reported in #788
2015-02-27 01:37:37 +01:00
Gina Häußge
8bef18c2a8 Fix handling of SD card files in folders
OctoPrint got confused by prepended / in files on printer's SD cards
located within folders.

New handling makes comm always use absolute path names for SD card
file names (even those in the root), printer converts between
this representation and the storage interface compatible version
of file and folder names being stated relative to the root (so
no leading /)
2015-02-26 18:24:10 +01:00
Gina Häußge
4997814abe Moved PluginSettings interface from CamelCase to snake_case (backwards compatible)
Added wrappers to ensure existing plugins being able to work, although them using the old camel case method names now causes a deprecation warning being logged
2015-02-26 13:43:01 +01:00
Gina Häußge
942c916df5 Added tool tips for webcam options
Also fixed label element references
2015-02-26 11:47:55 +01:00
Mikk Kiilaspää
a4d83c33ec Add an option to specify the amount of encoding threads for FFMPEG 2015-02-25 23:50:00 +02:00
Gina Häußge
07987dad46 Proper default values for interval in server on API 2015-02-24 19:46:55 +01:00
Gina Häußge
90dda10ca0 Proper default values for timelapse settings when no settings available from server 2015-02-24 19:46:24 +01:00
Gina Häußge
2250fea68a Changed location of fps configuration setting in timelapse config 2015-02-24 19:28:50 +01:00
Gina Häußge
fcc6a8c4c3 Changed wording for timelapse fps configuration a bit 2015-02-24 19:24:50 +01:00
Gina Häußge
ebbcd28536 Fixed a client side range check for timelapse fps 2015-02-24 19:24:32 +01:00
Gina Häußge
b273e06e88 Server side range checking for timelapse config 2015-02-24 19:24:11 +01:00
Mikk Kiilaspää
197859b675 Fix v2 for response parsing 2015-02-24 20:00:58 +02:00
Mikk Kiilaspää
f5ece9b5b4 Add the option to change timelapse fps 2015-02-24 19:39:29 +02:00
Mikk Kiilaspää
f0a71acf98 Fix response parsing 2015-02-24 17:48:15 +02:00
Gina Häußge
478b4f9550 Muted style of "Hint:" message in Files sidebar and Control tab 2015-02-24 14:15:33 +01:00
Gina Häußge
e9623fdc36 Improved behaviour of terminal window
* Disabling autoscrolling now also stops cutting of the log while it's enabled, effectively preventing log lines from being modified at all
  * Applying filters displays "[...]" where lines where removed
  * Added a link to scroll to the end of the terminal log (useful for when autoscroll is disabled)
  * Added a link to select all current contents of the terminal log for easy copy-pasting
  * Added a display of how many lines are displayed, how many are filtered and how many are available in total

Closes #735
2015-02-24 14:14:52 +01:00
Gina Häußge
a6e5ea268b Fixed timelapse postroll settings
* Changing Timelapse post roll activates save button
* Timelapse post roll is loaded properly from config
(cherry picked from commit e1d7573)
2015-02-24 11:09:17 +01:00
Gina Häußge
e1d75736e7 Fixed timelapse postroll settings
* Changing Timelapse post roll activates save button
* Timelapse post roll is loaded properly from config
2015-02-24 11:08:23 +01:00
Gina Häußge
3dc7f8cd7c Fixed a merge error 2015-02-24 09:35:35 +01:00
Gina Häußge
e19b0d2a49 Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/main.js
	src/octoprint/static/js/app/viewmodels/settings.js
2015-02-24 09:32:46 +01:00
Gina Häußge
543b8df48b Extended documentation to include replace feature for plugin template components 2015-02-24 09:29:02 +01:00
Gina Häußge
bb0a607891 Fixed gcode and terminal view models not properly handling missing elements 2015-02-23 21:41:19 +01:00
Gina Häußge
b401d957e5 Tabs now overflow into a tabdrop instead of wrapping 2015-02-23 21:40:55 +01:00
Gina Häußge
1c931a65e7 Asset injection for core components now uses same mechanism as plugins 2015-02-23 21:40:17 +01:00
Gina Häußge
b9fd3dda7d Added onAfterTabChange callback, fixed tab switching this way
Both temperature graph and terminal need to be updated AFTER the tab has been switched (onAfterTabChange) not before (onTabChange).
2015-02-23 14:55:43 +01:00
Gina Häußge
3a41ec2e20 Refactored view models, switched from underscore to lodash
Also added loglevel.js to allow for level based logging and added sprintf.js separately
2015-02-23 13:54:40 +01:00
Gina Häußge
cc975f77aa Removed broken source map links in jquery.min.js and underscore-min.js
Should get rid of *.min.map 404s
2015-02-23 10:43:44 +01:00
Gina Häußge
81ef3d1e02 Fixed new slider controls
Needed proper observables to work
2015-02-22 22:26:05 +01:00
Gina Häußge
09ecd68fde Parametric commands for custom controls can now define sliders instead of input fields 2015-02-22 22:19:43 +01:00
Gina Häußge
60a747620c Bit more error resilience for the gcode viewer ui elements 2015-02-22 21:49:33 +01:00
Gina Häußge
4abcf1054b Added controls for changing feed and flow rate factors to Controls tab
Closes #362
2015-02-22 21:20:56 +01:00
Gina Häußge
e476e4154e Added custom control type for rows of controls
This allows horizontal placement of buttons. Custom controls in rows can have specified two new attributes: width which is the width of their container in the bootstrap 12-slot grid, and offset to specify offsets to the former control on the row.
2015-02-22 16:42:26 +01:00
Gina Häußge
32ebec3d3c Fixed problem that broke SD printing 2015-02-22 15:34:14 +01:00
Gina Häußge
5c35a288a3 Always make sure to (re)set file position to the beginning when starting SD card prints
Closes #780
2015-02-22 15:15:45 +01:00
Teja
7f7d1f7229 Merge branch 'mrbeam-stable' into mrbeam 2015-02-21 09:54:19 +01:00
Teja
31d010663d wording fix. 2015-02-21 09:53:54 +01:00
Gina Häußge
ad23c88347 Merge remote-tracking branch 'origin/devel' into devel 2015-02-20 19:02:00 +01:00
Gina Häußge
f60435aca4 Also allow downloading of STL files from server 2015-02-20 19:01:14 +01:00
Gina Häußge
9d3dee7bf3 Ping pong sending to fix acknowledgement errors
Might be a good solution for people affected by #166, #470, #490 until commRefactoring branch is ready for prime time. No solution for #553 since that needs proper queueing and blocking command detection.
2015-02-20 18:48:15 +01:00
Teja
3994ef689e disabled serial logging after start. removed console.log debug line 2015-02-20 15:04:43 +01:00
Gina Häußge
5af6f0e7cb Possible fix for the resend issue backported from commRefactoring branch 2015-02-20 14:34:05 +01:00
Gina Häußge
8711702cf5 Temperature polling fixed, virtual printer having issues with resends
TODO:
- solve virtual printer resend issues
- document hook
2015-02-19 23:04:47 +01:00
Gina Häußge
1e6679c40c Corrected some merge errors, got gcode scripts to work, broke temperature polling in the process
TODO:
- Fix temperature polling
- Document new hook octoprint.comm.protocol.scripts
2015-02-19 22:32:20 +01:00
Teja
1e53965f35 stop streaming gcode if hard/soft limit hit 2015-02-19 16:30:21 +01:00
Teja
b8dcb0c8a4 better log output 2015-02-19 15:01:41 +01:00
Teja
a123a81783 several bugfixes for the beta release 2015-02-19 14:53:38 +01:00
Marcel
61c4a8b635 Error messages show the proper name of the objects
Just try to figure out why some binding wasn't working on my version and came out with this small change
2015-02-18 12:07:36 -08:00
Gina Häußge
654e255b68 Merge branch 'devel' into dev/gcodeScripts
Conflicts:
	src/octoprint/server/__init__.py
	src/octoprint/server/api/settings.py
	src/octoprint/static/css/octoprint.css
	src/octoprint/static/js/app/viewmodels/settings.js
2015-02-18 17:18:22 +01:00
Gina Häußge
28738a5179 More documentation and unit tests 2015-02-18 17:16:37 +01:00
Gina Häußge
258b824ff8 self._printer in plugins now allows direct access to the transport object (serial instance in most cases) 2015-02-17 21:53:45 +01:00
Gina Häußge
7438ba1eea Merge remote-tracking branch 'origin/devel' into devel 2015-02-17 14:26:52 +01:00
Gina Häußge
3c33401b48 GCODE viewer: Only try to instantiate sliders if their elements are available 2015-02-17 13:51:34 +01:00
Gina Häußge
9aa45041f6 View models can now implement getAdditionalControls to add controls to the control tab
Controls may now contain a new property "javascript" which may be either a javascript function to be called when the control is executed, or a string to be eval'd when the control is executed. If it is a function, it will be called with the config of the custom control as single parameter "data". If it is a string it will be eval'd within a function context providing the custom control configuration as variable data.

Additionally controls may contain a new property "enabled", which may also be either a javascript function or a string to be eval'd. The custom control config will be available to the enabled code as described above. The code is expected to return true if the component should be enabled or false if not.
2015-02-17 13:51:05 +01:00
Gina Häußge
56bce984fa Merge pull request #673 from fjriosp/reconnect_fix
BugFix to Reconnect on Debian
2015-02-17 09:42:42 +01:00
Teja
ccb2614deb visual fix. file list fills screen height now 2015-02-14 20:41:24 +01:00
Teja
a2b892c96b improved visual difference between gcode and svg files in the working area 2015-02-14 20:33:42 +01:00
Teja
42fc268449 switch off focus after 30 seconds 2015-02-14 19:07:17 +01:00
Gina Häußge
6cdd8de248 docs: Fixed a wrong reference 2015-02-13 15:50:09 +01:00
Gina Häußge
197ed7b912 More documentation 2015-02-13 12:50:02 +01:00
Gina Häußge
00760ef1b3 If plugins only provide LESS or CSS files, they should still be properly included in the page regardless of stylesheet mode
Up until now OctoPrint would not include anything for plugins which didn't provide LESS files but CSS files when in LESS mode (and vice versa). This is not rectified to make development a bit easier and less restrictive - if a plugin author doesn't want to use LESS but just plain CSS, that's now fine too.
2015-02-12 13:28:37 +01:00
Teja
a9fd363f45 switch on the fan in focus mode as well. 2015-02-11 18:17:41 +01:00
Teja
6cc9d33b44 bugfix. system menu was shown twice 2015-02-11 17:57:12 +01:00
Teja
07918b9f0d better drop behaviour 2015-02-11 14:05:48 +01:00
Teja
72b8a09ccd little explanation. 2015-02-11 13:14:38 +01:00
Teja
9496a29af7 fixed logfile view 2015-02-11 13:09:26 +01:00
Teja
9c0e2b29ea fixed authentication 2015-02-11 13:02:30 +01:00
Teja
8f7b92f33b added safety labels to the safety popup 2015-02-11 12:30:41 +01:00
Gina Häußge
65557f670a Fixed copy paste error from way back 2015-02-11 12:26:18 +01:00
Gina Häußge
9cdb273cbc Tooltips for the serial connection settings 2015-02-11 12:22:41 +01:00
Teja
37f90fbb0f code cleanucode cleanupp 2015-02-11 12:17:27 +01:00
Teja
3598a14dc6 fixed drag n drop of files 2015-02-11 11:28:06 +01:00
Teja
f9fdf9ebb2 bugfix. updated to new sarge 0.1.4 behaviour 2015-02-11 11:12:27 +01:00
Gina Häußge
e57bf99d11 Fixed an issue causing slicing not to work due to a change in how the used sarge library works
Starting commands asynchronously now necessitates a call to Pipeline.wait_events in order to be able to access the started Command instances. Not waiting causes the list of commands to be not fully populated and hence issues with code depending on that stuff being present.

Conflicts:
	src/octoprint/plugins/cura/__init__.py
2015-02-11 10:01:41 +01:00
Teja
35fe022ece visual fixes on the design lib 2015-02-10 14:43:38 +01:00
Teja
90f4258f5f fixed gcode name generation 2015-02-10 11:46:44 +01:00
Teja
249b3a3f6b visual fixes & connection patch from https://github.com/foosel/OctoPrint/pull/673 2015-02-10 11:38:20 +01:00
Gina Häußge
eb4156c02e Directly update color coding for success/failure in file list after finishing a print job 2015-02-10 10:55:47 +01:00
Gina Häußge
faccba1c86 Fix the system menu again (stupid comma...) 2015-02-09 21:43:15 +01:00
Teja
e98c30cf11 fixed state of add design buttons 2015-02-09 18:00:58 +01:00
Gina Häußge
d3a00fc887 Properly disable UI elements again after change in templating 2015-02-09 16:12:07 +01:00
Teja
87179adbb8 visual fixes. remove buttons are now in place 2015-02-09 16:09:39 +01:00
Teja
5567cfe71d fixes svg download 2015-02-09 15:56:01 +01:00
Teja
202209a6db bugfix. feedrate slider works on multiple sequential converts 2015-02-09 15:36:25 +01:00
Teja
7b92fb27c0 bugfix. initialize counter for plugins of type generic. 2015-02-07 19:23:07 +01:00
Teja
0e829e8e9d laser safety notes appear and are closable 2015-02-07 19:19:26 +01:00
Teja
e4cc81d643 updated safety plugin 2015-02-06 17:16:13 +01:00
Teja
4dc1c2cdad fixes keyerror when using generic template plugins 2015-02-06 16:12:22 +01:00
Gina Häußge
be9021d377 Some more unit tests for the plugin manager 2015-02-05 19:20:51 +01:00
Gina Häußge
ec7feb1a3c Possible workaround for OctoPrint stalling when a clock change happens while it is running 2015-02-05 11:12:03 +01:00
Gina Häußge
70a75863ab Rudimentary multi pass dependency resolution for view models
Largely based on a patch by @mrbeam - big thanks for that!

Conflicts:
	src/octoprint/static/js/app/main.js
2015-02-04 10:51:39 +01:00
Gina Häußge
63f7b21f5b Fall back to unmodified default profile if the overridden version is invalid 2015-02-04 10:01:59 +01:00
Gina Häußge
e899050517 Rudimentary multi pass dependency resolution for view models
Largely based on a patch by @mrbeam - big thanks for that!
2015-02-03 22:23:32 +01:00
Teja
7e8491804f primitive dependency resolving while instanciating plugins viewmodels 2015-02-03 19:12:47 +01:00
Gina Häußge
d8dffc9dd3 Fall back to unmodified default profile if the overridden version is invalid 2015-02-03 11:46:30 +01:00
Gina Häußge
d5abf3f0f5 Merge remote-tracking branch 'origin/devel' into devel 2015-02-03 10:18:31 +01:00
Gina Häußge
9a476073cb Made call_plugin method more error resilient
Should catch any exceptions thrown by the plugin, log them and only hand them off if the caller requested to be informed about such things. This way if something goes wrong with a StartupPlugin there should be no problem anymore to still get the server up and running.
2015-02-03 10:17:39 +01:00
Teja
f6a3cf9821 bugfix. $H at the beginning of the print results in "invalid GCode ID33 when hitting a G02/03 command. WTF ? grbl bug? 2015-02-02 13:14:15 +01:00
Teja
b68f613849 bugfix. don't send M02 after print end / cancel to leave working coordinates as they are. 2015-02-02 11:45:04 +01:00
Teja
bccd87f6dc improvements when just starting a single gcode file. 2015-02-02 11:27:26 +01:00
Teja
ccee370d4f bugfix. if only gco files are placed on the working area, don't overwrite their sources when joining them. 2015-02-01 19:51:15 +01:00
Gina Häußge
21dd31b0fd Fixed a bug causing gcodeInterpreter to hiccup on GCODES containing invalid coordinates such as Xnan or Yinf, causing in turn the file API to fail until the offending file was deleted and its metadata removed 2015-02-01 17:37:11 +01:00
Gina Häußge
2da952e7ff Merge remote-tracking branch 'origin/devel' into devel 2015-02-01 17:27:53 +01:00
Gina Häußge
ce363ce409 Fixed a bug causing gcodeInterpreter to hiccup on GCODES containing invalid coordinates such as Xnan or Yinf, causing in turn the file API to fail until the offending file was deleted and its metadata removed 2015-02-01 17:27:12 +01:00
Teja
2800f53448 auto-sending machine specific headers / footers 2015-02-01 12:34:32 +01:00
Teja
2c37cd589a small bugfix. ensure laser is off between gcode files 2015-02-01 11:53:28 +01:00
Teja
b7ea00ebac mix of svg and gcode files works 2015-02-01 11:34:58 +01:00
Gina Häußge
cc9e495042 Extracted common CSS styles for action button columns in various tables into LESS mixin
.actioncol now sets text align to center, color of contained links to black and disables wrapping on whitespace (thanks to @Renha for that one)
2015-01-31 17:10:32 +01:00
Gina Häußge
8f8b66fbff Merge pull request #742 from Renha/devel
Fixed wrapping of Icons at Action column in Access Controll settings page
2015-01-31 16:36:58 +01:00
Teja
20927ad862 bugfix. remove updates list 2015-01-31 11:36:27 +01:00
Teja
7aa59e5763 initial design lib tab. adding and removing svgs works. 2015-01-31 01:34:49 +01:00
Teja
16b721ede3 fixed some matrix mess in the gcode preview 2015-01-30 23:16:39 +01:00
Gina Häußge
8bfa3ef250 Adjusted discovery plugin to new blueprint and settings functionality for plugins 2015-01-30 22:22:39 +01:00
Gina Häußge
17d0b17a86 Blueprints of BlueprintPlugins now also get instantiated with defined template and static folder, plugins may override this via get_blueprint_kwargs 2015-01-30 22:22:08 +01:00