Commit graph

807 commits

Author SHA1 Message Date
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
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
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
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
Jack Minardi
2478b73ee5 update FileSelected event to be more consistent with other events 2015-03-29 23:44:19 -04: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
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
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
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
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