Commit Graph

840 Commits

Author SHA1 Message Date
Jan-Christoph Borchardt 2cd467f3f0 Remove unneeded tabindex, add keyboard focus feedback for app list
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-09-29 20:01:15 +02:00
Jan-Christoph Borchardt d3ae77590a Merge legacy app title h1 into Nextcloud h1, ref #5822
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-09-29 19:31:05 +02:00
Jan-Christoph Borchardt 9fb37a2990 Add proper labels to various form elements and buttons
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-09-29 19:25:32 +02:00
Jan-Christoph Borchardt 753c6fd07b Add alt text to app icons in header
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-09-29 18:14:39 +02:00
Julius Härtl 699c64c750
Add manifest.json to the login page
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-09-12 09:23:13 +02:00
Allan Nordhøy d6adc240c4 Spelling: Shortening and single please. 2017-08-29 16:10:54 +02:00
Morris Jobke 7d8b7d4e4e Merge pull request #4925 from nextcloud/error-styling
Improve design and wording of various error messages
2017-08-29 12:03:16 +02:00
Lukas Reschke a04feff9a7
Properly allow \OCP\Authentication\IApacheBackend to specify logout URL
Any `\OCP\Authentication\IApacheBackend` previously had to implement `getLogoutAttribute` which returns a string.
This string is directly injected into the logout `<a>` tag, so returning something like `href="foo"` would result
in `<a href="foo">`.

This is rather error prone and also in Nextcloud 12 broken as the logout entry has been moved with
054e161eb5 inside the navigation manager where one cannot simply inject attributes.

Thus this feature is broken in Nextcloud 12 which effectively leads to the bug described at nextcloud/user_saml#112,
people cannot logout anymore when using SAML using SLO. Basically in case of SAML you have a SLO url which redirects
you to the IdP and properly logs you out there as well.

Instead of monkey patching the Navigation manager I decided to instead change `\OCP\Authentication\IApacheBackend` to
use `\OCP\Authentication\IApacheBackend::getLogoutUrl` instead where it can return a string with the appropriate logout
URL. Since this functionality is only prominently used in the SAML plugin. Any custom app would need a small change but
I'm not aware of any and there's simply no way to fix this properly otherwise.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-18 12:22:44 +02:00
Morris Jobke 44c6745159 Remove quotes around device name
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-14 11:48:56 +02:00
Morris Jobke bd43758118 Highlight client identifier in auth grant page
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-14 10:42:19 +02:00
Jan-Christoph Borchardt ebdfcb1fe3 Add heading to account access page
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-08-12 19:29:49 +02:00
Jan-Christoph Borchardt faea9cb294 Shorten text of untrusted domain error
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-08-12 19:01:42 +02:00
Morris Jobke 83b0191017 fix design of the track trace
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-12 18:48:48 +02:00
Jan-Christoph Borchardt 9f67fb86c8 Improve design of various error messages
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-08-12 18:48:48 +02:00
Morris Jobke d7645ee928 Merge pull request #5972 from nextcloud/replace-loading-icon-gif-with-pure-css-in-login-button
Replace loading icon GIF with pure CSS in login button
2017-08-08 14:40:35 +02:00
Daniel Calviño Sánchez b237379fa1 Replace loading icon GIF with pure CSS loading icon
The pure CSS loading icon uses an ::after pseudo-element, and thus it
can only be used on container elements; the input element is not a
container element, so when the class "icon-loading-small" is set on an
input element it falls back to a loading icon GIF.

This commit modifies the markup of the login button to add a div element
that holds the confirm icon and the loading icon (depending on the
case). In order to position the icon in the same place as before the
input and the icon are both wrapped by another div making possible to
set the absolute position of the icon relative to the input.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-08-03 21:09:43 +02:00
Joas Schilling 9abbd6ab13 Revert "Proof of concept #5593 - inline SVG icon for icon-contacts" 2017-08-03 17:27:24 +02:00
Morris Jobke 585e5c6ea5
Logo claim is not used anymore
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-08-02 23:08:45 +02:00
Marin Treselj c658862052 Replace `include` with `file_get_contents`
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-08-02 18:27:24 +02:00
Marin Treselj ffcdc96a0b Proof of concept #5593 - inline SVG icon for icon-contacts
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-08-02 18:27:24 +02:00
Morris Jobke 6ca4b9eee9 Merge pull request #5920 from nextcloud/gallery-share-view-fix
Top bar buttons in share view are wrong positioned
2017-08-02 16:59:24 +02:00
Marin Treselj 086ce709f7 Fixes nextcloud/gallery#269
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-07-28 14:44:29 +02:00
Morris Jobke 0de90cfc67 Fix 403 and 404 redirect
* Nextcloud is not properly loaded in the standalone version (especially the theming)
* it is already not listed anymore in the Nginx config (see nextcloud/documentation#392)
* the index.php-free version doesn't support this

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-07-26 16:30:09 +02:00
Morris Jobke 5d5b1285ec Merge pull request #5520 from nextcloud/disable-click-on-hint
[Small] Hint should not be clickable
2017-07-05 16:19:09 +02:00
Marin Treselj 3470d0a44e
Simplified Nextcloud logo icon
Signed-off-by: Marin Treselj <marin@pixelipo.com>
2017-07-02 14:14:49 +02:00
Maxence Lange 5389ffca86 Hint should not be clickable
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-06-23 09:18:20 -01:00
Morris Jobke 8eb955d5c6 Merge pull request #4993 from michaelletzgus/emit_css-tags
Emit css tags
2017-06-14 11:29:25 -05:00
Morris Jobke 0f83cdc78e Use the guest.css for the maintenance page as well
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-06-13 16:43:25 -05:00
Michael Letzgus 0d320fba4b Streamline templates, more DRY
Use Unified function to emit <link> tags for css loading, obey "Don't Repeat Yourself" ;-)

(Next step might by to combine this with the emit <script> function (even more DRY?) AND move all this to a better place?)

Signed-off-by: Michael Letzgus <michaelletzgus@users.noreply.github.com>
2017-05-25 11:13:43 +02:00
Morris Jobke 0dae4946cf Merge pull request #4854 from michaelletzgus/deferred-script-loading-v2
Make page loading faster, deferred script loading, now switchable:
2017-05-20 16:53:30 -05:00
Michael Letzgus fb9f13d4c1 Make page loading faster by deferred script loading:
* Create generalized function for emmitting <script defer src=""> tags to templates
* Remove type attribute from inline_js
* Add defer attribute to external <script> tags

Signed-off-by: Michael Letzgus <michaelletzgus@users.noreply.github.com>
2017-05-20 13:44:04 +02:00
Bjoern Schiessle 3775b14c4c
remove 'Alternative login using app token' in case of oauth login
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-05-18 20:49:05 +02:00
Lukas Reschke 5f71805c35
Add basic implementation for OAuth 2.0 Authorization Code Flow
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-18 20:49:03 +02:00
Morris Jobke 3fa604cc5e Allow to enforce update via web UI
* adds a disclaimer that an update via web UI is on own risk
* allows to skip the warning
* fixes #4353

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-11 10:22:44 -05:00
Morris Jobke abe4a19cbc Properly decide on actual users if instance is too big
* state the reason why NC thinks it is a big instance

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-05-10 22:32:42 -05:00
Lukas Reschke 26f7a3b462
Check if Nextcloud is installed
Fixes https://github.com/nextcloud/server/issues/4735

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-05-08 15:10:53 +02:00
Lukas Reschke fecf72fb70 Merge pull request #4632 from nextcloud/login-logo-ratio
show non landscape logos bigger on the login page
2017-05-08 12:11:15 +02:00
Robin Appelman c50b7addc7
smaller max logo sizes and cleaner code
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-02 13:01:11 -03:00
Robin Appelman fa52f906e3
show non landscape icons bigger on the login page
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-05-01 19:05:21 +02:00
Jan-Christoph Borchardt 7015eb9fe5 Prevent flashing of apps and user menu
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-04-29 13:34:44 +02:00
Jan-Christoph Borchardt 241e397326 Merge branch 'master' into contactsmenu
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-04-26 00:50:38 +02:00
Christoph Wurst d091793ceb Contacts menu
* load list of contacts from the server
* show last message of each contact

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-04-25 20:47:17 +02:00
Jan-Christoph Borchardt 61af3f41f0
Fix auth flow background color and redirect view layout
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-04-25 20:18:49 +02:00
Roeland Jago Douma 05e1092c44
Correctly case the stateToken
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-04-25 20:18:49 +02:00
Lukas Reschke 6a16df7288
Add new auth flow
This implements the basics for the new app-password based authentication flow for our clients.
The current implementation tries to keep it as simple as possible and works the following way:

1. Unauthenticated client opens `/index.php/login/flow`
2. User will be asked whether they want to grant access to the client
3. If accepted the user has the chance to do so using existing App Token or automatically generate an app password.

If the user chooses to use an existing app token then that one will simply be redirected to the `nc://` protocol handler.
While we can improve on that in the future, I think keeping this smaller at the moment has its advantages. Also, in the
near future we have to think about an automatic migration endpoint so there's that anyways :-)

If the user chooses to use the regular login the following happens:

1. A session state token is written to the session
2. User is redirected to the login page
3. If successfully authenticated they will be redirected to a page redirecting to the POST controller
4. The POST controller will check if the CSRF token as well as the state token is correct, if yes the user will be redirected to the `nc://` protocol handler.

This approach is quite simple but also allows to be extended in the future. One could for example allow external websites to consume this authentication endpoint as well.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-04-25 20:18:49 +02:00
Julius Härtl 7548825743
Responsive app menu
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-04-25 17:31:24 +02:00
Morris Jobke 1f962f9115
Update email template for lost password email
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-12 15:19:53 -05:00
Morris Jobke 8fa5141aaa
Removes unused code for link share emails
* now handled by sharebymail app
* see https://github.com/nextcloud/server/pull/657

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-11 17:32:48 -05:00
Lukas Reschke afb5d45705 Merge pull request #4256 from nextcloud/theming
Move OC_Defaults to OCP\Defaults
2017-04-11 14:39:46 +02:00
Lukas Reschke 5ca5ebe584 Merge pull request #2618 from nextcloud/2fa-challenge-text
Move log out and backup codes link into 2fa box for better readability
2017-04-11 11:41:55 +02:00
Morris Jobke 5b4adf66e5
Move OC_Defaults to OCP\Defaults
* currently there are two ways to access default values:
  OCP\Defaults or OC_Defaults (which is extended by
  OCA\Theming\ThemingDefaults)
* our code used a mixture of both of them, which made
  it hard to work on theme values
* this extended the public interface with the missing
  methods and uses them everywhere to only rely on the
  public interface

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-09 21:43:01 -05:00
Jan-Christoph Borchardt 9a75714c22
rename confusing getMailHeaderColor to getColorPrimary, ref #3491
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-03-29 18:23:23 +02:00
Joas Schilling a88edce54f Merge pull request #4130 from nextcloud/replace-useless-print-unescaped-with-p
Replace unecessary unescaped prints with print
2017-03-29 10:02:10 +02:00
Pierre Rudloff 19d3133ccf
Web app manifest
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-03-28 18:39:57 -06:00
Lukas Reschke 99675b46e9
Replace unecessary unescaped prints with print
There's no need to have those unescaped from what I can see.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-29 00:43:44 +02:00
Roeland Jago Douma 1ae56b054b
Moving the inline js before the CSS
This allows browsers to do smarted parallel downloads

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-03-28 22:02:22 +02:00
Jan-Christoph Borchardt ea517b489f use theming colors for favicon on macOS
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-03-27 15:45:56 +02:00
Morris Jobke 12c5c336ad Merge pull request #4077 from nextcloud/better-navigation-management
Register the app management in the normal way
2017-03-26 15:48:19 -06:00
Joas Schilling 054e161eb5
Manage the right side menu via the navigation manager as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 19:40:41 +02:00
Joas Schilling ec330c7ac4
Register the app management in the normal way
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 19:08:51 +02:00
Jan-Christoph Borchardt 2048e3e201 replace name in top right with icon for less noise
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-03-26 18:15:34 +02:00
Lukas Reschke 6a4fde11e6
Merge login JS
Removes 2 requests.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-03-24 21:18:24 +01:00
Lukas Reschke 29039eb608 Merge pull request #3951 from nextcloud/menu-firefox-fixes
Fix new app menu on firefox
2017-03-20 13:15:43 +01:00
Roeland Jago Douma 376e6f0884 Merge pull request #3915 from michaelletzgus/html5-fix_autocapitalize
Fix value of attribute "autocapitalize"
2017-03-20 13:13:32 +01:00
Julius Härtl c994e7afcd
Fix filter for app icons on firefox
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-03-20 08:27:11 +01:00
Michael Letzgus 0b6ff1706f Fix duplicate id "apps-management"
Make duplicate id "apps-management" a class since IDs must be unique:

https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute
https://api.jquery.com/id-selector/

Signed-off-by: Michael Letzgus <michaelletzgus@users.noreply.github.com>
2017-03-19 12:36:29 +01:00
Michael Letzgus 98187bf942 Fix value of attribute "autocapitalize"
Change <input> attribute "autocapitalize" from value "off" to "none" regarding to apples dev guide:

https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/Attributes.html#//apple_ref/doc/uid/TP40008058-autocapitalize

Signed-off-by: Michael Letzgus <michaelletzgus@users.noreply.github.com>
2017-03-18 16:06:57 +01:00
Julius Haertl b8ef616455
Fix html formating issues
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:10 +01:00
Julius Haertl 780400302c
Rebuild menu to keep order of icons correct
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:10 +01:00
Julius Haertl 1d6fba03f4
Make enabling/disabling apps work with the new menu
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:10 +01:00
Julius Haertl 7eae6690ad
Make app management icon act like a normal app icon
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl 61dc78e6dc
Fix menu issues
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl a630e4629f
Generate seperate menu list for header bar
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Julius Haertl 42feab59d5
Show app icons in the header
Signed-off-by: Julius Haertl <jus@bitgrid.net>
2017-03-16 11:55:09 +01:00
Christoph Wurst b15c11b93b
Use button instead of simple links
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-03-06 11:00:58 +01:00
Christoph Wurst 511df0ec99
Move log out and back codes link into 2fa box for better readability
Fixes https://github.com/nextcloud/server/issues/2538

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-03-06 10:48:26 +01:00
Morris Jobke 200a28255e
Always enable avatars
* we introduced this setting in the begining because our
  avatar support caused some performance issues, but we
  fixed them and should only provide one way how Nextcloud
  looks

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-13 17:53:33 -06:00
Morris Jobke f1c4f4c020
Rename database password toggle
* otherwise submitting the form with the password show will be overwritten
* see 2c9d7eeb76/core/Controller/SetupController.php (L59)
* seems to be a legacy fallback
* fixes #3381

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-07 16:59:12 -06:00
Morris Jobke 5bad417e57 Merge pull request #2044 from nextcloud/login-credential-store
Login credential store
2017-01-30 19:30:04 -06:00
John Molakvoæ (skjnldsv) d0e88e328c
Add clear search button
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-01-25 09:15:37 +01:00
Christoph Wurst 7c824a6177
fix scss
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-23 09:03:05 +01:00
Christoph Wurst 202509251c
Use flexbox for header and rearrange some elements
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-23 09:03:03 +01:00
Christoph Wurst 140555b786
always allow remembered login
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-01-11 19:20:11 +01:00
Cornelius Kölbel e077e01bf2
Add a TwoFactorException
A Two Factor third party App may throw a TwoFactorException()
with a more detailed error message in case the authentication fails.
The 2FA Controller will then display the message of this Exception
to the user.

Working on #26593

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-01-11 11:01:52 +01:00
Sourav Badami 3dc562bb7a
Fix #24219: Added hint for specifying a port. (#26860)
* Added hint for specifying a port.

* Minor changes.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-22 15:55:09 +01:00
Joas Schilling eed0eaeb86
Use a form so firefox doesn't try to save the space as a password
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-19 12:43:31 +01:00
Joas Schilling 924358ef96
Save the timezone on login again
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-08 10:45:24 +01:00
Morris Jobke 224c89c1b8 Remove leftovers from #1929
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2016-11-30 01:07:00 +01:00
Felix Epp 6aa79cacfd Fix mail header logo [fixes #1326]
Signed-off-by: Felix A. Epp <work@felixepp.de>
2016-11-30 01:06:47 +01:00
Jan-Christoph Borchardt e75dede590 fix some outdated naming
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2016-11-24 16:05:05 +01:00
Jan-Christoph Borchardt 56881433c0 show installation spinner correctly, fix #2129
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2016-11-22 15:58:00 +01:00
Joas Schilling 80abb69b60
Show a little explanation above the input field
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-18 12:10:51 +01:00
Joas Schilling 05df523395
Empty the password field on submission of the form
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-18 12:10:51 +01:00
Joas Schilling d75e35b75e
Introduce the UI for password confirmation
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-18 11:57:16 +01:00
Roeland Jago Douma 740659a04c
Move away from OC_L10N
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-28 21:46:28 +02:00
Roeland Jago Douma 6dbe417c51
Inlince oc.js if possible!
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-25 22:03:18 +02:00
Morris Jobke 89574367bc Merge pull request #1871 from nextcloud/use-csp-nonces
Use CSP nonces
2016-10-25 14:46:00 +02:00
Lukas Reschke 38b3ac8213
Add ContentSecurityPolicyNonceManager
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-24 16:35:31 +02:00
Lukas Reschke 9e6634814e
Add support for CSP nonces
CSP nonces are a feature available with CSP v2. Basically instead of saying "JS resources from the same domain are ok to be served" we now say "Ressources from everywhere are allowed as long as they add a `nonce` attribute to the script tag with the right nonce.

At the moment the nonce is basically just a `<?php p(base64_encode($_['requesttoken'])) ?>`, we have to decode the requesttoken since `:` is not an allowed value in the nonce. So if somebody does on their own include JS files (instead of using the `addScript` public API, they now must also include that attribute.)

IE does currently not implement CSP v2, thus there is a whitelist included that delivers the new CSP v2 policy to newer browsers. Check http://caniuse.com/#feat=contentsecuritypolicy2 for the current browser support list. An alternative approach would be to just add `'unsafe-inline'` as well as `'unsafe-inline'` is ignored by CSPv2 when a nonce is set. But this would make this security feature unusable at all in IE. Not worth it at the moment IMO.

Implementing this offers the following advantages:

1. **Security:** As we host resources from the same domain by design we don't have to worry about 'self' anymore being in the whitelist
2. **Performance:** We can move oc.js again to inline JS. This makes the loading way quicker as we don't have to load on every load of a new web page a blocking dynamically non-cached JavaScript file.

If you want to toy with CSP see also https://csp-evaluator.withgoogle.com/

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-10-24 12:27:50 +02:00
Robin Appelman 7427fb170f
show empty folder message in filepicker
Signed-off-by: Robin Appelman <robin@icewind.nl>
2016-10-21 16:35:55 +02:00