diff --git a/build/htdocs/dist/.htaccess b/build/htdocs/dist/.htaccess
deleted file mode 100644
index c9f2ba9..0000000
--- a/build/htdocs/dist/.htaccess
+++ /dev/null
@@ -1,96 +0,0 @@
-# Generated with `make apache-htaccess`
-
-Options +FollowSymlinks
-RewriteEngine on
-#RewriteBase /
-RewriteCond %{REQUEST_URI} !^index.html
-RewriteCond %{REQUEST_URI} !^/http-bind-jabber
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteRule ^ api.php [QSA,L]
-AddCharset UTF-8 .js
-AddCharset UTF-8 .html
-
-# For binding to other services
-
-
- RewriteRule http-bind-jabber/ http://localhost:5280/http-bind/ [P]
-
-
-
-
-
- FileETag None
- Header unset ETag
- Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
- Header set Pragma "no-cache"
- Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
-
-
-
- Header set Cache-Control "max-age=86400, public, must-revalidate"
-
-
-
- FileETag None
- Header unset ETag
- Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
- Header set Pragma "no-cache"
- Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
-
-
-
- Header set Cache-Control "max-age=2592000, public"
-
-
-
-
- AddType image/bmp .bmp
- AddType text/css .css
- AddType image/gif .gif
- AddType text/html .htm
- AddType text/html .html
- AddType image/jpeg .jpg
- AddType image/jpeg .jpeg
- AddType application/javascript .js
- AddType application/json .json
- AddType application/x-lua .lua
- AddType application/x-shellscript .sh
- AddType text/x-c .c
- AddType text/x-cplusplus .cpp
- AddType text/x-cplusplus .cc
- AddType font/opentype .otf
- AddType font/opentype .ttf
- AddType image/png .png
- AddType application/zip .zip
- AddType audio/aac .aac
- AddType video/mp4 .mp4
- AddType audio/mp4 .m4a
- AddType audio/mpeg .mp1
- AddType audio/mpeg .mp2
- AddType audio/mpeg .mp3
- AddType audio/mpeg .mpg
- AddType audio/mpeg .mpeg
- AddType audio/ogg .oga
- AddType audio/ogg .ogg
- AddType audio/wav .wav
- AddType video/webm .webm
- AddType video/mp4 .m4v
- AddType video/ogg .ogv
- AddType video/x-ms-video .avi
- AddType video/x-flv .flv
- AddType video/x-matroska .mkv
- AddType application/x-python .py
- AddType text/xml .xml
- AddType text/plain .md
- AddType text/plain .txt
- AddType text/plain .log
- AddType text/plain .doc
- AddType application/pdf .pdf
- AddType application/x-ipkg .ipk
- AddType osjs/dbeat .odbeat
- AddType osjs/playlist .oplist
- AddType osjs/document .odoc
- AddType osjs/draw .odraw
- AddType osjs/project .oproj
-
diff --git a/build/htdocs/dist/api.php b/build/htdocs/dist/api.php
deleted file mode 100644
index 657b54e..0000000
--- a/build/htdocs/dist/api.php
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/build/htdocs/dist/blank.css b/build/htdocs/dist/blank.css
deleted file mode 100644
index 6be9730..0000000
--- a/build/htdocs/dist/blank.css
+++ /dev/null
@@ -1,2 +0,0 @@
-@charset "UTF-8";
-
diff --git a/build/htdocs/dist/dialogs.html b/build/htdocs/dist/dialogs.html
deleted file mode 100644
index f5852a3..0000000
--- a/build/htdocs/dist/dialogs.html
+++ /dev/null
@@ -1,335 +0,0 @@
-
-
-
-
- DIALOG_ERROR_MESSAGE
-
-
-
- DIALOG_ERROR_SUMMARY
-
-
-
-
-
-
-
- DIALOG_ERROR_TRACE
-
-
-
-
-
-
-
-
- LBL_CLOSE
- LBL_BUGREPORT
-
-
-
-
-
-
-
-
-
-
- DIALOG_APPCHOOSER_MSG
-
-
-
- filename (mime)
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
- LBL_LOADING
-
-
-
-
-
-
-
-
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
- DIALOG_UPLOAD_DESC
-
-
-
-
-
-
-
-
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
-
-
-
-
-
-
-
-
-
- DIALOG_INPUT_TITLE
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
- DIALOG_ALERT_TITLE
-
-
-
-
- LBL_OK
-
-
-
-
-
-
-
-
-
- DIALOG_CONFIRM_TITLE
-
-
-
-
- LBL_YES
- LBL_NO
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Red
-
-
-
-
-
-
- Green
-
-
-
-
-
-
- Blue
-
-
-
-
-
-
- Alpha
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
diff --git a/build/htdocs/dist/favicon.ico b/build/htdocs/dist/favicon.ico
deleted file mode 100644
index 69f839d..0000000
Binary files a/build/htdocs/dist/favicon.ico and /dev/null differ
diff --git a/build/htdocs/dist/favicon.png b/build/htdocs/dist/favicon.png
deleted file mode 100644
index 694ec13..0000000
Binary files a/build/htdocs/dist/favicon.png and /dev/null differ
diff --git a/build/htdocs/dist/index.html b/build/htdocs/dist/index.html
deleted file mode 100644
index d67464c..0000000
--- a/build/htdocs/dist/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- OS.js
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/locales.js b/build/htdocs/dist/locales.js
deleted file mode 100644
index eaf9193..0000000
--- a/build/htdocs/dist/locales.js
+++ /dev/null
@@ -1,5539 +0,0 @@
-window.OSjs = window.OSjs || {};
-/**
- * @preserve OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-(function() {
- 'use strict';
- OSjs.Locales.en_EN = {
- 'ERR_FILE_OPEN' : 'Error opening file',
- 'ERR_WM_NOT_RUNNING' : 'Window manager is not running',
- 'ERR_FILE_OPEN_FMT' : 'The file \'**{0}**\' could not be opened',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Could not find any Applications with support for \'{0}\' files',
- 'ERR_APP_LAUNCH_FAILED' : 'Failed to launch Application',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'An error occured while trying to launch: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Application \'{0}\' construct failed: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Application \'{0}\' init() failed: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Application resources missing for \'{0}\' or it failed to load!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Application \'{0}\' preloading failed: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'The application \'{0}\' is already launched and allows only one instance!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Failed to launch \'{0}\'. Application manifest data not found!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Failed to launch \'{0}\'. Your browser does not support: {1}',
- 'ERR_NO_WM_RUNNING' : 'No window manager is running',
- 'ERR_CORE_INIT_FAILED' : 'Failed to initialize OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'An error occured while initializing OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Cannot launch OS.js: No window manager defined!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Cannot launch OS.js: Failed to launch Window Manager: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Cannot launch OS.js: Failed to preload resources...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Error Report',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'An unexpected error occured, maybe a bug.',
- 'ERR_APP_API_ERROR' : 'Application API error',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Application {0} failed to perform operation \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Missing argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Unknown error',
- 'ERR_OPERATION_TIMEOUT' : 'Operation Timeout',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Operation Timeout ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' expects \'{1}\' to be a \'{2}\', \'{3}\' given',
- 'ERR_WIN_DUPLICATE_FMT' : 'You already have a Window named \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimize',
- 'WINDOW_MAXIMIZE' : 'Maximize',
- 'WINDOW_RESTORE' : 'Restore',
- 'WINDOW_CLOSE' : 'Close',
- 'WINDOW_ONTOP_ON' : 'Ontop (Enable)',
- 'WINDOW_ONTOP_OFF': 'Ontop (Disable)',
- 'TITLE_SIGN_OUT' : 'Sign out',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Signed in as: {0}',
- 'ERR_LOGIN_FMT' : 'Login error: {0}',
- 'ERR_LOGIN_INVALID' : 'Invalid login',
- 'ERR_NO_SESSION': 'No session was created by the server. Do you want to retry login?',
- 'MSG_SESSION_WARNING' : 'Are you sure you want to quit OS.js? All unsaved settings and application data will be lost!',
- 'BUGREPORT_MSG' : 'Please report this if you think this is a bug.\nInclude a brief description on how the error occured, and if you can; how to replicate it',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Logged into external services: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Fatal Error',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR Error: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Log out (Exit)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Logging out user \'{0}\'.\nDo you want to save current session?',
- 'DIALOG_CLOSE' : 'Close',
- 'DIALOG_CANCEL': 'Cancel',
- 'DIALOG_APPLY' : 'Apply',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Alert Dialog',
- 'DIALOG_COLOR_TITLE' : 'Color Dialog',
- 'DIALOG_COLOR_R' : 'Red: {0}',
- 'DIALOG_COLOR_G' : 'Green: {0}',
- 'DIALOG_COLOR_B' : 'Blue: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Confirm Dialog',
- 'DIALOG_ERROR_MESSAGE' : 'Message',
- 'DIALOG_ERROR_SUMMARY' : 'Summary',
- 'DIALOG_ERROR_TRACE' : 'Trace',
- 'DIALOG_ERROR_BUGREPORT' : 'Report Bug',
- 'DIALOG_FILE_SAVE' : 'Save',
- 'DIALOG_FILE_OPEN' : 'Open',
- 'DIALOG_FILE_MKDIR' : 'New Folder',
- 'DIALOG_FILE_MKDIR_MSG' : 'Create a new directory in **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Are you sure you want to overwrite the file \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'View type',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'List View',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Tree View',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Icon View',
- 'DIALOG_FILE_ERROR' : 'FileDialog Error',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Failed listing directory \'{0}\' because an error occured',
- 'DIALOG_FILE_ERROR_FIND': 'Failed searching directory \'{0}\' because an error occured',
- 'DIALOG_FILE_MISSING_FILENAME' : 'You need to select a file or enter new filename!',
- 'DIALOG_FILE_MISSING_SELECTION': 'You need to select a file!',
- 'DIALOG_FILEINFO_TITLE' : 'File Information',
- 'DIALOG_FILEINFO_LOADING' : 'Loading file information for: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'FileInformationDialog Error',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Failed to get file information for **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Failed to get file information for: {0}',
- 'DIALOG_INPUT_TITLE' : 'Input Dialog',
- 'DIALOG_FILEPROGRESS_TITLE' : 'File Operation Progress',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Loading...',
- 'DIALOG_UPLOAD_TITLE' : 'Upload Dialog',
- 'DIALOG_UPLOAD_DESC' : 'Upload file to **{0}**.
Maximum size: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Uploading \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Uploading file...',
- 'DIALOG_UPLOAD_FAILED' : 'Upload failed',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'The upload has failed',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Reason unknown...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Cancelled by user...',
- 'DIALOG_UPLOAD_TOO_BIG': 'File is too big',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'File is too big, exceeds {0}',
- 'DIALOG_FONT_TITLE' : 'Font Dialog',
- 'DIALOG_APPCHOOSER_TITLE' : 'Choose Application',
- 'DIALOG_APPCHOOSER_MSG' : 'Choose an application to open',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'You need to select an application',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Use as default application for {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Module not configured or disabled',
- 'GAPI_SIGN_OUT' : 'Sign out from Google API Services',
- 'GAPI_REVOKE' : 'Revoke permissions and Sign Out',
- 'GAPI_AUTH_FAILURE' : 'Google API Authentication failed or did not take place',
- 'GAPI_AUTH_FAILURE_FMT' : 'Failed to authenticate: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Failed to load Google API',
- 'WLAPI_DISABLED' : 'Windows Live API module not configured or disabled',
- 'WLAPI_SIGN_OUT' : 'Sign out from Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Failed to load Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Failed to log into Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Failed to log into Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API returned {0} status',
- 'IDB_MISSING_DBNAME' : 'Cannot create IndexedDB without Database Name',
- 'IDB_NO_SUCH_ITEM' : 'No such item',
- 'ERR_VFS_FATAL' : 'Fatal Error',
- 'ERR_VFS_UNAVAILABLE' : 'Not available',
- 'ERR_VFS_FILE_ARGS' : 'File expects at least one argument',
- 'ERR_VFS_NUM_ARGS' : 'Not enough arguments',
- 'ERR_VFS_EXPECT_FILE' : 'Expects a file-object',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Expects a source file-object',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Expects a destination file-object',
- 'ERR_VFS_FILE_EXISTS' : 'Destination already exists',
- 'ERR_VFS_TARGET_NOT_EXISTS': 'Target does not exist',
- 'ERR_VFS_TRANSFER_FMT' : 'An error occured while transfering between storage: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Cannot upload a file without a destination',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Cannot upload without any files defined',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'File upload failed: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED' : 'File upload was cancelled',
- 'ERR_VFS_DOWNLOAD_NO_FILE' : 'Cannot download a path without a path',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'An error occured while downloading: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY' : 'Response was empty',
- 'ERR_VFSMODULE_INVALID' : 'Invalid VFS Module',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Invalid VFS Module: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Invalid VFS Method',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Invalid VFS Method: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Invalid VFS Module type',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Invalid VFS Module type: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Invalid VFS Module configuration',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Invalid VFS Module configuration: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'VFS Module already mounted',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'VFS Module \'{0}\' already mounted',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'VFS Module not mounted',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'VFS Module \'{0}\' not mounted',
- 'ERR_VFSMODULE_EXCEPTION' : 'VFS Module Exception',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'VFS Module Exception: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'No VFS Module matches {0}. Wrong path or format ?',
- 'ERR_VFSMODULE_READONLY' : 'This VFS Module is read-only',
- 'ERR_VFSMODULE_READONLY_FMT' : 'This VFS Module is read-only: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Downloading file',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR Error',
- 'ERR_VFSMODULE_ROOT_ID' : 'Failed to find root folder id',
- 'ERR_VFSMODULE_NOSUCH' : 'File does not exist',
- 'ERR_VFSMODULE_PARENT' : 'No such parent',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Failed to look up parent: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Failed to scan directory',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Failed to scan directory: {0}',
- 'ERR_VFSMODULE_READ' : 'Failed to read file',
- 'ERR_VFSMODULE_READ_FMT' : 'Failed to read file: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Failed to write file',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Failed to write file: {0}',
- 'ERR_VFSMODULE_COPY' : 'Failed to copy',
- 'ERR_VFSMODULE_COPY_FMT' : 'Failed to copy: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Failed to unlink file',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Failed to unlink file: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Failed to move file',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Failed to move file: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Failed to check file existence',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Failed to check file existence: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Failed to get file information',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Failed to get file information: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Failed to create directory',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Failed to create directory: {0}',
- 'ERR_VFSMODULE_MKFILE' : 'Failed to create file',
- 'ERR_VFSMODULE_MKFILE_FMT' : 'Failed to create file: {0}',
- 'ERR_VFSMODULE_URL' : 'Failed to get URL for file',
- 'ERR_VFSMODULE_URL_FMT' : 'Failed to get URL for file: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Failed to move file to trash',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Failed to move file to trash: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Failed to move file out of trash',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Failed to move file out of trash: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Failed to empty trash',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Failed to empty trash: {0}',
- 'ERR_VFSMODULE_FIND' : 'Failed to search',
- 'ERR_VFSMODULE_FIND_FMT' : 'Failed to search: {0}',
- 'ERR_VFSMODULE_FREESPACE' : 'Failed to get free space',
- 'ERR_VFSMODULE_FREESPACE_FMT' : 'Failed to get free space: {0}',
- 'ERR_VFSMODULE_EXISTS' : 'Failed to check if exists',
- 'ERR_VFSMODULE_EXISTS_FMT' : 'Failed to check if exists: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'You are signed in to Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Sign out from Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'Failed to resolve path: item not found',
- 'ZIP_PRELOAD_FAIL' : 'Failed to load zip.js',
- 'ZIP_VENDOR_FAIL' : 'zip.js library was not found. Did it load properly?',
- 'ZIP_NO_RESOURCE' : 'No zip resource was given',
- 'ZIP_NO_PATH' : 'No path given',
- 'SEARCH_LOADING': 'Searching...',
- 'SEARCH_NO_RESULTS': 'No results found',
- 'ERR_PACKAGE_EXISTS': 'Package installation directory already exists. Cannot continue!',
- 'ERR_FILE_APP_OPEN' : 'Cannot open file',
- 'ERR_FILE_APP_OPEN_FMT' : 'The file {0} could not be opened because the mime {1} is not supported',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'The file {0} could not be opened',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'The file {0} could not be saved',
- 'ERR_GENERIC_APP_FMT' : '{0} Application Error',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Failed to perform action \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Unknown Error',
- 'ERR_GENERIC_APP_REQUEST' : 'An error occured while handling your request',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Fatal Error: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Discard changes?',
- 'MSG_FILE_CHANGED' : 'The file has changed. Reload?',
- 'MSG_APPLICATION_WARNING' : 'Application Warning',
- 'MSG_MIME_OVERRIDE' : 'The filetype "{0}" is not supported, using "{1}" instead.',
- 'LBL_UNKNOWN' : 'Unknown',
- 'LBL_APPEARANCE' : 'Appearance',
- 'LBL_USER' : 'User',
- 'LBL_NAME' : 'Name',
- 'LBL_APPLY' : 'Apply',
- 'LBL_FILENAME' : 'Filename',
- 'LBL_PATH' : 'Path',
- 'LBL_SIZE' : 'Size',
- 'LBL_TYPE' : 'Type',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Loading',
- 'LBL_SETTINGS' : 'Settings',
- 'LBL_ADD_FILE' : 'Add file',
- 'LBL_COMMENT' : 'Comment',
- 'LBL_ACCOUNT' : 'Account',
- 'LBL_CONNECT' : 'Connect',
- 'LBL_ONLINE' : 'Online',
- 'LBL_OFFLINE' : 'Offline',
- 'LBL_AWAY' : 'Away',
- 'LBL_BUSY' : 'Busy',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Help',
- 'LBL_ABOUT' : 'About',
- 'LBL_PANELS' : 'Panels',
- 'LBL_LOCALES' : 'Locales',
- 'LBL_THEME' : 'Theme',
- 'LBL_COLOR' : 'Color',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Kill',
- 'LBL_ALIVE' : 'Alive',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Add',
- 'LBL_FONT' : 'Font',
- 'LBL_YES' : 'Yes',
- 'LBL_NO' : 'No',
- 'LBL_CANCEL' : 'Cancel',
- 'LBL_TOP' : 'Top',
- 'LBL_LEFT' : 'Left',
- 'LBL_RIGHT' : 'Right',
- 'LBL_BOTTOM' : 'Bottom',
- 'LBL_CENTER' : 'Center',
- 'LBL_FILE' : 'File',
- 'LBL_NEW' : 'New',
- 'LBL_OPEN' : 'Open',
- 'LBL_SAVE' : 'Save',
- 'LBL_SAVEAS' : 'Save as...',
- 'LBL_CLOSE' : 'Close',
- 'LBL_MKDIR' : 'Create directory',
- 'LBL_UPLOAD' : 'Upload',
- 'LBL_VIEW' : 'View',
- 'LBL_EDIT' : 'Edit',
- 'LBL_RENAME' : 'Rename',
- 'LBL_DELETE' : 'Delete',
- 'LBL_OPENWITH' : 'Open With ...',
- 'LBL_ICONVIEW' : 'Icon View',
- 'LBL_TREEVIEW' : 'Tree View',
- 'LBL_LISTVIEW' : 'List View',
- 'LBL_REFRESH' : 'Refresh',
- 'LBL_VIEWTYPE' : 'View type',
- 'LBL_BOLD' : 'Bold',
- 'LBL_ITALIC' : 'Italic',
- 'LBL_UNDERLINE' : 'Underline',
- 'LBL_REGULAR' : 'Regular',
- 'LBL_STRIKE' : 'Strike',
- 'LBL_INDENT' : 'Indent',
- 'LBL_OUTDENT' : 'Outdate',
- 'LBL_UNDO' : 'Undo',
- 'LBL_REDO' : 'Redo',
- 'LBL_CUT' : 'Cut',
- 'LBL_UNLINK' : 'Unlink',
- 'LBL_COPY' : 'Copy',
- 'LBL_PASTE' : 'Paste',
- 'LBL_INSERT' : 'Insert',
- 'LBL_IMAGE' : 'Image',
- 'LBL_LINK' : 'Link',
- 'LBL_DISCONNECT' : 'Disconnect',
- 'LBL_APPLICATIONS' : 'Applications',
- 'LBL_ADD_FOLDER' : 'Add folder',
- 'LBL_INFORMATION' : 'Information',
- 'LBL_TEXT_COLOR' : 'Text Color',
- 'LBL_BACK_COLOR' : 'Back Color',
- 'LBL_RESET_DEFAULT' : 'Reset to defaults',
- 'LBL_DOWNLOAD_COMP' : 'Download to computer',
- 'LBL_ORDERED_LIST' : 'Ordered List',
- 'LBL_BACKGROUND_IMAGE' : 'Background Image',
- 'LBL_BACKGROUND_COLOR' : 'Background Color',
- 'LBL_UNORDERED_LIST' : 'Unordered List',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Read-Only',
- 'LBL_CREATED' : 'Created',
- 'LBL_MODIFIED' : 'Modified',
- 'LBL_SHOW_COLUMNS' : 'Show Columns',
- 'LBL_MOVE' : 'Move',
- 'LBL_OPTIONS' : 'Options',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Directory',
- 'LBL_CREATE' : 'Create',
- 'LBL_BUGREPORT' : 'Bugreport',
- 'LBL_INSTALL' : 'Install',
- 'LBL_UPDATE' : 'Update',
- 'LBL_REMOVE' : 'Remove',
- 'LBL_SHOW_SIDEBAR' : 'Show sidebar',
- 'LBL_SHOW_NAVIGATION' : 'Show navigation',
- 'LBL_SHOW_HIDDENFILES' : 'Show hidden files',
- 'LBL_SHOW_FILEEXTENSIONS' : 'Show file extensions',
- 'LBL_MOUNT': 'Mount',
- 'LBL_DESCRIPTION': 'Description',
- 'LBL_USERNAME': 'Username',
- 'LBL_PASSWORD': 'Password',
- 'LBL_HOST': 'Host',
- 'LBL_NAMESPACE': 'Namespace',
- 'LBL_SEARCH': 'Search',
- 'LBL_BACK': 'Back',
- 'LBL_ICONS': 'Icons',
- 'LBL_ICON': 'Icon',
- 'LBL_UNINSTALL': 'Uninstall',
- 'LBL_REGENERATE': 'Regenerate',
- 'LBL_DESKTOP': 'Desktop',
- 'LBL_WINDOWMANAGER': 'Window Manager',
- 'LBL_HOTKEY': 'Hotkey',
- 'LBL_HOTKEYS': 'Hotkeys',
- 'LBL_MOUNTS': 'Mounts',
- 'LBL_ID': 'ID',
- 'LBL_APPLICATION': 'Application',
- 'LBL_SCOPE': 'Scope',
- 'LBL_HIDE': 'Hide',
- 'LBL_REPOSITORY': 'Repository',
- 'LBL_VERSION': 'Version',
- 'LBL_AUTHOR': 'Author',
- 'LBL_GROUPS': 'Groups',
- 'LBL_AUTOHIDE': 'Autohide',
- 'LBL_PERSONAL': 'Personal',
- 'LBL_SYSTEM': 'System',
- 'LBL_STARTING': 'Starting',
- 'LBL_SOUNDS': 'Sounds',
- 'LBL_STORE': 'Store',
- 'LBL_LOCALE': 'Locale',
- 'LBL_PACKAGE': 'Package',
- 'LBL_PACKAGES': 'Packages',
- 'LBL_INPUT': 'Input',
- 'LBL_MISC': 'Misc',
- 'LBL_OTHER': 'Other',
- 'LBL_USERS': 'Users',
- 'LBL_FONTS': 'Fonts'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.bg_BG = {
- 'ERR_FILE_OPEN' : 'Ãðåøêà ïðè îòâàðÿíå íà ôàéë',
- 'ERR_WM_NOT_RUNNING' : 'Ìåíèäæúðà íà ïðîçîðöè íå ðàáîòè ',
- 'ERR_FILE_OPEN_FMT' : 'Ôàéëúò \'**{0}**\' íå ìîæå äà áúäå îòâîðåí',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Íÿìà íàìåðåíè ïðèëîæåíèÿ ñ ïîääðúæêà çà \'{0}\' ôàéëîâå',
- 'ERR_APP_LAUNCH_FAILED' : 'Ïðèëîæåíèåòî íå ìîæà äà áúäå ñòàðòèðàíî',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Ïîëó÷è ñå ãðåøêà ïî âðåìå íà ñòàðòèðàíå: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Ïðèìîæåíèåòî \'{0}\' ïðîâàëåíî èçãðàæäàíå: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Ïðèëîæåíèåòî \'{0}\' init() ïðîâàëåíî: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Ëèïñâàùè ðåñóðñè çà ïðèëîæåíèåòî \'{0}\' èëè ñå ïðîâàëè ñòàðòèðàíåòî!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Ïðèëîæåíèåòî \'{0}\' ïðåäâàðèòåëíî ñòàðòèðàíå ïðîâàëåíî: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Ïðèëîæåíèåòî \'{0}\' å âå÷å ñòàðòèðàíî!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Ãðåøêà ïðè ñòàðòèðàíå \'{0}\'. íÿìà íàìåðåíè äàííè!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Ãðåøêà ïðè ñòàðòèðàíå \'{0}\'. íåïîääúðæàí áðàóçúð: {1}',
- 'ERR_NO_WM_RUNNING' : 'Íÿìà ðàáîòåù ìåíèäæúð íà ïðîçîðöè',
- 'ERR_CORE_INIT_FAILED' : 'Ïðîâàëåíî èíèöèàëèçèðàíå íà OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Ãðåøêà ïðè èíèöèàëèçèðàíå íà OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'OS.js íå ìîæå äà ñå ñòàðòèðà: Íå å îïðåäåëåí ìåíèäæúð íà ïðîçîðöè!',
- 'ERR_CORE_INIT_WM_FAILED_FMT': 'OS.js íå ìîæå äà ñå ñòàðòèðà: Ïðîâàëåíî îòâàðÿíå íà ìåíèäæúð íà ïðîçîðöè: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED': 'OS.js íå ìîæå äà ñå ñòàðòèðà: Ïðîâàëåíî çàðåæäàíå íà ðåñóðñèòå...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript èíôîðìàöèÿ íà ãðåøêà ',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Ïîÿâè ñå íåî÷êàâàíà ãðåøêà, âåðîÿòíî áúã.',
- 'ERR_APP_API_ERROR' : 'Ãðåøêà â API íà ïðèëîæåíèåòî',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Ïðèëîæåíèåòî {0} íå ìîæà äà èçïúëíè îïåðàöèÿòà \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Ëèïñâàù àðãóìåíò: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Íåïîçíàòà ãðåøêà',
- 'ERR_OPERATION_TIMEOUT' : 'Ïðåñðî÷åíî âðåìå íà îïåðàöèÿòà',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Ïðåñðî÷åíî âðåìå íà îïåðàöèÿòà ({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'Âå÷å èìà íàèìåíîâàí ïðîçîðåö \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Ìèíèìèçèðàé',
- 'WINDOW_MAXIMIZE' : 'Ìàêñèìèçèðàíå',
- 'WINDOW_RESTORE' : 'Âúçîáíîâè',
- 'WINDOW_CLOSE' : 'çàòâîðè',
- 'WINDOW_ONTOP_ON' : 'íàé-îòãîðå (ðàçðåøåíî)',
- 'WINDOW_ONTOP_OFF': 'íàé-îòãîðå (çàáðàíåíî)',
- 'TITLE_SIGN_OUT' : 'Èçõîä',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Âëåçëè ñòå êàòî: {0}',
- 'MSG_SESSION_WARNING' : 'Ñèãóðíè ëè ñòå, ÷å èñêàòå íà èçëåçåòå îò OS.js? Âñè÷êè íå çàïàçåíè íàñòðîéêè è èíôîðìàöèÿ ùå áúäàò çàãóáåíè!',
- 'BUGREPORT_MSG' : 'Ìîëÿ äîêëàäâàéòå òîâà àêî ìèñëèòå, ÷å å áúã.\âêëþ÷åòå äåòàéëíî îïèñàíèå êàê ñå ïîëó÷è ãðåøêàòà è ñàìî àêî ìîæåòå; êàê ìîæå äà áúäå ïîïðàâåíà ',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Âëåçëè ñòå âúâ âúíøíè óñëóãè: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Ôàòàëíà ãðåøêà',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR ãðåøêà: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Èçëåç (Èçõîä)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Èçëèçàíå îò ïîòðåáèòåë \'{0}\'.\nÈñêàòå ëè äà çàïàçèòå òåêóùàòà ñåñèÿ?',
- 'DIALOG_CLOSE' : 'Çàòâîðè',
- 'DIALOG_CANCEL': 'Îòêàæè',
- 'DIALOG_APPLY' : 'Ïðèëîæè',
- 'DIALOG_OK' : 'ÎÊ',
- 'DIALOG_ALERT_TITLE' : 'Äèàëîã çà èçâåñòèå',
- 'DIALOG_COLOR_TITLE' : 'Öâÿò íà äèàëîãà',
- 'DIALOG_COLOR_R' : '×åðâåí: {0}',
- 'DIALOG_COLOR_G' : 'Çåëåí: {0}',
- 'DIALOG_COLOR_B' : 'Ñèí: {0}',
- 'DIALOG_COLOR_A' : 'Àëôà: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Ïîòâúðäè äèàëîã',
- 'DIALOG_ERROR_MESSAGE' : 'Ñúîáùåíèå',
- 'DIALOG_ERROR_SUMMARY' : 'Ñúäúðæàíèå',
- 'DIALOG_ERROR_TRACE' : 'Òúðñè',
- 'DIALOG_ERROR_BUGREPORT' : 'Äîêëàäâàé áúã',
- 'DIALOG_FILE_SAVE' : 'Çàïàçè',
- 'DIALOG_FILE_OPEN' : 'Îòâîðè',
- 'DIALOG_FILE_MKDIR' : 'Íîâà ïàïêà',
- 'DIALOG_FILE_MKDIR_MSG' : 'Ñúçäàé íîâà äèðåêòîðèÿ â **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Ñèãóðíè ëè ñòå, ÷å èñêàòå äà ïðåçàïèøåòå ôàèëúò \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Òèï íà èçãëåä',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Ñïèñúê',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Äúðâî',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Èêîíè',
- 'DIALOG_FILE_ERROR' : 'Ãðåøêà âúâ ôàéëîâ äèàëîã',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Ïðîâàëåíî ðàçãëåæäàíå íà äèðåêòîðèÿòà \'{0}\' ïîðàäè ãðåøêà',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Òðÿáâà äà èçáåðåòå ôàéë èëè äà âúâåäåòå èìå!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Òðÿáâà äà èçáåðåòå ôàéë!',
- 'DIALOG_FILEINFO_TITLE' : 'Èíôîðàìöèÿ çà ôàéëúò',
- 'DIALOG_FILEINFO_LOADING' : 'Çàðåæäàíå íà èíôîðìàöèÿ çà: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Ãðåøêà â èíôîðìàöèÿ çà ôàéë',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Íå ìîæå äà áúäå íàìåðåíà èíôîðìàöèÿ çà ôàéëúò **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Íå ìîæå äà áúäå íàìåðåíà èíôîðìàöèÿ çà ôàéëúò: {0}',
- 'DIALOG_INPUT_TITLE' : 'Âõîäÿù äèàëîã',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Ïðîãðåñ íà îïåðàöèÿòà íà ôàéëúò',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Çàðåæäàíå...',
- 'DIALOG_UPLOAD_TITLE' : 'Äîáàâè äèàëîã',
- 'DIALOG_UPLOAD_DESC' : 'Äîáàâè ôàéë êúì **{0}**.
Ìàêñèìàëåí ðàçìåð: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Äîáàâÿíå \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Äîáàâÿíå íà ôàèë...',
- 'DIALOG_UPLOAD_FAILED' : 'Äîáàâÿíå ïðîâàëåíî',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Äîáàâÿíåòî å ïðîâàëåíî',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Íåîïðåäåëåíà ïðè÷èíà...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Îòêàçàíî îò ïîòðåáèòåë...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Ôàéëúò å ïðåêàëåíî ãîëÿì',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Ôàéëúò å ïðåêàëåíî ãîëÿì, íàäâèøàâà {0}',
- 'DIALOG_FONT_TITLE' : 'Øðèôò íà äèàëîã',
- 'DIALOG_APPCHOOSER_TITLE' : 'Èçáåðåòå ïðèëîæåíèå',
- 'DIALOG_APPCHOOSER_MSG' : 'Èçáåðåòå ïðèëîæåíèå êîåòî äà ñå îòâîðè',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Òðÿáâà äà èçáåðåòå ïðèëîæåíèå',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Èçïîëçâàé êàòî ïðèëîæåíèå ïî ïîäðàçáèðàíå çà {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Ìîäóë íå å êîíôèãóðèðàí èëè å èçêëþ÷åí',
- 'GAPI_SIGN_OUT' : 'Èçõîä îò Google API óñëóãè',
- 'GAPI_REVOKE' : 'Îòòåãëÿíå íà ïðàâàòà è èçõîä',
- 'GAPI_AUTH_FAILURE' : 'Google API óäîñòîâåðÿâàíå ïðîâàëåíî èëè íå å ïðîâåäåíî',
- 'GAPI_AUTH_FAILURE_FMT' : 'Ãðåøêà ïðè óäîñòîâåðÿâàíå: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Ïðîâàëåíî ñòàðòèðàíå íà Google API',
- 'WLAPI_DISABLED' : 'Windows Live API ìîäóë íå å êîíôèãóðèðàí èëè å èçêëþ÷åí',
- 'WLAPI_SIGN_OUT' : 'Èçõîä îò Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Ïðîâàëåíî ñòàðòèðàíå íà Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Ïðîâàëåíî âëèçàíå â Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Ïðîâàëåíî âëèçàíå â Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API îòãîâîðè {0} ñòàòóñ',
- 'IDB_MISSING_DBNAME' : 'Íå ìîæå äà áúäå ñúçäàäåíà IndexedDB áåç èìå íà áàçà äàííè',
- 'IDB_NO_SUCH_ITEM' : 'Íå ñúùåñòâóâàù îáåêò',
- 'ERR_VFS_FATAL' : 'Ôàòàëíà ãðåøêà',
- 'ERR_VFS_UNAVAILABLE' : 'Íå â íàëè÷íî',
- 'ERR_VFS_FILE_ARGS' : 'Ôàéëúò î÷àêâà ïîíå åäèí àðãóìåíò',
- 'ERR_VFS_NUM_ARGS' : 'Íÿìà äîñòàòú÷íî àðãóìåíòè',
- 'ERR_VFS_EXPECT_FILE' : 'Î÷àêâà ôàéëîâ-îáåêò',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Î÷êâà èçòî÷íèê Ôàéëîâ-îáåêò',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Î÷àêâà äåñòèíàöèÿ Ôàéëîâ-îáåêò',
- 'ERR_VFS_FILE_EXISTS' : 'Äåñòèíàöèÿòà âå÷å ñúùåñòâóâà',
- 'ERR_VFS_TRANSFER_FMT' : 'Ïîÿâè ñå ãðåøêà äîêàòî ñå èçâúðøâàøå òðàíñôåð: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Íå ìîæå äà áúäå äîáàâåí ôàéë áåç äåâñòèíàöèÿ',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Íå ìîæå äà ñå äîáàâÿ áåç îïðåäåëÿíå íà ôàéëîâå',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Ïðîâàëåíî äîáàâÿíå íà ôàéëîâå: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Äîáàâÿíåòî íà ôàéëîâå áåøå ïðåêðàòåíî',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Íå ìîæå äà ñå èçòåãëè áåç óêàçàí ïúò ',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Ïîÿâè ñå ãðåøêà ïðè èçòåãëÿíå: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Îòãîâîðà áåøå ïðàçåí',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Èçòåãëÿíå íà ôàéë',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR ãðåøêà',
- 'ERR_VFSMODULE_ROOT_ID' : 'Íå ìîæå äà áúäå íàìåðåíî ÈÄ íà root ïàïêàòà',
- 'ERR_VFSMODULE_NOSUCH' : 'Ôàéëúò íå ñúùåñòâóâà',
- 'ERR_VFSMODULE_PARENT' : 'Íÿìà íàìåðåí èçòî÷íèê',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Íå ìîæà äà áúäå íàìåðåí èçòî÷íêè: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Ïðîâàëåíî ñêàíèðàíå íà äèðåêòîðèÿ',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Ïðîâàëåíî ñêàíèðàíå íà äèðåêòîðèÿ: {0}',
- 'ERR_VFSMODULE_READ' : 'Ïðîâàëåíî ïðî÷èòàíå íà ôàéëúò',
- 'ERR_VFSMODULE_READ_FMT' : 'Ïðîâàëåíî ïðî÷èòàíå íà ôàéëúò: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Ïðîâàëåíî çàïèñâàíå íà ôàéëúò',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Ïðîâàëåíî çàïèñâàíå íà ôàéëúò: {0}',
- 'ERR_VFSMODULE_COPY' : 'Ïðîâàëåíî êîïèðàíå',
- 'ERR_VFSMODULE_COPY_FMT' : 'Ïðîâàëåíî êîïèðàíå: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Ïðîâàëåíî ðàçêà÷àíå íà ôàéëúò ',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Ïðîâàëåíî ðàçêà÷àíå íà ôàéëúò: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Ïðîâàëåíî ïðåìåñòâàíå íà ôàéëúò',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Ïðîâàëåíî ïðåìåñòâàíå íà ôàèëúò: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Ïðîâàëåíà ïðîæåðêà çà ñúùåñòâóâàíå íà ôàéëúò',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Ïðîâàëåíà ïðîæåðêà çà ñúùåñòâóâàíå íà ôàéëúò: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Ïðîâàëåíî ïîëó÷àâàíå íà èíôîðìàöèÿ çà ôàéëúò',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Ïðîâàëåíî ïîëó÷àâàíå íà èíôîðìàöèÿ çà ôàéëúò: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Ïðîâàëåíî ñúçäàâàíå íà äèðåêòîðèÿ',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Ïðîâàëåíî ñúçäàâàíå íà äèðåêòîðèÿ: {0}',
- 'ERR_VFSMODULE_URL' : 'Ïðîâàëåíî ïîëó÷àâàíå íà URL çà ôàéëúò',
- 'ERR_VFSMODULE_URL_FMT' : 'Ïðîâàëåíî ïîëó÷àâàíå íà URL çà ôàéëúò: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Ïðîâàëåíî èçòðèâàíå',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Ïðîâàëåíî èçòðèâàíå: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Ïðîâàëåíî èçêàðâàíå îò êîø÷åòî',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Ïðîâàëåíî èçêàðâàíå îò êîø÷åòî: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Ïðîâàëåíî èçïðàçâàíå íà êîø÷åòî',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Ïðîâàëåíî èçïðàçâàíå íà êîø÷åòî: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Âëåçëè ñòå â Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Èçõîä îò Dropbox API',
- 'ONEDRIVE_ERR_RESOLVE' : 'Ïðîâàëåíî íàìèðàíå íà ïúò: Îáåêòà íå å íàìåðåí',
- 'ERR_PACKAGE_EXISTS': 'Äèðåêòîðèÿ çà èíñòàëèðàíå íà ïàêåòè âå÷å ñúùåñòâóâà. Íå ìîæå äà ïðîäúëæèòå!',
- 'ERR_FILE_APP_OPEN' : 'Íå ìîæå äà áúäå îòâîðåí ôàéëúò',
- 'ERR_FILE_APP_OPEN_FMT' : 'Ôàéëúò {0} íå ìîæå äà áúäå îòîâîðåí {1} íå ñå ïîääúðæà',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Ôàéëúò {0} íå ìîæå äà áúäå îòâîðåí',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Ôàéëúò {0} íå ìîæå äà áúäå çàïàçåí',
- 'ERR_GENERIC_APP_FMT' : '{0} ãðåøêà â ïðèëîæåíèåòî',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Ïðîâàëåíî èçïúëíåíÿâàíå íà äåéñòâèå \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Íåïîçíàòà ãðåøêà',
- 'ERR_GENERIC_APP_REQUEST' : 'Ïîëó÷è ñå ãðåøêà ïðè èçïúëíÿâàíå íà çàÿâêàòà',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Ôàòàëíà ãðåøêà: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Îòêàæè ïðîìåíèòå?',
- 'MSG_FILE_CHANGED' : 'Ôàéëúò å ïðîìåíåí. ïðåçàðåäè?',
- 'MSG_APPLICATION_WARNING' : 'Ïðåäóïðåæäåíèå',
- 'MSG_MIME_OVERRIDE' : 'âèäà íà ôàéëà "{0}" íå ñå ïîääúðæà, èçïîëçâàéòå "{1}".',
- 'LBL_UNKNOWN' : 'Íåïîçíàò',
- 'LBL_APPEARANCE' : 'Âúíøåí âèä',
- 'LBL_USER' : 'Ïîòðåáèòåë',
- 'LBL_NAME' : 'Èìå',
- 'LBL_APPLY' : 'Ïðèëîæè',
- 'LBL_FILENAME' : 'Èìå íà ôàéë',
- 'LBL_PATH' : 'Ïúò',
- 'LBL_SIZE' : 'Ðàçìåð',
- 'LBL_TYPE' : 'Òèï',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Çàðåæäàíå',
- 'LBL_SETTINGS' : 'Íàñòðîéêè',
- 'LBL_ADD_FILE' : 'Äîáàâè ôàéë',
- 'LBL_COMMENT' : 'Êîìåíòàð',
- 'LBL_ACCOUNT' : 'Àêàóíò',
- 'LBL_CONNECT' : 'Ñâúðæè ñå',
- 'LBL_ONLINE' : 'Íà ëèíèÿ',
- 'LBL_OFFLINE' : 'Èçâúí ëèíèÿ',
- 'LBL_AWAY' : 'Îòñúñòâàù',
- 'LBL_BUSY' : 'Çàåò',
- 'LBL_CHAT' : '×àò',
- 'LBL_HELP' : 'Ïîìîù',
- 'LBL_ABOUT' : 'Èíôîðìàöèÿ',
- 'LBL_PANELS' : 'Ïàíåëè',
- 'LBL_LOCALES' : 'Ëîêàëèçàöèÿ',
- 'LBL_THEME' : 'Òåìà',
- 'LBL_COLOR' : 'Öâÿò',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Ïðåêðàòè',
- 'LBL_ALIVE' : 'Âêëþ÷è',
- 'LBL_INDEX' : 'Èíäåêñ',
- 'LBL_ADD' : 'Äîáàâè',
- 'LBL_FONT' : 'Øðèôò',
- 'LBL_YES' : 'Äà',
- 'LBL_NO' : 'Íå',
- 'LBL_CANCEL' : 'Îòêàæè',
- 'LBL_TOP' : 'Ãîðå',
- 'LBL_LEFT' : 'Ëÿâî',
- 'LBL_RIGHT' : 'Äÿñíî',
- 'LBL_BOTTOM' : 'Äîëó',
- 'LBL_CENTER' : 'Öåíòúð',
- 'LBL_FILE' : 'Ôàéë',
- 'LBL_NEW' : 'Íîâ',
- 'LBL_OPEN' : 'Îòâîðè',
- 'LBL_SAVE' : 'Çàïàçè',
- 'LBL_SAVEAS' : 'Çàïàçè êàòî...',
- 'LBL_CLOSE' : 'Çàòðâîðè',
- 'LBL_MKDIR' : 'Ñúçäàé äèðåêòîðèÿ',
- 'LBL_UPLOAD' : 'Äîáàâè',
- 'LBL_VIEW' : 'Èçãëåä',
- 'LBL_EDIT' : 'Ðåäàêòèðàé',
- 'LBL_RENAME' : 'Ïðåèìåíóâàé',
- 'LBL_DELETE' : 'Èçòðèè',
- 'LBL_OPENWITH' : 'Îòâîðè ñ...',
- 'LBL_ICONVIEW' : 'Èêîíè',
- 'LBL_TREEVIEW' : 'Äúðâî',
- 'LBL_LISTVIEW' : 'Ñïèñúê',
- 'LBL_REFRESH' : 'Îïðåñíè',
- 'LBL_VIEWTYPE' : 'Íà÷èí íà èçãëåä',
- 'LBL_BOLD' : 'Ïîëó÷åð',
- 'LBL_ITALIC' : 'Íàêëîíåí',
- 'LBL_UNDERLINE' : 'Ïîä÷åðòàí',
- 'LBL_REGULAR' : 'Îáèêíîâåí',
- 'LBL_STRIKE' : 'Strike',
- 'LBL_INDENT' : 'Èäåíòèôèêàöèÿ',
- 'LBL_OUTDENT' : 'Ïðåñðî÷âàíå',
- 'LBL_UNDO' : 'Ïððåìàõíè',
- 'LBL_REDO' : 'Îòìåíè ïðåìàõâàíåòî',
- 'LBL_CUT' : 'Èçðåæè',
- 'LBL_UNLINK' : 'Îòêà÷è',
- 'LBL_COPY' : 'Êîïèðàé',
- 'LBL_PASTE' : 'Ïîñòàâè',
- 'LBL_INSERT' : 'Äîáàâè',
- 'LBL_IMAGE' : 'Èçîáðàæåíèå',
- 'LBL_LINK' : 'Ëèíê',
- 'LBL_DISCONNECT' : 'Èçëåç îò âðúçêà',
- 'LBL_APPLICATIONS' : 'Ïðèëîæåíèÿ',
- 'LBL_ADD_FOLDER' : 'Äîáàâè ïàïêà',
- 'LBL_INFORMATION' : 'Èíôîðìàöèÿ',
- 'LBL_TEXT_COLOR' : 'Öâÿò íà òåêñòà',
- 'LBL_BACK_COLOR' : 'Öâÿò íà ôîíà',
- 'LBL_RESET_DEFAULT' : 'Âúðíè ïî ïîäðàçáèðàíå',
- 'LBL_DOWNLOAD_COMP' : 'Èçòåãëÿíå íà êîìïþòúðà',
- 'LBL_ORDERED_LIST' : 'Ïîäðåäåí ñïèñúê',
- 'LBL_BACKGROUND_IMAGE' : 'Èçîáðàæåíèÿ çà ôîí',
- 'LBL_BACKGROUND_COLOR' : 'Öâÿò íà ôîí',
- 'LBL_UNORDERED_LIST' : 'Íåïîäðåäåí ñïèñúê',
- 'LBL_STATUS' : 'Ñàòóñ',
- 'LBL_READONLY' : 'ñàìî çà ÷åòåíå',
- 'LBL_CREATED' : 'Ñúçäàäåí',
- 'LBL_MODIFIED' : 'Ìîäèôèöèðàí',
- 'LBL_SHOW_COLUMNS' : 'Ïîêàæè êîëîíè',
- 'LBL_MOVE' : 'Ïðåìåñòè',
- 'LBL_OPTIONS' : 'Îïöèè',
- 'LBL_OK' : 'ÎÊ',
- 'LBL_DIRECTORY' : 'Äèðåêòîðèÿ',
- 'LBL_CREATE' : 'Ñúçäàé',
- 'LBL_BUGREPORT' : 'Áúã-ðåïîðò',
- 'LBL_INSTALL' : 'Èíñòàëèðàé',
- 'LBL_UPDATE' : 'Àêòóàëèçèðàé',
- 'LBL_REMOVE' : 'Ïðåìàõíè',
- 'LBL_SHOW_SIDEBAR' : 'покажи страничен бар',
- 'LBL_BACKGROUND' : 'Фон',
- 'LBL_DESKTOP' : 'Работен плот',
- 'LBL_PANEL' : 'Панел',
- 'LBL_POSITION' : 'Позиция',
- 'LBL_ONTOP' : 'Най-отгоре',
- 'LBL_ITEMS' : 'Обекти',
- 'LBL_GENERAL': 'Основен'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.no_NO = {
- 'ERR_FILE_OPEN' : 'Feil ved åpning av fil',
- 'ERR_WM_NOT_RUNNING' : 'Window Manager kjører ikke',
- 'ERR_FILE_OPEN_FMT' : 'Filen \'**{0}**\' kunne ikke bli åpnet',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Fant ingen Applikasjoner som støtter \'{0}\' filer',
- 'ERR_APP_LAUNCH_FAILED' : 'Klarte ikke starte Applikasjon',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'En feil oppstod ved oppstart av: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Applikasjonen \'{0}\' construct feilet: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Applikasjonen \'{0}\' init() feilet: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Applikasjonen ressursjer mangler for \'{0}\', eller de feilet under lasting!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Applikasjonen \'{0}\' preloading feilet: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Applikasjonen \'{0}\' kjører allerede og bare en instans er tillatt!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Klarte ikke starte \'{0}\'. Manifest ble ikke funnet!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Klarte ikke starte \'{0}\'. Nettleseren din støtter ikke: {1}',
- 'ERR_NO_WM_RUNNING' : 'Window Manager kjører ikke',
- 'ERR_CORE_INIT_FAILED' : 'Klarte ikke starte OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'En feil oppstod under oppstart av OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Kan ikke starte OS.js: Ingen window manager definert!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Kan ikke starte OS.js: Window Manager startet ikke: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Kan ikke starte OS.js: Feil under forhåndslasting...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Feilrapport',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'En uventet feil eller bug oppstod.',
- 'ERR_APP_API_ERROR' : 'Applikasjon API feil',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Applikasjon {0} feilet under operasjonen \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Mangler argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Ukjent feil',
- 'ERR_OPERATION_TIMEOUT' : 'Tidsavbrudd i operasjon',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Tidsavbrudd i operasjon ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' expects \'{1}\' to be a \'{2}\', \'{3}\' given',
- 'ERR_WIN_DUPLICATE_FMT' : 'Du har allerede et Window med navnet \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimiser',
- 'WINDOW_MAXIMIZE' : 'Maksimer',
- 'WINDOW_RESTORE' : 'Gjenopprett',
- 'WINDOW_CLOSE' : 'Lukk',
- 'WINDOW_ONTOP_ON' : 'På topp (På)',
- 'WINDOW_ONTOP_OFF': 'På topp (Av)',
- 'TITLE_SIGN_OUT' : 'Logg ut',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Logget inn som: {0}',
- 'ERR_LOGIN_FMT' : 'Login feil: {0}',
- 'ERR_LOGIN_INVALID' : 'Ugyldig innlogging',
- 'ERR_NO_SESSION': 'Ingen sessjon er aktiv. Vil du laste på nytt?',
- 'MSG_SESSION_WARNING' : 'Er du sikker på at du vil avslutte OS.js? Du vil tape alle ulagrede data!',
- 'BUGREPORT_MSG' : 'Vennligst rapporter dette problemet hvis du tror det er en feil.\nLegg ved en beskrivelse om hvordan problemet oppstod og hvordan man kan reprodusere feilen.',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Innloget i eksterne tjenester: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Fatal Feil',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR Feil: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Logg ut (Avslutt)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Logger ut bruker \'{0}\'.\nVil du lagre gjeldende sessjon?',
- 'DIALOG_CLOSE' : 'Lukk',
- 'DIALOG_CANCEL': 'Avbryt',
- 'DIALOG_APPLY' : 'Angi',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Advarsel Dialog',
- 'DIALOG_COLOR_TITLE' : 'Farge Dialog',
- 'DIALOG_COLOR_R' : 'Rød: {0}',
- 'DIALOG_COLOR_G' : 'Grønn: {0}',
- 'DIALOG_COLOR_B' : 'Blå: {0}',
- 'DIALOG_COLOR_A' : 'Alfa: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Bekreft Dialog',
- 'DIALOG_ERROR_MESSAGE' : 'Beskjed',
- 'DIALOG_ERROR_SUMMARY' : 'Oppsummering',
- 'DIALOG_ERROR_TRACE' : 'Trace',
- 'DIALOG_ERROR_BUGREPORT' : 'Bugreport',
- 'DIALOG_FILE_SAVE' : 'Lagre',
- 'DIALOG_FILE_OPEN' : 'Åpne',
- 'DIALOG_FILE_MKDIR' : 'Ny Mappe',
- 'DIALOG_FILE_MKDIR_MSG' : 'Lage ny mappe i **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Vil du overskrive filen \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Visningstype',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Liste-visning',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Tre-visining',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Ikon-visning',
- 'DIALOG_FILE_ERROR' : 'FileDialog Error',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Klarte ikke liste innhold for mappen \'{0}\' fordi en feil oppstod',
- 'DIALOG_FILE_ERROR_FIND': 'Klarte ikke søke i mappen \'{0}\' fordi en feil oppstod',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Du må velge en fil eller skrive inn filnavn!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Du må velge en fil!',
- 'DIALOG_FILEINFO_TITLE' : 'Fil Informasion',
- 'DIALOG_FILEINFO_LOADING' : 'Laste informasjon for filen: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'FileInformationDialog Feil',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Klarte ikke hente informasjon for filen **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Klarte ikke hente informasjon for filen: {0}',
- 'DIALOG_INPUT_TITLE' : 'Inndata Dialog',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Fil-operasjon fremgang',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Laster...',
- 'DIALOG_UPLOAD_TITLE' : 'Opplasting Dialog',
- 'DIALOG_UPLOAD_DESC' : 'Opplasting fil til **{0}**.
Maksimum størrelse: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Laster opp \'{0}\' ({1} {2}) til {3}',
- 'DIALOG_UPLOAD_MSG' : 'Laster opp fil...',
- 'DIALOG_UPLOAD_FAILED' : 'Opplasting feilet',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Opplastingen feilet',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Ukjent årsak...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Avbrutt av bruker...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Fil er for stor',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Fil er for stor, større en {0}',
- 'DIALOG_FONT_TITLE' : 'Tekst Dialog',
- 'DIALOG_APPCHOOSER_TITLE' : 'Velg Applikasjon',
- 'DIALOG_APPCHOOSER_MSG' : 'Velg en applikasjon for åpning',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Du må velge en applikasjon',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Bruk som standard for {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Modul dekativert eller ikke konfigurert',
- 'GAPI_SIGN_OUT' : 'Logg ut av Google API Services',
- 'GAPI_REVOKE' : 'Tilbakekall tillatelse og Logg ut',
- 'GAPI_AUTH_FAILURE' : 'Google API autentisering feilet eller tok ikke sted',
- 'GAPI_AUTH_FAILURE_FMT' : 'Klarte ikke autentisere: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Klarte ikke laste Google API',
- 'WLAPI_DISABLED' : 'Windows Live API Modul deaktivert eller ikke konfigurert',
- 'WLAPI_SIGN_OUT' : 'Logg ut av Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Klarte ikke laste Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Klarte ikke logge inn Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Klarte ikke logge inn Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API returnerte {0} status',
- 'IDB_MISSING_DBNAME' : 'Kan ikke opprette IndexedDB uten databasenavn',
- 'IDB_NO_SUCH_ITEM' : 'Item ble ikke funnet',
- 'ERR_VFS_FATAL' : 'Fatal Feil',
- 'ERR_VFS_UNAVAILABLE' : 'Ikke tilgjenglig',
- 'ERR_VFS_FILE_ARGS' : 'File forventer minst èt argument',
- 'ERR_VFS_NUM_ARGS' : 'Ikke not argumenter',
- 'ERR_VFS_EXPECT_FILE' : 'Forventer èt Fil-objekt',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Forventer èt kilde Fil-objekt',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Forventer èt destinasjon Fil-objekt',
- 'ERR_VFS_FILE_EXISTS' : 'Destinasjonen finnes allerede',
- 'ERR_VFS_TARGET_NOT_EXISTS': 'Destinasjon finnes ikke',
- 'ERR_VFS_TRANSFER_FMT' : 'En feil oppstod under overføring av filen: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Kan ikke laste opp uten destinasjon',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Kan ikke laste opp uten noen filer definert',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Fil-opplasting feilet: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Fil-opplastingen ble avbrutt',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Kan ikke laste ned uten en sti',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'En feil oppstod under nedlasting: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY' : 'Respons var tom',
- 'ERR_VFSMODULE_INVALID' : 'Ugyldig VFS Modul',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Ugyldig VFS Modul: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Ugyldig VFS Metode',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Ugyldig VFS Metode: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Ugyldig VFS Modul type',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Ugyldig VFS Modul type: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Ugyldig VFS Modul konfigurasjon',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Ugyldig VFS Modul konfigurasjon: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'VFS Modul allerede montert',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'VFS Modul \'{0}\' allerede montert',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'VFS Modul ikke montert',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'VFS Modul \'{0}\' ikke montert',
- 'ERR_VFSMODULE_EXCEPTION' : 'VFS Modul Exception',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'VFS Modul Exception: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'Ingen VFS Modul lik {0}. Fil sti eller format ?',
- 'ERR_VFSMODULE_READONLY' : 'VFS Modul er bare lesbar',
- 'ERR_VFSMODULE_READONLY_FMT' : 'VFS Modul er bare lesbar: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Laster ned fil',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR Feil',
- 'ERR_VFSMODULE_ROOT_ID' : 'Klarte ikke hente id for rotmappe',
- 'ERR_VFSMODULE_NOSUCH' : 'Filen eksister ikke',
- 'ERR_VFSMODULE_PARENT' : 'Parent finnes ikke',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Klarte ikke lete opp parent: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Klarte ikke skanne mappe',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Klarte ikke skanne mappe: {0}',
- 'ERR_VFSMODULE_READ' : 'Klarte ikke lese fil',
- 'ERR_VFSMODULE_READ_FMT' : 'Klarte ikke lese fil: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Klarte ikke skrive fil',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Klarte ikke skrive fil: {0}',
- 'ERR_VFSMODULE_COPY' : 'Klarte ikke kopiere',
- 'ERR_VFSMODULE_COPY_FMT' : 'Klarte ikke kopiere: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Klarte ikke slette fil',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Klarte ikke slette fil: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Klarte ikke flytte fil',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Klarte ikke flytte fil: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Klarte ikke sjekke om fil eksisterer',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Klarte ikke sjekke om fil eksisterer: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Klarte ikke hente fil-informasjon',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Klarte ikke hente fil-informasjon: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Klarte ikke lage mappe',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Klarte ikke lage mapp: {0}',
- 'ERR_VFSMODULE_MKFILE' : 'Klarte ikke lage fil',
- 'ERR_VFSMODULE_MKFILE_FMT' : 'Klarte ikke lage fil: {0}',
- 'ERR_VFSMODULE_URL' : 'Klarte ikke hente URL for fil',
- 'ERR_VFSMODULE_URL_FMT' : 'Klarte ikke hente URL for fil: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Klarte ikke flytte fil til søppelkassen',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Klarte ikke flytte fil til søppelkassen: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Klarte ikke flytte fil ut av søppelkassen',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Klarte ikke flytte fil ut av søppelkassen: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Klarte ikke tømme søppel',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Klarte ikke tømme søppel: {0}',
- 'ERR_VFSMODULE_FIND' : 'Klarte ikke søke',
- 'ERR_VFSMODULE_FIND_FMT' : 'Klarte ikke søke: {0}',
- 'ERR_VFSMODULE_FREESPACE' : 'Klarte ikke hente ledig plass',
- 'ERR_VFSMODULE_FREESPACE_FMT' : 'Klarte ikke hente ledig plass: {0}',
- 'ERR_VFSMODULE_EXISTS' : 'Klarte ikke sjekke destinasjon',
- 'ERR_VFSMODULE_EXISTS_FMT' : 'Klarte ikke check sjekke destinasjon: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Du er logget inn i Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Logg ut fra Dropbox API',
- 'ONEDRIVE_ERR_RESOLVE' : 'Klarte ikke løse sti: fant ikke filen',
- 'ZIP_PRELOAD_FAIL' : 'Klarte ikke laste zip.js',
- 'ZIP_VENDOR_FAIL' : 'zip.js bliblioteket ble ikke funnet!',
- 'ZIP_NO_RESOURCE' : 'Ingen zip ressursj angitt',
- 'ZIP_NO_PATH' : 'Ingen sti angitt',
- 'SEARCH_LOADING': 'Søker...',
- 'SEARCH_NO_RESULTS': 'Ingen resultater',
- 'ERR_PACKAGE_EXISTS': 'Kan ikke fortsette. Pakkedestinasjonen finnes allerede!',
- 'ERR_FILE_APP_OPEN' : 'Kan ikke åpne filen',
- 'ERR_FILE_APP_OPEN_FMT' : 'Filen {0} ble ikke åpnet fordi MIME {1} ikke er støttet',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Filen {0} ble ikke åpnet',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Filen {0} ble ikke lagret',
- 'ERR_GENERIC_APP_FMT' : '{0} Applikasjon Feil',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Klarte ikke utføre operasjon \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Ukjent feil',
- 'ERR_GENERIC_APP_REQUEST' : 'En feil oppstod under håndteringen av din forespursel',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Fatal Feil: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Forkast endringer?',
- 'MSG_FILE_CHANGED' : 'Filen har blitt endret. Last inn på nytt?',
- 'MSG_APPLICATION_WARNING' : 'Applikasjon-advarsel',
- 'MSG_MIME_OVERRIDE' : 'Filtypen "{0}" er ikke støttet, bruker "{1}" istedet.',
- 'LBL_UNKNOWN' : 'Ukjent',
- 'LBL_APPEARANCE' : 'Utseende',
- 'LBL_USER' : 'Bruker',
- 'LBL_NAME' : 'Navn',
- 'LBL_APPLY' : 'Angi',
- 'LBL_FILENAME' : 'Filnavn',
- 'LBL_PATH' : 'Sti',
- 'LBL_SIZE' : 'Størrelse',
- 'LBL_TYPE' : 'Type',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Laster',
- 'LBL_SETTINGS' : 'Instillinger',
- 'LBL_ADD_FILE' : 'Legg til fil',
- 'LBL_COMMENT' : 'Kommenter',
- 'LBL_ACCOUNT' : 'Konto',
- 'LBL_CONNECT' : 'Koble til',
- 'LBL_ONLINE' : 'Online',
- 'LBL_OFFLINE' : 'Offline',
- 'LBL_AWAY' : 'Borte',
- 'LBL_BUSY' : 'Opptatt',
- 'LBL_CHAT' : 'Snakk',
- 'LBL_HELP' : 'Hjelp',
- 'LBL_ABOUT' : 'Om',
- 'LBL_PANELS' : 'Paneler',
- 'LBL_LOCALES' : 'Lokalisering',
- 'LBL_THEME' : 'Temaer',
- 'LBL_COLOR' : 'Farge',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Drep',
- 'LBL_ALIVE' : 'I live',
- 'LBL_INDEX' : 'Indeks',
- 'LBL_ADD' : 'Legg til',
- 'LBL_FONT' : 'Skrift',
- 'LBL_YES' : 'Ja',
- 'LBL_NO' : 'Nei',
- 'LBL_CANCEL' : 'Avbryt',
- 'LBL_TOP' : 'Topp',
- 'LBL_LEFT' : 'Venstre',
- 'LBL_RIGHT' : 'Høyre',
- 'LBL_BOTTOM' : 'Bunn',
- 'LBL_CENTER' : 'Midt',
- 'LBL_FILE' : 'Fil',
- 'LBL_NEW' : 'Ny',
- 'LBL_OPEN' : 'Åpne',
- 'LBL_SAVE' : 'Lagre',
- 'LBL_SAVEAS' : 'Lagre som...',
- 'LBL_CLOSE' : 'Lukk',
- 'LBL_MKDIR' : 'Lag Mappe',
- 'LBL_UPLOAD' : 'Last opp',
- 'LBL_VIEW' : 'Visning',
- 'LBL_EDIT' : 'Rediger',
- 'LBL_RENAME' : 'Navngi',
- 'LBL_DELETE' : 'Slett',
- 'LBL_OPENWITH' : 'Åpne Med ...',
- 'LBL_ICONVIEW' : 'Ikon-visning',
- 'LBL_TREEVIEW' : 'Tre-visning',
- 'LBL_LISTVIEW' : 'Liste-visning',
- 'LBL_REFRESH' : 'Gjennoppfrisk',
- 'LBL_VIEWTYPE' : 'Visningstype',
- 'LBL_BOLD' : 'Feit',
- 'LBL_ITALIC' : 'Skeiv',
- 'LBL_UNDERLINE' : 'Underlinjet',
- 'LBL_REGULAR' : 'Normal',
- 'LBL_STRIKE' : 'Gjennomstrøk',
- 'LBL_INDENT' : 'Innrykk',
- 'LBL_OUTDENT' : 'Utrykk',
- 'LBL_UNDO' : 'Angre',
- 'LBL_REDO' : 'Gjør om igjen',
- 'LBL_CUT' : 'Kutt',
- 'LBL_UNLINK' : 'Fjern lenke',
- 'LBL_COPY' : 'Kopier',
- 'LBL_PASTE' : 'Lim inn',
- 'LBL_INSERT' : 'Sett inn',
- 'LBL_IMAGE' : 'Bilde',
- 'LBL_LINK' : 'Lenke',
- 'LBL_DISCONNECT' : 'Koble fra',
- 'LBL_APPLICATIONS' : 'Applikasjoner',
- 'LBL_ADD_FOLDER' : 'Legg til mappe',
- 'LBL_INFORMATION' : 'Informasjon',
- 'LBL_TEXT_COLOR' : 'Tekst-farge',
- 'LBL_BACK_COLOR' : 'Bakgrunn-farge',
- 'LBL_RESET_DEFAULT' : 'Omstill til standard',
- 'LBL_DOWNLOAD_COMP' : 'Last ned til datamaskin',
- 'LBL_ORDERED_LIST' : 'Ordnet liste',
- 'LBL_BACKGROUND_IMAGE' : 'Bakgrunnsbilde',
- 'LBL_BACKGROUND_COLOR' : 'Bakgrunnsfarge',
- 'LBL_UNORDERED_LIST' : 'Uordnet Liste',
- 'LBL_SHOW_SIDEBAR' : 'Vis Sidebar',
- 'LBL_SEARCH': 'Søk',
- 'LBL_STATUS': 'Status',
- 'LBL_READONLY': 'Kun lesbar',
- 'LBL_CREATED': 'Opprettet',
- 'LBL_MODIFIED': 'Modifisert',
- 'LBL_SHOW_COLUMNS': 'Vis Kolonner',
- 'LBL_MOVE': 'Flytt',
- 'LBL_OPTIONS': 'Opsjoner',
- 'LBL_OK': 'OK',
- 'LBL_DIRECTORY': 'Mappe',
- 'LBL_CREATE': 'Opprett',
- 'LBL_BUGREPORT': 'Bug-rapport',
- 'LBL_INSTALL': 'Installer',
- 'LBL_UPDATE': 'Oppdater',
- 'LBL_REMOVE': 'Fjern',
- 'LBL_SHOW_NAVIGATION': 'Vis navigasjon',
- 'LBL_SHOW_HIDDENFILES': 'Vis skjulte filer',
- 'LBL_SHOW_FILEEXTENSIONS': 'Vis fil-utvidelser',
- 'LBL_MOUNT': 'Montere',
- 'LBL_DESCRIPTION': 'Beskrivelse',
- 'LBL_USERNAME': 'Brukernavn',
- 'LBL_PASSWORD': 'Passord',
- 'LBL_HOST': 'Vert',
- 'LBL_NAMESPACE': 'Navneplass',
- 'LBL_BACK': 'Tilbake',
- 'LBL_ICONS': 'Ikoner',
- 'LBL_ICON': 'Ikon',
- 'LBL_UNINSTALL': 'Avinstaller',
- 'LBL_REGENERATE': 'Regenerer',
- 'LBL_DESKTOP': 'Skrivebord',
- 'LBL_WINDOWMANAGER': 'Vindu-håndterer',
- 'LBL_HOTKEY': 'Snarknapp',
- 'LBL_HOTKEYS': 'Snarknapper',
- 'LBL_MOUNTS': 'Monteringer',
- 'LBL_ID': 'ID',
- 'LBL_APPLICATION': 'Applikasjon',
- 'LBL_SCOPE': 'Skop',
- 'LBL_HIDE': 'Skjul',
- 'LBL_REPOSITORY': 'Repository',
- 'LBL_VERSION': 'Versjon',
- 'LBL_AUTHOR': 'Forfatter',
- 'LBL_GROUPS': 'Grupper',
- 'LBL_AUTOHIDE': 'Auto-skjul',
- 'LBL_PERSONAL': 'Personlig',
- 'LBL_SYSTEM': 'System',
- 'LBL_STARTING': 'Starter',
- 'LBL_SOUNDS': 'Lyder',
- 'LBL_STORE': 'Butikk',
- 'LBL_LOCALE': 'Språkvalg',
- 'LBL_PACKAGE': 'Pakke',
- 'LBL_PACKAGES': 'Pakker',
- 'LBL_INPUT': 'Inndata',
- 'LBL_MISC': 'Annet',
- 'LBL_OTHER': 'Annet',
- 'LBL_USERS': 'Brukere',
- 'LBL_FONTS': 'Skrift',
- 'LBL_BACKGROUND' : 'Bakgrunn',
- 'LBL_PANEL' : 'Panel',
- 'LBL_POSITION' : 'Posisjon',
- 'LBL_OPACITY' : 'Gjennomsiktighet',
- 'LBL_ONTOP' : 'Topp',
- 'LBL_ITEMS' : 'Objekter',
- 'LBL_GENERAL' : 'Generelt'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.de_DE = {
- 'ERR_FILE_OPEN' : 'Fehler beim Öffnen der Datei',
- 'ERR_WM_NOT_RUNNING': 'Fenster-Manager wird nicht ausgeführt',
- 'ERR_FILE_OPEN_FMT' : 'Die Datei \'**{0}**\' kann nicht geöffnet werden',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Keine Anwendung gefunden, die den Datentyp \'{0}\' unterstützt',
- 'ERR_APP_LAUNCH_FAILED' : 'Fehler beim Starten der Anwendung',
- 'ERR_APP_LAUNCH_FAILED_FMT': 'Ein Fehler ist aufgetreten, während des Versuchs \'{0}\' zu starten',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Anwendung \'{0}\' construct gescheitert: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Anwendung \'{0}\' init() gescheitert: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Anwendungsressourcen fehlen oder wurden nicht geladen für: {0}',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Anwendung \'{0}\' preloading gescheitert: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Anwendung \'{0}\' ist bereits gestartet und erlaubt nur eine Instanz',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : '\'{0}\' konnte nicht gestartet werden. Anwendungsmanifest nicht gefunden!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Klarte ikke starte \'{0}\'. Uw browser ondersteunt geen: {1}',
- 'ERR_NO_WM_RUNNING' : 'Es wird kein Fenster-Manager ausgeführt',
- 'ERR_CORE_INIT_FAILED' : 'OS.js konnte nicht initialisiert werden',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Während der Initialisirung von OS.js ist ein Fehler aufgetreten',
- 'ERR_CORE_INIT_NO_WM' : 'OS.js konnte nicht gestartet werden: Fenster-Manager nicht festgelegt!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'OS.js konnte nicht gestartet werden: Fenster-Manager konnte nicht gestartet werden: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED': 'OS.js konnte nicht gestartet werden: Resourssen konnten nicht vorab geladen werden...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Fehlerbericht',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Ein unerwarteter Fehler ist aufgetreten, möglicherweise ein Bug',
- 'ERR_APP_API_ERROR' : 'Anwendungs API Fehler',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Anwendung {0} konnte Aktion nicht ausführen \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Fehlendes Argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Unbekannter Fehler',
- 'ERR_WIN_DUPLICATE_FMT' : 'Sie haben bereits ein Fenster namens \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimieren',
- 'WINDOW_MAXIMIZE' : 'Maximieren',
- 'WINDOW_RESTORE' : 'Wiederherstellen',
- 'WINDOW_CLOSE' : 'Schließen',
- 'WINDOW_ONTOP_ON' : 'Im Vordergrund - Aktivieren',
- 'WINDOW_ONTOP_OFF': 'Im Vordergrund - Deaktivieren',
- 'TITLE_SIGN_OUT' : 'Abmelden',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Angemeldet als: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Abmelden (Exit)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Benutzer wird abgemeldet \'{0}\'.\nWollen Sie die aktuelle Sitzung speichern?',
- 'DIALOG_CLOSE' : 'Schließen',
- 'DIALOG_CANCEL': 'Abbrechen',
- 'DIALOG_APPLY' : 'Übernehmen',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Warnungsdialog',
- 'DIALOG_COLOR_TITLE' : 'Farb-Dialog',
- 'DIALOG_COLOR_R' : 'Rot: {0}',
- 'DIALOG_COLOR_G' : 'Grün: {0}',
- 'DIALOG_COLOR_B' : 'Blau: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Bestätigungsdialog',
- 'DIALOG_ERROR_MESSAGE' : 'Meldung',
- 'DIALOG_ERROR_SUMMARY' : 'Zusammenfassung',
- 'DIALOG_ERROR_TRACE' : 'Trace',
- 'DIALOG_ERROR_BUGREPORT' : 'Fehlerbericht',
- 'DIALOG_FILE_SAVE' : 'Speichern',
- 'DIALOG_FILE_OPEN' : 'Öffnen',
- 'DIALOG_FILE_MKDIR' : 'Verzeichnis erstellen',
- 'DIALOG_FILE_MKDIR_MSG' : 'Erstelle ein neues Verzeichnis in **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Sind Sie sicher, dass Sie die Datei \'{0}\' überschreiben wollen?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Ansichtstyp',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Liste',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Baum',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Symbole',
- 'DIALOG_FILE_ERROR' : 'Datei-Dialog Fehler',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Verzeichnis \'{0}\' konnte nicht geöffnet werden',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Sie müssen eine Datei auswählen oder geben Sie einen neuen Dateinamen an!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Sie müssen eine Datei auswählen!',
- 'DIALOG_FILEINFO_TITLE' : 'Dateiinformationen',
- 'DIALOG_FILEINFO_LOADING' : 'Laster fil-informasjon for: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Dateiinformationen Dialog Fehler',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Fehler beim bekommen von Dateiinformationen für **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Fehler beim bekommen von Dateiinformationen für: {0}',
- 'DIALOG_INPUT_TITLE' : 'Eingabedialog',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Fortschritt',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Lade...',
- 'DIALOG_UPLOAD_TITLE' : 'Upload-Dialog',
- 'DIALOG_UPLOAD_DESC' : 'Upload nach **{0}**.
Maximale Größe: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Hochladen von \'{0}\' ({1} {2}) von {3}',
- 'DIALOG_UPLOAD_MSG' : 'Datei-Upload...',
- 'DIALOG_UPLOAD_FAILED' : 'Upload fehlgeschlagen',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Der Upload ist fehlgeschlagen',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Unbekannter Grund...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Abbruch durch Benutzer...',
- 'DIALOG_FONT_TITLE' : 'Schriftarten-Dialog',
- 'DIALOG_APPCHOOSER_TITLE' : 'Wählen Sie eine Anwendung',
- 'DIALOG_APPCHOOSER_MSG' : 'Wählen Sie eine Anwendung zum Öffnen',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Sie müssen eine Anwendung auswählen',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Als Standartanwendung für {0} verwenden',
- 'GAPI_DISABLED' : 'GoogleAPI Modul ist nicht konfiguriert oder aktiviert',
- 'GAPI_NOTIFICATION_TITLE' : 'Sie sind bei Google API angemeldet',
- 'GAPI_SIGN_OUT' : 'Von Google API Dienst abmelden',
- 'GAPI_REVOKE' : 'Berechtigungen wiederrufen und abmelden',
- 'GAPI_AUTH_FAILURE' : 'Google API Authentifizierung ist fehlgeschlagen oder fand nicht statt',
- 'GAPI_AUTH_FAILURE_FMT' : 'Fehler beim Authentifizieren: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Konnte Google API nicht laden',
- 'IDB_MISSING_DBNAME' : 'IndexedDB kann nicht ohne Datenbankname erstellt werden',
- 'IDB_NO_SUCH_ITEM' : 'Keine Elemente',
- 'ERR_VFS_FATAL' : 'Schwerwiegender Fehler',
- 'ERR_VFS_FILE_ARGS' : 'Datei erwartet mindestens ein Argument',
- 'ERR_VFS_NUM_ARGS' : 'Nicht genug Argumente',
- 'ERR_VFS_EXPECT_FILE' : 'Erwartet ein Datei-Objekt',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Erwartet einen Quelldatei-Objekt',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Erwartet ein Zieldatei-Objekt',
- 'ERR_VFS_FILE_EXISTS' : 'Ziel existiert bereits',
- 'ERR_VFS_TRANSFER_FMT' : 'Während des übertragen zwischen Speicher ist ein Fehler aufgetreten: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Eine Datei ohne Ziel kann nicht hochgeladen werden',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Ohne Dateien zu definieren kann nicht hochgeladen werden',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Datei-Upload fehlgeschlagen: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Datei-Upload wurde abgebrochen',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Kann keinen Pfad ohne angegebenen Pfad herunterladen',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Während des Downloads ist ein Fehler aufgetreten: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Datei herunterladen',
- 'ERR_FILE_APP_OPEN' : 'Datei kann nicht geöffnet werden',
- 'ERR_FILE_APP_OPEN_FMT' : 'Die Datei {0} kann nicht geöffnet werden, da der Dateityp (MIME) {1} nicht unterstützt wird',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Die Datei {0} konnte nicht geöffnet werden',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Die Datei {0} konnte nicht gespeichert werden',
- 'ERR_GENERIC_APP_FMT' : '{0} Anwendungsfehler',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Konnte Aktion nicht durchführen: \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Unbekannter Fehler',
- 'ERR_GENERIC_APP_REQUEST' : 'Während Ihres Requests ist ein Fehler aufgetreten',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Schwerwiegender Fehler: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Aktuelles Dokument verwerfen?',
- 'MSG_FILE_CHANGED' : 'Die Datei wurde geändert. Neuladen?',
- 'MSG_APPLICATION_WARNING' : 'Anwendungswarnung',
- 'MSG_MIME_OVERRIDE' : 'Der Dateityp "{0}" wird nicht unterstützt, benutzen Sie "{1}" stattdessen.',
- 'LBL_UNKNOWN' : 'Unbekannt',
- 'LBL_APPEARANCE' : 'Aussehen',
- 'LBL_USER' : 'Benutzer',
- 'LBL_NAME' : 'Name',
- 'LBL_APPLY' : 'Übernehmen',
- 'LBL_FILENAME' : 'Dateiname',
- 'LBL_PATH' : 'Pfad',
- 'LBL_SIZE' : 'Größe',
- 'LBL_TYPE' : 'Type',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Lade',
- 'LBL_SETTINGS' : 'Einstellungen',
- 'LBL_ADD_FILE' : 'Datei hinzufügen',
- 'LBL_COMMENT' : 'Kommentar',
- 'LBL_ACCOUNT' : 'Konto',
- 'LBL_CONNECT' : 'Verbinden',
- 'LBL_ONLINE' : 'Online',
- 'LBL_OFFLINE' : 'Offline',
- 'LBL_AWAY' : 'Abwesend',
- 'LBL_BUSY' : 'Beschäftigt',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Hilfe',
- 'LBL_ABOUT' : 'Über',
- 'LBL_PANELS' : 'Panel',
- 'LBL_LOCALES' : 'Lokalisierung',
- 'LBL_THEME' : 'Design',
- 'LBL_COLOR' : 'Farbe',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Beenden (Kill)',
- 'LBL_ALIVE' : 'Aktiv',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Hinzufügen',
- 'LBL_FONT' : 'Schriftart',
- 'LBL_YES' : 'Ja',
- 'LBL_NO' : 'Nein',
- 'LBL_CANCEL' : 'Abbrechen',
- 'LBL_TOP' : 'Oben',
- 'LBL_LEFT' : 'Links',
- 'LBL_RIGHT' : 'Right',
- 'LBL_BOTTOM' : 'Unten',
- 'LBL_CENTER' : 'Zentriert',
- 'LBL_FILE' : 'Datei',
- 'LBL_NEW' : 'Neu',
- 'LBL_OPEN' : 'Öffnen',
- 'LBL_SAVE' : 'Speichern',
- 'LBL_SAVEAS' : 'Speichern unter...',
- 'LBL_CLOSE' : 'Schließen',
- 'LBL_MKDIR' : 'Verzeichnis erstellen',
- 'LBL_UPLOAD' : 'Hochladen',
- 'LBL_VIEW' : 'Ansicht',
- 'LBL_EDIT' : 'Bearbeiten',
- 'LBL_RENAME' : 'Umbenennen',
- 'LBL_DELETE' : 'Löschen',
- 'LBL_OPENWITH' : 'Öffnen mit...',
- 'LBL_ICONVIEW' : 'Symbole',
- 'LBL_TREEVIEW' : 'Baum',
- 'LBL_LISTVIEW' : 'Liste',
- 'LBL_REFRESH' : 'Aktualisieren',
- 'LBL_VIEWTYPE' : 'Ansichtstyp',
- 'LBL_BOLD' : 'Fett',
- 'LBL_ITALIC' : 'Kursiv',
- 'LBL_UNDERLINE' : 'Unterstrichen',
- 'LBL_REGULAR' : 'Regelmäßig',
- 'LBL_STRIKE' : 'Gjennomstrek',
- 'LBL_INDENT' : 'Einzug',
- 'LBL_OUTDENT' : 'Negativeinzug',
- 'LBL_UNDO' : 'Rückgängig',
- 'LBL_REDO' : 'Vorwärts',
- 'LBL_CUT' : 'Ausschneiden',
- 'LBL_UNLINK' : 'Verknüpfung entfernen',
- 'LBL_COPY' : 'Kopieren',
- 'LBL_PASTE' : 'Einfügen',
- 'LBL_INSERT' : 'Einfügen',
- 'LBL_IMAGE' : 'Bild',
- 'LBL_LINK' : 'Verknüpfung',
- 'LBL_DISCONNECT' : 'Disconnect',
- 'LBL_APPLICATIONS' : 'Anwendung',
- 'LBL_ADD_FOLDER' : 'Verzeichnis hinzufügen',
- 'LBL_INFORMATION' : 'Information',
- 'LBL_TEXT_COLOR' : 'Textfarbe',
- 'LBL_BACK_COLOR' : 'Hintergrundfarbe',
- 'LBL_RESET_DEFAULT' : 'Werkseinstellungen wiederherstellen',
- 'LBL_DOWNLOAD_COMP' : 'Auf PC herunterladen',
- 'LBL_ORDERED_LIST' : 'Sortierte Liste',
- 'LBL_BACKGROUND_IMAGE' : 'Hintergrundbild',
- 'LBL_BACKGROUND_COLOR' : 'Hintergrundfarbe',
- 'LBL_UNORDERED_LIST' : 'Unsortierte Liste',
- 'LBL_SHOW_SIDEBAR' : 'Seitenleiste anzeigen',
- 'LBL_BACKGROUND' : 'Hintergrund',
- 'LBL_DESKTOP' : 'Arbeitsoberflächen',
- 'LBL_PANEL' : 'Panel',
- 'LBL_POSITION' : 'Position',
- 'LBL_ONTOP' : 'Vordergrund',
- 'LBL_ITEMS' : 'Items',
- 'LBL_GENERAL': 'General'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.es_ES = {
- 'ERR_FILE_OPEN' : 'Error abriendo archivo',
- 'ERR_WM_NOT_RUNNING' : 'El gestor de ventanas no está en ejecución',
- 'ERR_FILE_OPEN_FMT' : 'No se pudo abrir el fichero \'**{0}**\'',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'No se pudo encontrar ninguna aplicación asociada a los archivos \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Error abriendo aplicación',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Se produjo un error intentando ejecutar: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Error construyendo la aplicación \'{0}\': {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Error en init() de la applicación \'{0}\': {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : '¡La aplicación \'{0}\' no pudo obtener los recursos necesarios, o falló al cargarse!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Error en la precarga de la application \'{0}\': \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : '¡La aplicación \'{0}\' ya está ejecutándose y sólo permite una instancia!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : '¡Error al abrir \'{0}\'. No se encontraron los datos del manifiesto de la aplicación!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : '¡Error al abrir \'{0}\'. Tu explorador no da soporte: {1}',
- 'ERR_NO_WM_RUNNING' : 'Ningún gestor de ventanas en ejecución',
- 'ERR_CORE_INIT_FAILED' : 'Error inicializando OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Se produjo un error inicializando OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'No se puede lanzar OS.js: ¡No se definió ningún gestor de ventanas!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'No se puede lanzar OS.js: se fallo al lanzar el gestor de ventanas: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'No se puede lanzar OS.js: se falló precargando recursos...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Informe de errores de JavaScript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Error inesperado, puede que sea un bug.',
- 'ERR_APP_API_ERROR' : 'Error del API de la aplicación',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'La aplicación {0} no pudo realizar la operación \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Falta un argumento: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Error desconocido',
- 'ERR_WIN_DUPLICATE_FMT' : 'Ya tienes una ventana llamada \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimizar',
- 'WINDOW_MAXIMIZE' : 'Maximizar',
- 'WINDOW_RESTORE' : 'Restaurar',
- 'WINDOW_CLOSE' : 'Cerrar',
- 'WINDOW_ONTOP_ON' : 'En primer plano (Activar)',
- 'WINDOW_ONTOP_OFF': 'En primer plano (Desactivar)',
- 'TITLE_SIGN_OUT' : 'Sesión finalizada',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Sesión iniciada como: {0}',
- 'MSG_SESSION_WARNING' : '¿Estás seguro de que quieres salir de OS.js? Se perderán todas las configuraciones y datos que no se hayan guardado',
- 'BUGREPORT_MSG' : 'Por favor, informa de esto si piensas que es un bug.\nIncluye una breve descripción sobre cómo se produjo el probleñam y si es posible, cómo reproducirlo. Gracias',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Se accedió a servicios externos: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Error fatal',
- 'ERR_UTILS_XHR_FMT' : 'Error AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Finalizar sesión (Salir)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Usuario \'{0}\' desconectando.\n¿Quieres guardar la sesión en curso?',
- 'DIALOG_CLOSE' : 'Cerrar',
- 'DIALOG_CANCEL': 'Cancelar',
- 'DIALOG_APPLY' : 'Aplicar',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Diálogo de alerta',
- 'DIALOG_COLOR_TITLE' : 'Diálogo de color',
- 'DIALOG_COLOR_R' : 'Rojo: {0}',
- 'DIALOG_COLOR_G' : 'Verde: {0}',
- 'DIALOG_COLOR_B' : 'Azul: {0}',
- 'DIALOG_COLOR_A' : 'Alfa: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Diálogo de confirmación',
- 'DIALOG_ERROR_MESSAGE' : 'Mensaje',
- 'DIALOG_ERROR_SUMMARY' : 'Resumen',
- 'DIALOG_ERROR_TRACE' : 'Traza',
- 'DIALOG_ERROR_BUGREPORT' : 'Informe de errores',
- 'DIALOG_FILE_SAVE' : 'Guardar',
- 'DIALOG_FILE_OPEN' : 'Abrir',
- 'DIALOG_FILE_MKDIR' : 'Nueva carpeta',
- 'DIALOG_FILE_MKDIR_MSG' : 'Crear una nueva carpeta en **{0}**',
- 'DIALOG_FILE_OVERWRITE' : '¿Seguro que quieres sobreescribir el fichero \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Tipo de vista',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Vista de lista',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Vista de árbol',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Vista de icono',
- 'DIALOG_FILE_ERROR' : 'Error en el diálogo de fichero',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Error listando el directorio \'{0}\' porque ocurrió un error',
- 'DIALOG_FILE_MISSING_FILENAME' : '¡Tienes que seleccionar un archivo o introducir un nombre de archivo nuevo!',
- 'DIALOG_FILE_MISSING_SELECTION': '¡Tienes que seleccionar un archivo!',
- 'DIALOG_FILEINFO_TITLE' : 'Información de fichero',
- 'DIALOG_FILEINFO_LOADING' : 'Cargando la información del fichero: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Error del diálogo de información de fichero',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'No se pudo obtener la información del fichero **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'No se pudo obtener la información del fichero: {0}',
- 'DIALOG_INPUT_TITLE' : 'Diálogo de entrada',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Operación de archivo en progreso',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Cargando...',
- 'DIALOG_UPLOAD_TITLE' : 'Diálogo de subida',
- 'DIALOG_UPLOAD_DESC' : 'Subir archivo a **{0}**.
Tamaño máximo: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Subiendo \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Subiendo archivo...',
- 'DIALOG_UPLOAD_FAILED' : 'Fallo en la subida',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'La subida ha fallado',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Razón desconocida...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Cancelado por el usuario...',
- 'DIALOG_UPLOAD_TOO_BIG': 'El archivo es demasiado grande',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'El archivo es demasiado grande, excede los {0}',
- 'DIALOG_FONT_TITLE' : 'Diálogo de tipografía',
- 'DIALOG_APPCHOOSER_TITLE' : 'Elegir aplicación',
- 'DIALOG_APPCHOOSER_MSG' : 'Elegir la aplicación a abrir',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Necesitas seleccionar una aplicación',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Usar como la aplicación por defecto para {0}',
- 'GAPI_DISABLED' : 'El módulo GoogleAPI no está configurado o está desactivado',
- 'GAPI_SIGN_OUT' : 'Desconectar de los servicios Google API',
- 'GAPI_REVOKE' : 'Revocar permisos y desconectar',
- 'GAPI_AUTH_FAILURE' : 'La autenticación en Google API falló, o no llegó a efectuarse',
- 'GAPI_AUTH_FAILURE_FMT' : 'No se pudo autenticar: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'No se pudo cargar Google API',
- 'WLAPI_DISABLED' : 'El módulo Windows Live API no está configurado o está desactivado',
- 'WLAPI_SIGN_OUT' : 'Desconectar de los servicios Windows Live API',
- 'WLAPI_LOAD_FAILURE' : 'No se pudo cargar Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'No se pudo acceder a Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'No se pudo acceder a Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API devolvió el estado {0}',
- 'IDB_MISSING_DBNAME' : 'No se pudo crear IndexedDB sin un nombre de base de datos',
- 'IDB_NO_SUCH_ITEM' : 'No existe ese elemento',
- 'ERR_VFS_FATAL' : 'Error fatal',
- 'ERR_VFS_UNAVAILABLE' : 'No disponible',
- 'ERR_VFS_FILE_ARGS' : 'El archivo espera al menos un argumento',
- 'ERR_VFS_NUM_ARGS' : 'Argumentos insuficientes',
- 'ERR_VFS_EXPECT_FILE' : 'Se espera un objeto-fichero',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Se espera un origen objeto-fichero',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Se espera un destino objeto-fichero',
- 'ERR_VFS_FILE_EXISTS' : 'El destino ya existe',
- 'ERR_VFS_TRANSFER_FMT' : 'Se produjo un error al transferir entre almacenamientos: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'No se puede subir un fichero sin un destino',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'No se puede efectuar la subida si no hay archivos definidos',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Fallo en la subida: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Se canceló la subida del fichero',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'No se puede descargar una ruta sin una ruta',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Se produjo un error en la descarga: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'La respuesta estaba vacía',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Descargando fichero',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Error XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'No se pudo encontrar el identificador del directorio raíz',
- 'ERR_VFSMODULE_NOSUCH' : 'El archivo no existe',
- 'ERR_VFSMODULE_PARENT' : 'No existe el padre',
- 'ERR_VFSMODULE_PARENT_FMT' : 'No se pudo localizar el padre: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'No se pudo analizar el directorio',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'No se pudo analizar el directorio: {0}',
- 'ERR_VFSMODULE_READ' : 'No se pudo leer el fichero',
- 'ERR_VFSMODULE_READ_FMT' : 'No se pudo leer el fichero: {0}',
- 'ERR_VFSMODULE_WRITE' : 'No se pudo escribir el fichero',
- 'ERR_VFSMODULE_WRITE_FMT' : 'No se pudo escribir el fichero: {0}',
- 'ERR_VFSMODULE_COPY' : 'No se pudo copiar',
- 'ERR_VFSMODULE_COPY_FMT' : 'No se pudo copiar: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'No se pudo desenlazar el fichero',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'No se pudo desenlazar el fichero: {0}',
- 'ERR_VFSMODULE_MOVE' : 'No se pudo mover el fichero',
- 'ERR_VFSMODULE_MOVE_FMT' : 'No se pudo mover el fichero: {0}',
- 'ERR_VFSMODULE_EXIST' : 'No se pudo comprobar la existencia del fichero',
- 'ERR_VFSMODULE_EXIST_FMT' : 'No se pudo comprobar la existencia del fichero: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'No se pudo obtener la infomación del archivo',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'No se pudo obtener la infomación del archivo: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'No se pudo crear el directorio',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'No se pudo crear el directorio: {0}',
- 'ERR_VFSMODULE_URL' : 'No se pudo obtener la URL del archivo',
- 'ERR_VFSMODULE_URL_FMT' : 'No se pudo obtener la URL del archivo: {0}',
- 'ERR_VFSMODULE_TRASH' : 'No se pudo enviar el archivo a la papelera',
- 'ERR_VFSMODULE_TRASH_FMT' : 'No se pudo enviar el archivo a la papelera: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'No se pudo recuperar el archivo de la papelera',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'No se pudo recuperar el archivo de la papelera: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'No se pudo vaciar la papelera',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'No se pudo vaciar la papelera: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Estás identificado en el API de dropbox',
- 'DROPBOX_SIGN_OUT' : 'Desconectar de los servicios Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'No se pudo resolver la ruta: no se encontró el elemento',
- 'ERR_FILE_APP_OPEN' : 'No se puede abrir el archivo',
- 'ERR_FILE_APP_OPEN_FMT' : 'El archivo {0} no pudo abrirse porque no hay soporte para el tipo MIME {1}',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'No pudo abrirse el archivo {0}',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'No pudo guardarse el archivo {0}',
- 'ERR_GENERIC_APP_FMT' : 'Error en la aplicación {0}',
- 'ERR_GENERIC_APP_ACTION_FMT': 'No se pudo efectuar la acción \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Error desconocido',
- 'ERR_GENERIC_APP_REQUEST' : 'Se produjo un error manipulando la solicitud',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Error fatal: {0}',
- 'MSG_GENERIC_APP_DISCARD' : '¿Descartar cambios?',
- 'MSG_FILE_CHANGED' : 'El archivo ha cambiado. ¿Recargar?',
- 'MSG_APPLICATION_WARNING' : 'Advertencia de aplicación',
- 'MSG_MIME_OVERRIDE' : 'El tipo de fichero "{0}" no está soportado, se usará "{1}" en su lugar.',
- 'LBL_UNKNOWN' : 'Desconocido',
- 'LBL_APPEARANCE' : 'Aspecto',
- 'LBL_USER' : 'Usuario',
- 'LBL_NAME' : 'Nombre',
- 'LBL_APPLY' : 'Aplicar',
- 'LBL_FILENAME' : 'Nombre de archivo',
- 'LBL_PATH' : 'Ruta',
- 'LBL_SIZE' : 'Tamaño',
- 'LBL_TYPE' : 'Tipo',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Cargando',
- 'LBL_SETTINGS' : 'Configuración',
- 'LBL_ADD_FILE' : 'Añadir fichero',
- 'LBL_COMMENT' : 'Comentario',
- 'LBL_ACCOUNT' : 'Cuenta',
- 'LBL_CONNECT' : 'Conectar',
- 'LBL_ONLINE' : 'Conectado',
- 'LBL_OFFLINE' : 'Desconectado',
- 'LBL_AWAY' : 'No disponible',
- 'LBL_BUSY' : 'Ocupado',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Ayuda',
- 'LBL_ABOUT' : 'A propósito de',
- 'LBL_PANELS' : 'Paneles',
- 'LBL_LOCALES' : 'Internacionalización',
- 'LBL_THEME' : 'Tema',
- 'LBL_COLOR' : 'Color',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Kill',
- 'LBL_ALIVE' : 'Alive',
- 'LBL_INDEX' : 'Índice',
- 'LBL_ADD' : 'Añadir',
- 'LBL_FONT' : 'Tipografía',
- 'LBL_YES' : 'Si',
- 'LBL_NO' : 'No',
- 'LBL_CANCEL' : 'Cancelar',
- 'LBL_TOP' : 'Arriba',
- 'LBL_LEFT' : 'Izquierda',
- 'LBL_RIGHT' : 'Derecha',
- 'LBL_BOTTOM' : 'Abajo',
- 'LBL_CENTER' : 'Centro',
- 'LBL_FILE' : 'Fichero',
- 'LBL_NEW' : 'Nuevo',
- 'LBL_OPEN' : 'Abrir',
- 'LBL_SAVE' : 'Guardar',
- 'LBL_SAVEAS' : 'Guardar cómo...',
- 'LBL_CLOSE' : 'Cerrar',
- 'LBL_MKDIR' : 'Crear directorio',
- 'LBL_UPLOAD' : 'Subir',
- 'LBL_VIEW' : 'Vista',
- 'LBL_EDIT' : 'Editar',
- 'LBL_RENAME' : 'Renombrar',
- 'LBL_DELETE' : 'Eliminar',
- 'LBL_OPENWITH' : 'Abrir con...',
- 'LBL_ICONVIEW' : 'Vista de iconos',
- 'LBL_TREEVIEW' : 'Vista de árbol',
- 'LBL_LISTVIEW' : 'Vista de lista',
- 'LBL_REFRESH' : 'Recargar',
- 'LBL_VIEWTYPE' : 'Ver tipo',
- 'LBL_BOLD' : 'Negrita',
- 'LBL_ITALIC' : 'Cursiva',
- 'LBL_UNDERLINE' : 'Subrayado',
- 'LBL_REGULAR' : 'Regular',
- 'LBL_STRIKE' : 'Barra',
- 'LBL_INDENT' : 'Indentar',
- 'LBL_OUTDENT' : 'Obsoleto',
- 'LBL_UNDO' : 'Deshacer',
- 'LBL_REDO' : 'Rehacer',
- 'LBL_CUT' : 'Cortar',
- 'LBL_UNLINK' : 'Desenlazar',
- 'LBL_COPY' : 'Copiar',
- 'LBL_PASTE' : 'Pegar',
- 'LBL_INSERT' : 'Insertar',
- 'LBL_IMAGE' : 'Imágen',
- 'LBL_LINK' : 'Enlace',
- 'LBL_DISCONNECT' : 'Desconectar',
- 'LBL_APPLICATIONS' : 'Aplicaciones',
- 'LBL_ADD_FOLDER' : 'Añadir carpeta',
- 'LBL_INFORMATION' : 'Información',
- 'LBL_TEXT_COLOR' : 'Color de texto',
- 'LBL_BACK_COLOR' : 'Color de fondo',
- 'LBL_RESET_DEFAULT' : 'Restablecer los valores por defecto',
- 'LBL_DOWNLOAD_COMP' : 'Descargar en el ordenador',
- 'LBL_ORDERED_LIST' : 'Lista ordenada',
- 'LBL_BACKGROUND_IMAGE' : 'Imagen de fondo',
- 'LBL_BACKGROUND_COLOR' : 'Color de fondo',
- 'LBL_UNORDERED_LIST' : 'Lista no ordenada',
- 'LBL_STATUS' : 'Estado',
- 'LBL_READONLY' : 'Sólo lectura',
- 'LBL_CREATED' : 'Creado',
- 'LBL_MODIFIED' : 'Modificado',
- 'LBL_SHOW_COLUMNS' : 'Mostrar columnas',
- 'LBL_MOVE' : 'Mover',
- 'LBL_OPTIONS' : 'Opciones',
- 'LBL_OK' : 'OK',
- 'LBL_Background' : 'Fondo',
- 'LBL_DESKTOP' : 'Escritorio',
- 'LBL_PANEL' : 'Panel',
- 'LBL_POSITION' : 'Posición',
- 'LBL_ONTOP' : 'Primer plano',
- 'LBL_ITEMS' : 'Elementos',
- 'LBL_GENERAL': 'General',
- 'LBL_BACKGROUND' : 'Pozadie'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.fr_FR = {
- 'ERR_FILE_OPEN' : 'Erreur lors de l\'ouverture du fichier',
- 'ERR_WM_NOT_RUNNING' : 'Le gestionnaire de fenêtre n\'est pas en cours d\'execution',
- 'ERR_FILE_OPEN_FMT' : 'Le fichier \'**{0}**\' n\'a pas pu être ouvert',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Impossible de trouver une application supportant les fichiers \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Impossible de lancer l\'application',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Une erreur est survenue lors du lancement de : {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Application \'{0}\' construct failed: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Application \'{0}\' init() failed: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Application resources missing for \'{0}\' or it failed to load!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Application \'{0}\' preloading failed: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'L\'application \'{0}\' est déjà lancée et n\'autorise qu\'une seule instance !',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Impossible de lancer \'{0}\'. Le manifeste de l\'application n\'a pas été trouvé !',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Impossible de lancer \'{0}\'. Votre navigateur ne supporte pas : {1}',
- 'ERR_NO_WM_RUNNING' : 'Le gestionnaire de fenêtres n\'est pas lancé',
- 'ERR_CORE_INIT_FAILED' : 'Impossible d\'initialiser OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Une erreur est survenue lors de l\'initialisation de OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Impossible de lancer OS.js: aucun gestionnaire de fenêtres défini !',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Impossible de lancer OS.js: erreur lors du lancement du gestionnaire de fenêtres : {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Impossible de lancer OS.js: impossible de précharger les ressources...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Rapport d\'erreur Javascript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Une erreur inconnue est survenue, peut-être un bug.',
- 'ERR_APP_API_ERROR' : 'Erreur de l\'API de l\'application',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'L\'pplication {0} n\'a pas pu exécuter l\'opération \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Argument manquant: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Erreur inconnue',
- 'ERR_OPERATION_TIMEOUT' : 'Operation Expirée',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Operation Expirée ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' attends \'{1}\' d\'être \'{2}\', \'{3}\' fournie',
- 'ERR_WIN_DUPLICATE_FMT' : 'Une autre fenêtre porte déjà le nom \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimiser',
- 'WINDOW_MAXIMIZE' : 'Maximiser',
- 'WINDOW_RESTORE' : 'Restaurer',
- 'WINDOW_CLOSE' : 'Fermer',
- 'WINDOW_ONTOP_ON' : 'Au-dessus (activer)',
- 'WINDOW_ONTOP_OFF': 'Au-dessous (désactiver)',
- 'TITLE_SIGN_OUT' : 'Déconnexion',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Connecté en tant que: {0}',
- 'ERR_LOGIN_FMT' : 'Erreur de connexion : {0}',
- 'ERR_LOGIN_INVALID' : 'Identification invalide',
- 'MSG_SESSION_WARNING' : 'Êtes-vous sûr de vouloir quitter OS.js? Tous vos paramètres et vos données seront perdues!',
- 'BUGREPORT_MSG' : 'Veuillez reporter cela si vous pensez que c\'est un bug.\n Incluez une brève description de comment cela est arrivé et si vous le pouvez; comment le reproduire',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Loggué dans un service externe: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Erreur Fatale',
- 'ERR_UTILS_XHR_FMT' : 'Erreure AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Déconnexion (quitter)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Déconnexion de l\'utilisateur \'{0}\'.\nVoulez-vous enregistrer votre session courante ?',
- 'DIALOG_CLOSE' : 'Fermer',
- 'DIALOG_CANCEL': 'Annuler',
- 'DIALOG_APPLY' : 'Appliquer',
- 'DIALOG_OK' : 'Valider',
- 'DIALOG_ALERT_TITLE' : 'Fenêtre d\'alerte',
- 'DIALOG_COLOR_TITLE' : 'Fenêtre de couleur',
- 'DIALOG_COLOR_R' : 'Rouge: {0}',
- 'DIALOG_COLOR_G' : 'Vert: {0}',
- 'DIALOG_COLOR_B' : 'Bleu: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Fenêtre de confirmation',
- 'DIALOG_ERROR_MESSAGE' : 'Message',
- 'DIALOG_ERROR_SUMMARY' : 'Résumé',
- 'DIALOG_ERROR_TRACE' : 'Trace',
- 'DIALOG_ERROR_BUGREPORT' : 'Rapport de bug',
- 'DIALOG_FILE_SAVE' : 'Enregistrer',
- 'DIALOG_FILE_OPEN' : 'Ouvrir',
- 'DIALOG_FILE_MKDIR' : 'Nouveau dossier',
- 'DIALOG_FILE_MKDIR_MSG' : 'Créer un nouveau dossier dans **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Êtes-vous sûr de vouloir écraser le fichier \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Type de vue',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Vue en liste',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Vue en arborescence',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Vue en icônes',
- 'DIALOG_FILE_ERROR' : 'Erreur FileDialog',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Impossible de lister le contenu du dossier \'{0}\' car une erreur est survenue',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Vous devez sélectionner un fichier ou entrer un nouveau nom de fichier !',
- 'DIALOG_FILE_MISSING_SELECTION': 'Vous devez sélectionner un fichier!',
- 'DIALOG_FILEINFO_TITLE' : 'Informations sur le fichier',
- 'DIALOG_FILEINFO_LOADING' : 'Chargement des informations sur le fichier: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Erreur FileInformationDialog',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Impossible de récupérer les informations sur : **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'FImpossible de récupérer les informations sur : {0}',
- 'DIALOG_INPUT_TITLE' : 'Fenêtre de saisie',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Progression des opérations sur les fichiers',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Chargement...',
- 'DIALOG_UPLOAD_TITLE' : 'Fenêtre d\'envoi de fichier',
- 'DIALOG_UPLOAD_DESC' : 'Envoyer un fichier vers **{0}**.\nTaille maximum: {1} octets',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Envoi de \'{0}\' ({1} {2}) vers {3}',
- 'DIALOG_UPLOAD_MSG' : 'Envoi du fichier...',
- 'DIALOG_UPLOAD_FAILED' : 'L\'envoi a échoué!',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'L\'envoi a échoué',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Raison inconnue...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Annulé pas l\'utilisateur...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Le fichier est trop gros',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Le fichier est trop gros, sa taille éxcède {0}',
- 'DIALOG_FONT_TITLE' : 'Fenêtre de police',
- 'DIALOG_APPCHOOSER_TITLE' : 'Choisir une application',
- 'DIALOG_APPCHOOSER_MSG' : 'Choisir une application pour ouvrir',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Vous devez sélectionner une application',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Utiliser comme application par défaut pour {0}',
- 'GAPI_DISABLED' : 'Module Google API non configuré ou désactivé',
- 'GAPI_SIGN_OUT' : 'Déconnexion de l\'API Google',
- 'GAPI_REVOKE' : 'Révoquer les permissions et déconnecter',
- 'GAPI_AUTH_FAILURE' : 'L\'authentification Google API a échouer ou ne s\'est pas déroulée',
- 'GAPI_AUTH_FAILURE_FMT' : 'Impossible d\'authentifier: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Impossible de charger l\'API Google',
- 'WLAPI_DISABLED' : 'Module Live API non configuré ou désactivé',
- 'WLAPI_SIGN_OUT' : 'Déconnexion de l\'API Live',
- 'WLAPI_LOAD_FAILURE' : 'Impossible de charger Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Impossible de s\'authentifier dans Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Impossible de s\'authentifier dans Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API a retourné le status {0}',
- 'IDB_MISSING_DBNAME' : 'Impossible de créer une base IndexedDB sans nom de base',
- 'IDB_NO_SUCH_ITEM' : 'Aucun item correspondant',
- 'ERR_VFS_FATAL' : 'Erreur fatale',
- 'ERR_VFS_UNAVAILABLE' : 'Non disponible',
- 'ERR_VFS_FILE_ARGS' : 'Le fichier attend au moins un argument',
- 'ERR_VFS_NUM_ARGS' : 'Pas assez d\'arguments',
- 'ERR_VFS_EXPECT_FILE' : 'Un objet "fichier" est attendu',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Un objet "fichier source" est attendu',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Un objet "fichier destination" est attendu',
- 'ERR_VFS_FILE_EXISTS' : 'Le fichier destination existe déjà',
- 'ERR_VFS_TRANSFER_FMT' : 'Une erreur est survenu lors du transfert entre espaces de stockage : {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Impossible d\'envoyer un fichier sans destination',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Impossible d\'envoyer un fichier sans aucun fichier défini',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Impossible d\'envoyer le fichier: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'L\'envoi du fichier a été annulé',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Impossible de télécharger un chemin sans chemin',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Une erreur est survenue lors du téléchargement: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'La réponse est vide',
- 'ERR_VFSMODULE_INVALID' : 'Module VFS invalide',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Module VFS invalide: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Méthode VFS invalide',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Méthode VFS invalide: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Type de module VFS invalide',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Type de module VFS invalide: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Configuration VFS Module ',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Configuration VFS Module non valide : {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'Module VFS déjà monté',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'Module VFS \'{0}\' déjà monté',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'Module VFS non monté',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'Module VFS \'{0}\' non monté',
- 'ERR_VFSMODULE_EXCEPTION' : 'Exception du module VFS',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'Exception du module VFS: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'Aucun Module VFS ne correspond {0}. Mauvais chemin ou Mauvais formats ?',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Téléchargement du fichier',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Erreur XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'Impossible de trouver l\'id du répertoire racine',
- 'ERR_VFSMODULE_NOSUCH' : 'Le fichier n\'existe pas',
- 'ERR_VFSMODULE_PARENT' : 'Pas de parent',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Impossible de trouver un parent: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Impossible de scanner le répertoire',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Impossible de scanner le répertoire: {0}',
- 'ERR_VFSMODULE_READ' : 'Impossible de lire le fichier',
- 'ERR_VFSMODULE_READ_FMT' : 'Impossible de lire le fichier: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Impossible d\'écrire dans le fichier',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Impossible d\'écrire dans le fichier: {0}',
- 'ERR_VFSMODULE_COPY' : 'Impossible de copier',
- 'ERR_VFSMODULE_COPY_FMT' : 'Impossible de copier: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Impossible de détacher le fichier',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Impossible de détacher le fichier: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Impossible de déplacer le fichier',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Impossible de déplacer le fichier: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Impossible de vérifier l\'existance du fichier',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Impossible de vérifier l\'existance du fichier: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Impossible de récuperer les informations du fichier',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Impossible de récuperer les informations du fichier: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Impossible de créer un répertoire',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Impossible de créer un répertoire: {0}',
- 'ERR_VFSMODULE_URL' : 'Impossible de récuperer l\'URL du fichier',
- 'ERR_VFSMODULE_URL_FMT' : 'Impossible de récuperer l\'URL du fichier: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Impossible de déplacer le fichier dans la corbeille',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Impossible de déplacer le fichier dans la corbeille: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Impossible de sortir le fichier de la corbeille',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Impossible de sortir le fichier de la corbeille: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Impossible de vider la corbeille',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Impossible de vider la corbeille: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Vous êtes connectés dans l\'API Dropbox',
- 'DROPBOX_SIGN_OUT' : 'Déconnexion des services Google API',
- 'ONEDRIVE_ERR_RESOLVE' : 'Impossible de résoudre le chemin: objet non trouvé',
- 'ZIP_PRELOAD_FAIL' : 'LE chargement de zip.js a échoué',
- 'ZIP_VENDOR_FAIL' : 'La bibliothèque zip.js n\'a pas été trouvée. A-t-elle été chargée correctement?',
- 'ZIP_NO_RESOURCE' : 'Aucune archive zip n\'a été fournie',
- 'ZIP_NO_PATH' : 'Aucun chemin fourni',
- 'ERR_PACKAGE_EXISTS': 'Le répertoire d\'installation des paquêts existe déjà. L\'opération est interrompue!',
- 'ERR_FILE_APP_OPEN' : 'Impossible d\'ouvrir le fichier',
- 'ERR_FILE_APP_OPEN_FMT' : 'Le fichier {0} n\'a pas pu être ouvert car le type mime {1} m\'est pas supporté',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Le fichier {0} n\'a pas pu être ouvert',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Le fichier {0} n\'a pas pu être enregistré',
- 'ERR_GENERIC_APP_FMT' : '{0} Erreur de l\'application',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Impossible d\'effectuer l\'action \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Erreur inconnue',
- 'ERR_GENERIC_APP_REQUEST' : 'Une erreur est survenue lors du traitement de votre requête',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Erreur fatale : {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Abandonner les modifications ?',
- 'MSG_FILE_CHANGED' : 'Le fichier a été modifié. Le recharger ?',
- 'MSG_APPLICATION_WARNING' : 'Avertissement de l\'application',
- 'MSG_MIME_OVERRIDE' : 'Le type de fichier "{0}" n\'est pas supporté, utilisation de "{1}" à la place.',
- 'LBL_UNKNOWN' : 'Inconnu',
- 'LBL_APPEARANCE' : 'Appearance',
- 'LBL_USER' : 'Utilisateur',
- 'LBL_NAME' : 'Nom',
- 'LBL_APPLY' : 'Appliquer',
- 'LBL_FILENAME' : 'Nom de fichier',
- 'LBL_PATH' : 'Chemin',
- 'LBL_SIZE' : 'Taille',
- 'LBL_TYPE' : 'Type',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Chargement',
- 'LBL_SETTINGS' : 'Paramètres',
- 'LBL_ADD_FILE' : 'Ajouter un fichier',
- 'LBL_COMMENT' : 'Commentaire',
- 'LBL_ACCOUNT' : 'Compte',
- 'LBL_CONNECT' : 'Connexion',
- 'LBL_ONLINE' : 'En ligne',
- 'LBL_OFFLINE' : 'Hors ligne',
- 'LBL_AWAY' : 'Absent',
- 'LBL_BUSY' : 'Occupé',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Aide',
- 'LBL_ABOUT' : 'À propos',
- 'LBL_PANELS' : 'Panneaux',
- 'LBL_LOCALES' : 'Langues',
- 'LBL_THEME' : 'Thème',
- 'LBL_COLOR' : 'Couleur',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Fin de tâche',
- 'LBL_ALIVE' : 'Vivant',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Ajouter',
- 'LBL_FONT' : 'Police',
- 'LBL_YES' : 'Oui',
- 'LBL_NO' : 'Non',
- 'LBL_CANCEL' : 'Annuler',
- 'LBL_TOP' : 'Haut',
- 'LBL_LEFT' : 'Gauche',
- 'LBL_RIGHT' : 'Droite',
- 'LBL_BOTTOM' : 'Bas',
- 'LBL_CENTER' : 'Centre',
- 'LBL_FILE' : 'Fichier',
- 'LBL_NEW' : 'Nouveau',
- 'LBL_OPEN' : 'Ouvrir',
- 'LBL_SAVE' : 'Enregistrer',
- 'LBL_SAVEAS' : 'Enregistrer sous...',
- 'LBL_CLOSE' : 'Fermer',
- 'LBL_MKDIR' : 'Créer un dossier',
- 'LBL_UPLOAD' : 'Envoyer un fichier',
- 'LBL_VIEW' : 'Vue',
- 'LBL_EDIT' : 'Édition',
- 'LBL_RENAME' : 'Renommer',
- 'LBL_DELETE' : 'Supprimer',
- 'LBL_OPENWITH' : 'Ouvrir avec...',
- 'LBL_ICONVIEW' : 'Vue en icônes',
- 'LBL_TREEVIEW' : 'Vue en arborescence',
- 'LBL_LISTVIEW' : 'Vue en liste',
- 'LBL_REFRESH' : 'Rafraîchir',
- 'LBL_VIEWTYPE' : 'Type de vue',
- 'LBL_BOLD' : 'Gras',
- 'LBL_ITALIC' : 'Italique',
- 'LBL_UNDERLINE' : 'Souligné',
- 'LBL_REGULAR' : 'Régulier',
- 'LBL_STRIKE' : 'Barré',
- 'LBL_INDENT' : 'Indentation',
- 'LBL_OUTDENT' : 'Outdate',
- 'LBL_UNDO' : 'Annuler',
- 'LBL_REDO' : 'Refaire',
- 'LBL_CUT' : 'Couper',
- 'LBL_UNLINK' : 'Supprimer le lien',
- 'LBL_COPY' : 'Copier',
- 'LBL_PASTE' : 'Coller',
- 'LBL_INSERT' : 'Insérer',
- 'LBL_IMAGE' : 'Image',
- 'LBL_LINK' : 'Lien',
- 'LBL_DISCONNECT' : 'Déconnexion',
- 'LBL_APPLICATIONS' : 'Applications',
- 'LBL_ADD_FOLDER' : 'Ajouter un dossier',
- 'LBL_INFORMATION' : 'Information',
- 'LBL_TEXT_COLOR' : 'Couleur du texte',
- 'LBL_BACK_COLOR' : 'Couleur de fond',
- 'LBL_RESET_DEFAULT' : 'Rétablir par défaut',
- 'LBL_DOWNLOAD_COMP' : 'Télécharger sur l\'ordinateur',
- 'LBL_ORDERED_LIST' : 'Liste ordonnée',
- 'LBL_BACKGROUND_IMAGE' : 'Image d\'arrière-plan',
- 'LBL_BACKGROUND_COLOR' : 'Couleur d\'arrière-plan',
- 'LBL_UNORDERED_LIST' : 'Liste désordonnée',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Lecture seule',
- 'LBL_CREATED' : 'Crée',
- 'LBL_MODIFIED' : 'Modifié',
- 'LBL_SHOW_COLUMNS' : 'Montrer les colonnes',
- 'LBL_MOVE' : 'Déplacer',
- 'LBL_OPTIONS' : 'Options',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Repertoire',
- 'LBL_CREATE' : 'Créer',
- 'LBL_BUGREPORT' : 'Report de bug',
- 'LBL_INSTALL' : 'Installer',
- 'LBL_UPDATE' : 'Mettre à jour',
- 'LBL_REMOVE' : 'Enlever',
- 'LBL_SHOW_SIDEBAR' : 'Afficher la barre de côté',
- 'LBL_SHOW_NAVIGATION' : 'Afficher la navigation',
- 'LBL_SHOW_HIDDENFILES' : 'Afficher les fichiers cachés',
- 'LBL_SHOW_FILEEXTENSIONS' : 'Afficher les extensions de fichier',
- 'LBL_MOUNT': 'Monter',
- 'LBL_DESCRIPTION': 'Description',
- 'LBL_USERNAME': 'Nom d\'utilisateur',
- 'LBL_PASSWORD': 'Mot de passe',
- 'LBL_HOST': 'Hôte',
- 'LBL_NAMESPACE': 'Espace de nom',
- 'LBL_SOUNDS' : 'Sons',
- 'LBL_ICONS' : 'Icônes',
- 'LBL_BACKGROUND' : 'Fond d\'écran',
- 'LBL_DESKTOP' : 'Bureau',
- 'LBL_PANEL' : 'Pannel',
- 'LBL_POSITION' : 'Position',
- 'LBL_ONTOP' : 'Premier plan',
- 'LBL_ITEMS' : 'Objets',
- 'LBL_GENERAL' : 'Général',
- 'LBL_DEBUG' : 'Déboguer',
- 'LBL_AUTOHIDE' : 'Masquage automatique',
- 'LBL_OPACITY' : 'Opacité',
- 'LBL_PACKAGES' : 'Paquets',
- 'LBL_GROUPS' : 'Groupes',
- 'LBL_VERSION' : 'Version',
- 'LBL_AUTHOR' : 'Auteur',
- 'LBL_HIDE' : 'Cacher',
- 'LBL_APPLICATION' : 'Application',
- 'LBL_SCOPE' : 'Gamme',
- 'LBL_SEARCH' : 'Recherche',
- 'LBL_INPUT' : 'Clavier',
- 'LBL_USERS' : 'Gestion des utilisateurs',
- 'LBL_STORE' : 'Magasin \n d\'application distante',
- 'LBL_WINDOWMANAGER' : 'Gestionnaire de fenêtre'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.ru_RU = {
- 'ERR_FILE_OPEN' : 'Ошибка открытия файла',
- 'ERR_WM_NOT_RUNNING' : 'Менеджер окон не запущен',
- 'ERR_FILE_OPEN_FMT' : 'Файл \'**{0}**\' не может быть открыт',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Неудалось найти приложение, способное открыть файл \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Ошибка запуска приложения',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'При попытке запуска, произошла следующая ошибка: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Ошибка при построении приложения \'{0}\': {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Ошибка инициализации в приложении \'{0}\' (init()): {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Для приложения \'{0}\' отсутсвует ресурс или ошибка при его загрузке!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Ошибка предварительной загрузки приложения \'{0}\': \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Приложение \'{0}\' уже запущено и единовременно поддерживает только одну копию!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Ошибка запуска \'{0}\'. Отсутствует манифест данных для приложения!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Ошибка запуска \'{0}\'. Ваш браузер не поддерживает: {1}',
- 'ERR_NO_WM_RUNNING' : 'Не запущен оконный менеджер',
- 'ERR_CORE_INIT_FAILED' : 'Ошибка инициализации OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Произошла ошибка в момент инициализации OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Невозможно запустить OS.js: Оконный менеджер не определен!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Невозможно запустить OS.js из-за ошибки при запуске оконного менеджера: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Невозможно запустить OS.js: Ошибка при предзагрузке ресурсов..',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Отчет об ошибке в JavaScript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Произошла непредвиденная ошибка, возможно баг.',
- 'ERR_APP_API_ERROR' : 'Ошибка связанная с API приложения',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Приложению {0} не удалось выполнить операцию \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Пропущен аргумент: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Неизвестная ошибка',
- 'ERR_WIN_DUPLICATE_FMT' : 'У вас уже присутствует окно с названием \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Свернуть',
- 'WINDOW_MAXIMIZE' : 'Развернуть',
- 'WINDOW_RESTORE' : 'Восстановить',
- 'WINDOW_CLOSE' : 'Закрыть',
- 'WINDOW_ONTOP_ON' : 'Поверх всех окон (Включить)',
- 'WINDOW_ONTOP_OFF': 'Поверх всех окон (Выключить)',
- 'TITLE_SIGN_OUT' : 'Выйти',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Вы вошли как: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Выйти (Выход)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Выход как пользователь: \'{0}\'.\nЖелаете сохранить текущую сессию?',
- 'DIALOG_CLOSE' : 'Закрыть',
- 'DIALOG_CANCEL': 'Отменить',
- 'DIALOG_APPLY' : 'Применить',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Внимание',
- 'DIALOG_COLOR_TITLE' : 'Цвет',
- 'DIALOG_COLOR_R' : 'Красный: {0}',
- 'DIALOG_COLOR_G' : 'Зеленый: {0}',
- 'DIALOG_COLOR_B' : 'Синий: {0}',
- 'DIALOG_COLOR_A' : 'Прозрачность: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Подтверждение',
- 'DIALOG_ERROR_MESSAGE' : 'Сообщение',
- 'DIALOG_ERROR_SUMMARY' : 'Сводка',
- 'DIALOG_ERROR_TRACE' : 'Цепочка вызовов',
- 'DIALOG_ERROR_BUGREPORT' : 'Отчет об ошибке',
- 'DIALOG_FILE_SAVE' : 'Сохранить',
- 'DIALOG_FILE_OPEN' : 'Открыть',
- 'DIALOG_FILE_MKDIR' : 'Новая папка',
- 'DIALOG_FILE_MKDIR_MSG' : 'Создать новый каталог в **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Вы уверены, что хотите перезаписать файл \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Режим просмотра',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Список',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Древовидный',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Значки',
- 'DIALOG_FILE_ERROR' : 'Ошибка связанная с FileDialog',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Не удалось отобразить содержимое \'{0}\', произошла ошибка',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Выберите файл или введите новое имя файла!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Выберите файл!',
- 'DIALOG_FILEINFO_TITLE' : 'Информация о файле',
- 'DIALOG_FILEINFO_LOADING' : 'Загрузка информации о файле: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Ошибка связанная с FileInformationDialog',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Ошибка при получения информации о файле **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Ошибка при получения информации о файле: {0}',
- 'DIALOG_INPUT_TITLE' : 'Диалог ввода',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Состояние операции над файлом',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Загрузка...',
- 'DIALOG_UPLOAD_TITLE' : 'Загрузка',
- 'DIALOG_UPLOAD_DESC' : 'Загрузка файла **{0}**.
Максимальный размер: {1} байт',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Загрузка \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Загрузка файла...',
- 'DIALOG_UPLOAD_FAILED' : 'Загрузка не удалась',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Загрузка завершилась неудачей',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Причина неизвестна...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Отменено пользователем...',
- 'DIALOG_FONT_TITLE' : 'Шрифт',
- 'DIALOG_APPCHOOSER_TITLE' : 'Выберите приложение',
- 'DIALOG_APPCHOOSER_MSG' : 'Выберите приложение для открытия',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Вам необходимо выбрать приложение',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Использовать в качестве приложения по умолчанию для {0}',
- 'GAPI_DISABLED' : 'GoogleAPI модуль не настроен или отключен',
- 'GAPI_SIGN_OUT' : 'Выйти из API служб Google',
- 'GAPI_REVOKE' : 'Отозвать права доступа и выйти',
- 'GAPI_AUTH_FAILURE' : 'Не удалось аутентифицировать Google API',
- 'GAPI_AUTH_FAILURE_FMT' : 'Не удалось проверить подлинность: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Не удалось загрузить Google API',
- 'IDB_MISSING_DBNAME' : 'Не удается создать IndexedDB без названия',
- 'IDB_NO_SUCH_ITEM' : 'Ничего не удалось найти',
- 'ERR_VFS_FATAL' : 'Критическая ошибка',
- 'ERR_VFS_FILE_ARGS' : 'Файл ожидает по меньшей мере один аргумент',
- 'ERR_VFS_NUM_ARGS' : 'Недостаточно аргументов',
- 'ERR_VFS_EXPECT_FILE' : 'Ожидается file-object',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Ожидается источник file-object',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Ожидается имя файла file-object',
- 'ERR_VFS_FILE_EXISTS' : 'Файл с таким именем уже существует',
- 'ERR_VFS_TRANSFER_FMT' : 'Произошла ошибка во время переноса между хранилищами: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Невозможно загрузить файл, без указания имени',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Не определены файлы для загрузки',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Загрузка файла не удалась: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Загрузка файла была отменена',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Невозможно скачать каталог без пути',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Произошла ошибка при загрузке: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Скачивание файла',
- 'ERR_FILE_APP_OPEN' : 'Невозможно открыть файл',
- 'ERR_FILE_APP_OPEN_FMT' : 'Файл {0} не может быть открыт, mime-type {1} не поддерживается',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Файл {0} не может быть открыт',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Файл {0} не может быть сохранен',
- 'ERR_GENERIC_APP_FMT' : '{0} Ошибка приложения',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Не удалось выполнить действие \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Неизвестная ошибка',
- 'ERR_GENERIC_APP_REQUEST' : 'Произошла ошибка при обработке вашего запроса',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Критическая ошибка: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Отменить изменения?',
- 'MSG_FILE_CHANGED' : 'Файл был изменен. Перезагрузить?',
- 'MSG_APPLICATION_WARNING' : 'Предупреждение',
- 'MSG_MIME_OVERRIDE' : 'Тип файла "{0}" не поддерживается, используете "{1}".',
- 'LBL_UNKNOWN' : 'Неизвестный',
- 'LBL_APPEARANCE' : 'Появление',
- 'LBL_USER' : 'Пользователь',
- 'LBL_NAME' : 'Название',
- 'LBL_APPLY' : 'Применить',
- 'LBL_FILENAME' : 'Имя файла',
- 'LBL_PATH' : 'Путь',
- 'LBL_SIZE' : 'Размер',
- 'LBL_TYPE' : 'Тип',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Загрузка',
- 'LBL_SETTINGS' : 'Настройки',
- 'LBL_ADD_FILE' : 'Добавить файл',
- 'LBL_COMMENT' : 'Комментарий',
- 'LBL_ACCOUNT' : 'Учетная запись',
- 'LBL_CONNECT' : 'Подключиться',
- 'LBL_ONLINE' : 'В сети',
- 'LBL_OFFLINE' : 'Не в сети',
- 'LBL_AWAY' : 'Отошел',
- 'LBL_BUSY' : 'Занят',
- 'LBL_CHAT' : 'Чат',
- 'LBL_HELP' : 'Помощь',
- 'LBL_ABOUT' : 'О программе',
- 'LBL_PANELS' : 'Панели',
- 'LBL_LOCALES' : 'Языки',
- 'LBL_THEME' : 'Тема',
- 'LBL_COLOR' : 'Цвет',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Завершить',
- 'LBL_ALIVE' : 'Работает',
- 'LBL_INDEX' : 'Индекс',
- 'LBL_ADD' : 'Добавить',
- 'LBL_FONT' : 'Шрифт',
- 'LBL_YES' : 'Да',
- 'LBL_NO' : 'Нет',
- 'LBL_CANCEL' : 'Отмена',
- 'LBL_TOP' : 'Верх',
- 'LBL_LEFT' : 'Лево',
- 'LBL_RIGHT' : 'Право',
- 'LBL_BOTTOM' : 'Низ',
- 'LBL_CENTER' : 'Центр',
- 'LBL_FILE' : 'Файл',
- 'LBL_NEW' : 'Новый',
- 'LBL_OPEN' : 'Открыть',
- 'LBL_SAVE' : 'Сохранить',
- 'LBL_SAVEAS' : 'Сохранить как...',
- 'LBL_CLOSE' : 'Закрыть',
- 'LBL_MKDIR' : 'Создать каталог',
- 'LBL_UPLOAD' : 'Загрузить',
- 'LBL_VIEW' : 'Вид',
- 'LBL_EDIT' : 'Редактировать',
- 'LBL_RENAME' : 'Переименовать',
- 'LBL_DELETE' : 'Удалить',
- 'LBL_OPENWITH' : 'Открыть в ...',
- 'LBL_ICONVIEW' : 'Значки',
- 'LBL_TREEVIEW' : 'Древовидный',
- 'LBL_LISTVIEW' : 'Список',
- 'LBL_REFRESH' : 'Обновить',
- 'LBL_VIEWTYPE' : 'Режим просмотра',
- 'LBL_BOLD' : 'Полужирный',
- 'LBL_ITALIC' : 'Курсив',
- 'LBL_UNDERLINE' : 'Подчеркнутый',
- 'LBL_REGULAR' : 'Обычный',
- 'LBL_STRIKE' : 'Перечеркнутый',
- 'LBL_INDENT' : 'Уменьшить отступ',
- 'LBL_OUTDENT' : 'Увеличить отступ',
- 'LBL_UNDO' : 'Отменить',
- 'LBL_REDO' : 'Повторить',
- 'LBL_CUT' : 'Вырезать',
- 'LBL_UNLINK' : 'Удалить ссылку',
- 'LBL_COPY' : 'Копировать',
- 'LBL_PASTE' : 'Вставить',
- 'LBL_INSERT' : 'Вставка',
- 'LBL_IMAGE' : 'Изображение',
- 'LBL_LINK' : 'Ссылка',
- 'LBL_DISCONNECT' : 'Отключиться',
- 'LBL_APPLICATIONS' : 'Приложения',
- 'LBL_ADD_FOLDER' : 'Добавить папку',
- 'LBL_INFORMATION' : 'Информация',
- 'LBL_TEXT_COLOR' : 'Цвет текста',
- 'LBL_BACK_COLOR' : 'Цвет фона',
- 'LBL_RESET_DEFAULT' : 'Сбросить к стандартным',
- 'LBL_DOWNLOAD_COMP' : 'Скачать',
- 'LBL_ORDERED_LIST' : 'Нумерованный список',
- 'LBL_BACKGROUND_IMAGE' : 'Фоновое изображение',
- 'LBL_BACKGROUND_COLOR' : 'Фоновый цвет',
- 'LBL_UNORDERED_LIST' : 'Неупорядоченный список',
- 'LBL_SHOW_SIDEBAR' : 'Отобразить боковую панель',
- 'LBL_BACKGROUND' : 'Фон',
- 'LBL_DESKTOP' : 'Настройки',
- 'LBL_PANEL' : 'Панель',
- 'LBL_POSITION' : 'Расположение',
- 'LBL_ONTOP' : 'Вверху',
- 'LBL_ITEMS' : 'Элементы',
- 'LBL_AUTOHIDE' : 'Автоматически скрывать',
- 'LBL_OPACITY' : 'Прозрачность',
- 'LBL_GENERAL' : 'Основные',
- 'LBL_DEBUG' : 'Отладка'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.ko_KR = {
- 'ERR_FILE_OPEN' : '파일을 열 수 없습니다',
- 'ERR_WM_NOT_RUNNING' : '윈도우 관리자가 실행 중이지 않습니다',
- 'ERR_FILE_OPEN_FMT' : '\'**{0}**\' 파일을 실행할 수 없습니다',
- 'ERR_APP_MIME_NOT_FOUND_FMT': '\'{0}\' 파일을 실행할 수 있는 응용 프로그램을 찾을 수 없습니다',
- 'ERR_APP_LAUNCH_FAILED' : '응용 프로그램을 실행할 수 없습니다',
- 'ERR_APP_LAUNCH_FAILED_FMT' : '{0}을(를) 실행할 수 없습니다',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : '응용 프로그램 \'{0}\'을 준비할 수 없습니다: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : '응용 프로그램 \'{0}\'을 초기화할 수 없습니다: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : '응용 프로그램 \'{0}\' 리소스를 찾을 수 없거나 로드할 수 없습니다!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : '응용 프로그램 \'{0}\'을 준비할 수 없습니다: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : '\'{0}\'은(는) 이미 실행중이며 하나의 인스턴스만 허용됩니다!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : '\'{0}\'을(를) 실행할 수 없습니다. 응용 프로그램 manifest 데이터를 찾을 수 없습니다!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : '\'{0}\'을(를) 실행할 수 없습니다. 사용중인 웹브라우저가 다음 기능을 지원하지 않습니다: {1}',
- 'ERR_NO_WM_RUNNING' : '윈도우 관리자가 실행 중이지 않습니다',
- 'ERR_CORE_INIT_FAILED' : 'OS.js를 초기화할 수 없습니다',
- 'ERR_CORE_INIT_FAILED_DESC' : 'OS.js를 초기화하던 중 오류가 발생했습니다',
- 'ERR_CORE_INIT_NO_WM' : 'OS.js를 실행할 수 없습니다: 윈도우 관리자가 정의되지 않았습니다!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'OS.js를 실행할 수 없습니다: 윈도우 관리자를 실행할 수 없습니다: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'OS.js를 실행할 수 없습니다: 리소스를 준비할 수 없습니다...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript 오류 보고서',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : '오류가 발생했습니다. 버그일 수 있습니다',
- 'ERR_APP_API_ERROR' : '응용 프로그램 API 오류',
- 'ERR_APP_API_ERROR_DESC_FMT' : '응용 프로그램 {0}이 명령을 실행할 수 없습니다\'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': '누락된 매개변수: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : '알 수 없는 오류입니다',
- 'ERR_OPERATION_TIMEOUT' : '시간초과',
- 'ERR_OPERATION_TIMEOUT_FMT' : '시간초과 ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\'에서 \'{1}\'는 \'{2}\'이 되어야 하나 \'{3}\'가 주어졌습니다',
- 'ERR_WIN_DUPLICATE_FMT' : '이미 \'{0}\' 창이 있습니다',
- 'WINDOW_MINIMIZE' : '최소화',
- 'WINDOW_MAXIMIZE' : '최대화',
- 'WINDOW_RESTORE' : '이전 크기로',
- 'WINDOW_CLOSE' : '닫기',
- 'WINDOW_ONTOP_ON' : '위로 (활성화)',
- 'WINDOW_ONTOP_OFF': '위로 (비활성화)',
- 'TITLE_SIGN_OUT' : '로그아웃',
- 'TITLE_SIGNED_IN_AS_FMT' : '{0}(으)로 로그인',
- 'ERR_LOGIN_FMT' : '로그인 오류: {0}',
- 'ERR_LOGIN_INVALID' : '비정상 로그인',
- 'MSG_SESSION_WARNING' : 'OS.js를 정말 종료하시겠습니까? 저장하지 않은 설정과 응용 프로그램 데이터가 손실될 수 있습니다!',
- 'BUGREPORT_MSG' : '버그라고 생각되면 보고해주십시요.\n오류가 어떻게 발생했는지 간단한 설명을 해주십시요. 가능하다면 재현 상황을 설명해주십시요',
- 'SERVICENOTIFICATION_TOOLTIP' : '{0}(으)로 외부 서비스 로그인',
- 'ERR_UTILS_XHR_FATAL' : '심각한 오류',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR 오류: {0}',
- 'DIALOG_LOGOUT_TITLE' : '로그아웃 (종료)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : '\'{0}\' 사용자 로그아웃.\n현재 세션을 저장하시겠습니까?',
- 'DIALOG_CLOSE' : '닫기',
- 'DIALOG_CANCEL': '취소',
- 'DIALOG_APPLY' : '적용',
- 'DIALOG_OK' : '확인',
- 'DIALOG_ALERT_TITLE' : '알림 다이얼로그',
- 'DIALOG_COLOR_TITLE' : '색상 다이얼로그',
- 'DIALOG_COLOR_R' : '빨강: {0}',
- 'DIALOG_COLOR_G' : '초록: {0}',
- 'DIALOG_COLOR_B' : '파랑: {0}',
- 'DIALOG_COLOR_A' : '투명: {0}',
- 'DIALOG_CONFIRM_TITLE' : '확인 다이얼로그',
- 'DIALOG_ERROR_MESSAGE' : '메시지',
- 'DIALOG_ERROR_SUMMARY' : '요약',
- 'DIALOG_ERROR_TRACE' : '추적',
- 'DIALOG_ERROR_BUGREPORT' : '오류 보고',
- 'DIALOG_FILE_SAVE' : '저장',
- 'DIALOG_FILE_OPEN' : '열기',
- 'DIALOG_FILE_MKDIR' : '디렉토리 생성',
- 'DIALOG_FILE_MKDIR_MSG' : '**{0}**에 디렉토리 생성',
- 'DIALOG_FILE_OVERWRITE' : '정말 \'{0}\'을 덮어쓰시겠습니까?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : '보기 타입',
- 'DIALOG_FILE_MNU_LISTVIEW' : '자세히 보기',
- 'DIALOG_FILE_MNU_TREEVIEW' : '간단히 보기',
- 'DIALOG_FILE_MNU_ICONVIEW' : '아이콘으로 보기',
- 'DIALOG_FILE_ERROR' : '파일 다이얼로그 오류',
- 'DIALOG_FILE_ERROR_SCANDIR': '오류가 발생했습니다. \'{0}\' 폴더를 불러올 수 없습니다',
- 'DIALOG_FILE_MISSING_FILENAME' : '파일을 선택하거나 새로운 파일 이름을 입력해주십시요!',
- 'DIALOG_FILE_MISSING_SELECTION': '파일을 선택해야 합니다!',
- 'DIALOG_FILEINFO_TITLE' : '파일 정보',
- 'DIALOG_FILEINFO_LOADING' : '파일 정보를 불러오는 중: {0}',
- 'DIALOG_FILEINFO_ERROR' : '파일 정보 다이얼로그 오류',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : '파일 정보를 가져올 수 없습니다 **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : '파일 정보를 가져올 수 없습니다: {0}',
- 'DIALOG_INPUT_TITLE' : '입력 다이얼로그',
- 'DIALOG_FILEPROGRESS_TITLE' : '파일 명령 처리',
- 'DIALOG_FILEPROGRESS_LOADING' : '처리 중...',
- 'DIALOG_UPLOAD_TITLE' : '업로드 다이얼로그',
- 'DIALOG_UPLOAD_DESC' : '**{0}**에 파일 업로드.
최대 용량: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : '\'{0}\' ({1} {2})을(를) {3}에 업로드 중',
- 'DIALOG_UPLOAD_MSG' : '파일을 업로드 중...',
- 'DIALOG_UPLOAD_FAILED' : '업로드 실패',
- 'DIALOG_UPLOAD_FAILED_MSG' : '업로드에 실패했습니다',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : '알 수 없는 오류...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': '사용자에 의해 취소...',
- 'DIALOG_UPLOAD_TOO_BIG': '파일이 너무 큽니다',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': '파일이 너무 큽니다, {0} 초과',
- 'DIALOG_FONT_TITLE' : '글꼴 다이얼로그',
- 'DIALOG_APPCHOOSER_TITLE' : '응용 프로그램 선택',
- 'DIALOG_APPCHOOSER_MSG' : '열려는 응용 프로그램을 선택해주십시요',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : '응용 프로그램을 선택해야 합니다',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : '{0}을(를) 기본 응용 프로그램으로 설정',
- 'GAPI_DISABLED' : 'GoogleAPI 모듈이 설정되지 않았거나 사용할 수 없습니다',
- 'GAPI_SIGN_OUT' : 'Google API 서비스에서 로그아웃',
- 'GAPI_REVOKE' : '권한을 해제하고 로그아웃',
- 'GAPI_AUTH_FAILURE' : 'Google API 인증에 실패했습니다',
- 'GAPI_AUTH_FAILURE_FMT' : '인증에 실패: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Google API 로드 실패',
- 'WLAPI_DISABLED' : 'Windows Live API 모듈이 설정되지 않았거나 사용할 수 없습니다',
- 'WLAPI_SIGN_OUT' : 'Window Live API 서비스에서 로그아웃',
- 'WLAPI_LOAD_FAILURE' : 'Windows Live API 로드 실패',
- 'WLAPI_LOGIN_FAILED' : 'Windows Live API에 로그인 실패',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Windows Live API에 로그인 실패: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API가 {0} 상태를 반환했습니다',
- 'IDB_MISSING_DBNAME' : 'Database의 이름 없이는 IndexedDB를 생성할 수 없습니다',
- 'IDB_NO_SUCH_ITEM' : '찾을 수 없습니다',
- 'ERR_VFS_FATAL' : '심각한 오류',
- 'ERR_VFS_UNAVAILABLE' : '사용할 수 없음',
- 'ERR_VFS_FILE_ARGS' : '적어도 하나의 매개변수가 필요합니다',
- 'ERR_VFS_NUM_ARGS' : '매개변수가 충분하지 않습니다',
- 'ERR_VFS_EXPECT_FILE' : '파일 객체가 필요합니다',
- 'ERR_VFS_EXPECT_SRC_FILE' : '원본 파일 객체가 필요합니다',
- 'ERR_VFS_EXPECT_DST_FILE' : '대상 파일 객체가 필요합니다',
- 'ERR_VFS_FILE_EXISTS' : '대상 파일이 이미 존재합니다',
- 'ERR_VFS_TRANSFER_FMT' : '저장소 간 파일을 이동하는 중 오류가 발생했습니다: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : '파일을 업로드하려면 대상을 선택해주십시요',
- 'ERR_VFS_UPLOAD_NO_FILES' : '업로드하려는 파일을 선택해주십시요',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : '파일을 업로드하는데 실패했습니다: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': '파일 업로드가 취소되었습니다',
- 'ERR_VFS_DOWNLOAD_NO_FILE': '경로 없이 경로를 다운로드할 수 없습니다',
- 'ERR_VFS_DOWNLOAD_FAILED' : '다운로드 중 오류가 발생하였습니다: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': '응답이 비어있습니다',
- 'ERR_VFSMODULE_INVALID' : '유효하지 않은 VFS 모듈',
- 'ERR_VFSMODULE_INVALID_FMT' : '유효하지 않은 VFS 모듈: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : '유효하지 않은 VFS 메소드',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : '유효하지 않은 VFS 메소드: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : '유효하지 않은 VFS 모듈 타입',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : '유효하지 않은 VFS 모듈 타입: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : '유효하지 않은 VFS 모듈 설정',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : '유효하지 않은 VFS 모듈 설정: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'VFS 모듈이 이미 마운트 되었습니다',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'VFS 모듈 \'{0}\' 이(가) 이미 마운트 되었습니다',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'VFS 모듈이 마운트 되지 않았습니다',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'VFS 모듈 \'{0}\' 이(가) 마운트 되지 않았습니다',
- 'ERR_VFSMODULE_EXCEPTION' : 'VFS 모듈 예외 발생',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'VFS 모듈 예외 발생: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : '{0}와 같은 VFS 모듈이 존재하지 않습니다. 잘못된 경로나 형식일 수 있습니다',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': '파일 다운로드',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR 오류',
- 'ERR_VFSMODULE_ROOT_ID' : '최상위 디렉토리 id를 찾을 수 없습니다',
- 'ERR_VFSMODULE_NOSUCH' : '파일이 존재하지 않습니다',
- 'ERR_VFSMODULE_PARENT' : '부모를 찾을 수 없습니다',
- 'ERR_VFSMODULE_PARENT_FMT' : '부모를 찾을 수 없습니다: {0}',
- 'ERR_VFSMODULE_SCANDIR' : '디렉토리 불러오기 실패',
- 'ERR_VFSMODULE_SCANDIR_FMT' : '디렉토리를 불러올 수 없습니다: {0}',
- 'ERR_VFSMODULE_READ' : '파일 읽기 실패',
- 'ERR_VFSMODULE_READ_FMT' : '파일을 읽을 수 없습니다: {0}',
- 'ERR_VFSMODULE_WRITE' : '파일 생성 실패',
- 'ERR_VFSMODULE_WRITE_FMT' : '파일을 생성할 수 없습니다: {0}',
- 'ERR_VFSMODULE_COPY' : '복사 실패',
- 'ERR_VFSMODULE_COPY_FMT' : '복사할 수 없습니다: {0}',
- 'ERR_VFSMODULE_UNLINK' : '바로가기 해제',
- 'ERR_VFSMODULE_UNLINK_FMT' : '바로가기를 해제할 수 없습니다: {0}',
- 'ERR_VFSMODULE_MOVE' : '파일 이동 실패',
- 'ERR_VFSMODULE_MOVE_FMT' : '파일을 이동할 수 없습니다: {0}',
- 'ERR_VFSMODULE_EXIST' : '파일 존재 여부 확인',
- 'ERR_VFSMODULE_EXIST_FMT' : '파일이 존재하는지 확인할 수 없습니다: {0}',
- 'ERR_VFSMODULE_FILEINFO' : '파일 정보 조회 실패',
- 'ERR_VFSMODULE_FILEINFO_FMT' : '파일 정보를 읽을 수 없습니다: {0}',
- 'ERR_VFSMODULE_MKDIR' : '디렉토리 생성 실패',
- 'ERR_VFSMODULE_MKDIR_FMT' : '디렉토리를 생성할 수 없습니다: {0}',
- 'ERR_VFSMODULE_URL' : '파일 경로 찾기 실패',
- 'ERR_VFSMODULE_URL_FMT' : '파일의 경로를 찾을 수 없습니다: {0}',
- 'ERR_VFSMODULE_TRASH' : '휴지통으로 보내기 실패',
- 'ERR_VFSMODULE_TRASH_FMT' : '휴지통으로 보낼 수 없습니다: {0}',
- 'ERR_VFSMODULE_UNTRASH' : '휴지통 복원 실패',
- 'ERR_VFSMODULE_UNTRASH_FMT' : '휴지통에서 복원할 수 없습니다: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : '휴지통 비우기 실패',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : '휴지통을 비울 수 없습니다: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Dropbox API에 가입되어 있습니다',
- 'DROPBOX_SIGN_OUT' : 'Google API Services에서 로그아웃',
- 'ONEDRIVE_ERR_RESOLVE' : '경로 탐색 실패: 항목을 찾을 수 없습니다',
- 'ZIP_PRELOAD_FAIL' : 'zip.js를 불러오는 데 실패하였습니다',
- 'ZIP_VENDOR_FAIL' : 'zip.js 라이브러리를 찾을 수 없습니다. 올바른 방법으로 불러왔는지 확인해주십시오',
- 'ZIP_NO_RESOURCE' : 'zip 리소스가 주어지지 않았습니다',
- 'ZIP_NO_PATH' : '경로가 주어지지 않았습니다',
- 'ERR_PACKAGE_EXISTS': '패키지 설치 디렉토리가 이미 존재하여 설치를 계속 할 수 없습니다!',
- 'ERR_FILE_APP_OPEN' : '파일을 열 수 없습니다',
- 'ERR_FILE_APP_OPEN_FMT' : '마임(MIME) {1} 이(가) 지원되지 않아 파일 {0} 을(를) 열지 못했습니다',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : '파일 {0} 을(를) 열지 못했습니다',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : '파일 {0} 을(를) 저장하지 못했습니다',
- 'ERR_GENERIC_APP_FMT' : '{0} 응용 프로그램 오류',
- 'ERR_GENERIC_APP_ACTION_FMT': '\'{0}\' 수행에 실패하였습니다',
- 'ERR_GENERIC_APP_UNKNOWN' : '알 수 없는 오류',
- 'ERR_GENERIC_APP_REQUEST' : '명령을 처리하는 도중 오류가 발생하였습니다',
- 'ERR_GENERIC_APP_FATAL_FMT' : '치명적인 오류: {0}',
- 'MSG_GENERIC_APP_DISCARD' : '변경사항을 저장하지 않겠습니까?',
- 'MSG_FILE_CHANGED' : '파일이 변경되었습니다. 새로고침 하시겠습니까?',
- 'MSG_APPLICATION_WARNING' : '응용 프로그램 경고',
- 'MSG_MIME_OVERRIDE' : '파일 타입 "{0}" 은(는) 지원되지 않습니다, "{1}" (으)로 대신합니다',
- 'LBL_UNKNOWN' : '알수없음',
- 'LBL_APPEARANCE' : '모양',
- 'LBL_USER' : '사용자',
- 'LBL_NAME' : '이름',
- 'LBL_APPLY' : '적용',
- 'LBL_FILENAME' : '파일명',
- 'LBL_PATH' : '경로',
- 'LBL_SIZE' : '크기',
- 'LBL_TYPE' : '타입',
- 'LBL_MIME' : '마임(MIME)',
- 'LBL_LOADING' : '로딩',
- 'LBL_SETTINGS' : '설정',
- 'LBL_ADD_FILE' : '파일 추가',
- 'LBL_COMMENT' : '댓글',
- 'LBL_ACCOUNT' : '계정',
- 'LBL_CONNECT' : '연결',
- 'LBL_ONLINE' : '온라인',
- 'LBL_OFFLINE' : '오프라인',
- 'LBL_AWAY' : '부재중',
- 'LBL_BUSY' : '바쁨',
- 'LBL_CHAT' : '채팅',
- 'LBL_HELP' : '도움말',
- 'LBL_ABOUT' : '정보',
- 'LBL_PANELS' : '패널',
- 'LBL_LOCALES' : '지역',
- 'LBL_THEME' : '테마',
- 'LBL_COLOR' : '색상',
- 'LBL_PID' : '프로세스 ID',
- 'LBL_KILL' : '종료',
- 'LBL_ALIVE' : '활성',
- 'LBL_INDEX' : '인덱스',
- 'LBL_ADD' : '추가',
- 'LBL_FONT' : '글꼴',
- 'LBL_YES' : '예',
- 'LBL_NO' : '아니오',
- 'LBL_CANCEL' : '취소',
- 'LBL_TOP' : '위',
- 'LBL_LEFT' : '왼쪽',
- 'LBL_RIGHT' : '오른쪽',
- 'LBL_BOTTOM' : '아래',
- 'LBL_CENTER' : '가운데',
- 'LBL_FILE' : '파일',
- 'LBL_NEW' : '새로 만들기',
- 'LBL_OPEN' : '열기',
- 'LBL_SAVE' : '저장',
- 'LBL_SAVEAS' : '다른 이름으로 저장',
- 'LBL_CLOSE' : '닫기',
- 'LBL_MKDIR' : '디렉토리 생성',
- 'LBL_UPLOAD' : '업로드',
- 'LBL_VIEW' : '보기',
- 'LBL_EDIT' : '편집',
- 'LBL_RENAME' : '이름 변경',
- 'LBL_DELETE' : '삭제',
- 'LBL_OPENWITH' : '다른 프로그램으로 열기',
- 'LBL_ICONVIEW' : '아이콘으로 보기',
- 'LBL_TREEVIEW' : '트리로 보기',
- 'LBL_LISTVIEW' : '리스트로 보기',
- 'LBL_REFRESH' : '새로고침',
- 'LBL_VIEWTYPE' : '보기 방식',
- 'LBL_BOLD' : '굵게',
- 'LBL_ITALIC' : '이탤릭체',
- 'LBL_UNDERLINE' : '밑줄',
- 'LBL_REGULAR' : '일반',
- 'LBL_STRIKE' : '취소선',
- 'LBL_INDENT' : '들여쓰기',
- 'LBL_OUTDENT' : '내어쓰기',
- 'LBL_UNDO' : '실행 취소',
- 'LBL_REDO' : '다시 실행',
- 'LBL_CUT' : '잘라내기',
- 'LBL_UNLINK' : '링크 해제',
- 'LBL_COPY' : '복사',
- 'LBL_PASTE' : '붙여넣기',
- 'LBL_INSERT' : '삽입',
- 'LBL_IMAGE' : '이미지',
- 'LBL_LINK' : '링크',
- 'LBL_DISCONNECT' : '연결 해제',
- 'LBL_APPLICATIONS' : '응용 프로그램',
- 'LBL_ADD_FOLDER' : '폴더 추가',
- 'LBL_INFORMATION' : '정보',
- 'LBL_TEXT_COLOR' : '글자색',
- 'LBL_BACK_COLOR' : '배경색',
- 'LBL_RESET_DEFAULT' : '기본값으로 복원',
- 'LBL_DOWNLOAD_COMP' : '컴퓨터로 다운로드',
- 'LBL_ORDERED_LIST' : '정렬 된 리스트',
- 'LBL_BACKGROUND_IMAGE' : '배경 이미지',
- 'LBL_BACKGROUND_COLOR' : '배경 색상',
- 'LBL_UNORDERED_LIST' : '정렬 되지 않은 리스트',
- 'LBL_STATUS' : '상태',
- 'LBL_READONLY' : '읽기 전용',
- 'LBL_CREATED' : '생성됨',
- 'LBL_MODIFIED' : '수정됨',
- 'LBL_SHOW_COLUMNS' : '열 보기',
- 'LBL_MOVE' : '이동',
- 'LBL_OPTIONS' : '옵션',
- 'LBL_OK' : '확인',
- 'LBL_DIRECTORY' : '디렉토리',
- 'LBL_CREATE' : '생성',
- 'LBL_BUGREPORT' : '버그 리포트',
- 'LBL_INSTALL' : '설치',
- 'LBL_UPDATE' : '수정',
- 'LBL_REMOVE' : '제거',
- 'LBL_SHOW_SIDEBAR' : '사이드바 보이기',
- 'LBL_SHOW_NAVIGATION' : '네비게이션 보이기',
- 'LBL_SHOW_HIDDENFILES' : '숨긴 파일 보이기',
- 'LBL_SHOW_FILEEXTENSIONS' : '파일 확장자 보이기',
- 'LBL_MOUNT': '마운트',
- 'LBL_DESCRIPTION': '설명',
- 'LBL_USERNAME': '사용자 이름',
- 'LBL_PASSWORD': '비밀번호',
- 'LBL_HOST': '호스트',
- 'LBL_NAMESPACE': '네임스페이스',
- 'LBL_BACKGROUND' : '바탕화면',
- 'LBL_DESKTOP' : '데스크탑',
- 'LBL_PANEL' : '패널',
- 'LBL_POSITION' : '위치',
- 'LBL_ONTOP' : '상단바 자리 차지',
- 'LBL_ITEMS' : '항목',
- 'LBL_GENERAL': '일반',
- 'LBL_SOUNDS': '소리',
- 'LBL_ICONS': '아이콘',
- 'LBL_DEBUG' : '디버그',
- 'LBL_AUTOHIDE' : '자동 숨기기',
- 'LBL_OPACITY' : '투명도',
- 'LBL_PACKAGES' : '패키지',
- 'LBL_GROUPS' : '그룹',
- 'LBL_VERSION' : '버전',
- 'LBL_AUTHOR' : '작성자',
- 'LBL_Hide' : '숨기기',
- 'LBL_APPLICATION' : '어플리케이션',
- 'LBL_SCOPE' : '범위',
- 'LBL_SEARCH' : '검색'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.zh_CN = {
- 'ERR_FILE_OPEN' : '打开文件错误',
- 'ERR_WM_NOT_RUNNING' : '窗口管理器未支持',
- 'ERR_FILE_OPEN_FMT' : '文件 \'**{0}**\' 无法打开',
- 'ERR_APP_MIME_NOT_FOUND_FMT': '找不到能打开此 \'{0}\' 文件的应用',
- 'ERR_APP_LAUNCH_FAILED' : '应用运行失败',
- 'ERR_APP_LAUNCH_FAILED_FMT' : '运行时出现错误: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : '应用 \'{0}\' 构建失败: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : '应用 \'{0}\' 初始化失败: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : '应用资源文件丢失 \'{0}\' 或加载失败',
- 'ERR_APP_PRELOAD_FAILED_FMT' : '应用 \'{0}\' 载入失败: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : '这个应用 \'{0}\' 已经运行,且只支持单实例运行',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : '运行应用失败 \'{0}\'. 未找到清单文件',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : '运行应用失败 \'{0}\'. 你的浏览器支持: {1}',
- 'ERR_NO_WM_RUNNING' : '没有窗口管理器在运行',
- 'ERR_CORE_INIT_FAILED' : '初始化OS.js失败',
- 'ERR_CORE_INIT_FAILED_DESC' : '初始化OS.js时出现一个错误',
- 'ERR_CORE_INIT_NO_WM' : '无法运行OS.js: 没有指定窗口管理器',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : '无法运行OS.js: 运行窗口管理器失败: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : '无法运行OS.js: 无法加载资源文件...',
- 'ERR_JAVASCRIPT_EXCEPTION' : '脚本错误报告',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : '发生未知异常, 也许是个BUG.',
- 'ERR_APP_API_ERROR' : '应用API错误',
- 'ERR_APP_API_ERROR_DESC_FMT' : '应用 {0} 执行操作失败 \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': '缺少参数: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : '未知错误',
- 'ERR_WIN_DUPLICATE_FMT' : '你已经有了一个被命名的窗口 \'{0}\'',
- 'WINDOW_MINIMIZE' : '最小化',
- 'WINDOW_MAXIMIZE' : '最大化',
- 'WINDOW_RESTORE' : '还原',
- 'WINDOW_CLOSE' : '关闭',
- 'WINDOW_ONTOP_ON' : '置顶 (开)',
- 'WINDOW_ONTOP_OFF': '置顶 (关)',
- 'TITLE_SIGN_OUT' : '退出',
- 'TITLE_SIGNED_IN_AS_FMT' : '登录: {0}',
- 'DIALOG_LOGOUT_TITLE' : '退出 (Exit)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : '注册用户 \'{0}\'.\n你是否想保留当前会话?',
- 'DIALOG_CLOSE' : '关闭',
- 'DIALOG_CANCEL': '取消',
- 'DIALOG_APPLY' : '应用',
- 'DIALOG_OK' : '确定',
- 'DIALOG_ALERT_TITLE' : '错误',
- 'DIALOG_COLOR_TITLE' : '调色板',
- 'DIALOG_COLOR_R' : '红: {0}',
- 'DIALOG_COLOR_G' : '绿: {0}',
- 'DIALOG_COLOR_B' : '蓝: {0}',
- 'DIALOG_COLOR_A' : '透明度: {0}',
- 'DIALOG_CONFIRM_TITLE' : '确认',
- 'DIALOG_ERROR_MESSAGE' : '错误信息',
- 'DIALOG_ERROR_SUMMARY' : '错误概要',
- 'DIALOG_ERROR_TRACE' : '错误跟踪',
- 'DIALOG_ERROR_BUGREPORT' : 'BUG反馈',
- 'DIALOG_FILE_SAVE' : '保存',
- 'DIALOG_FILE_OPEN' : '打开',
- 'DIALOG_FILE_MKDIR' : '新建目录',
- 'DIALOG_FILE_MKDIR_MSG' : '在 **{0}** 里创建一个目录',
- 'DIALOG_FILE_OVERWRITE' : '你确定要覆盖 \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : '视图类型',
- 'DIALOG_FILE_MNU_LISTVIEW' : '列表',
- 'DIALOG_FILE_MNU_TREEVIEW' : '树型框',
- 'DIALOG_FILE_MNU_ICONVIEW' : '图标',
- 'DIALOG_FILE_ERROR' : '文件错误',
- 'DIALOG_FILE_ERROR_SCANDIR': '有错误发生,导致无法显示目录 \'{0}\' 列表',
- 'DIALOG_FILE_MISSING_FILENAME' : '你需要选择一个文件或者输入一个文件名!',
- 'DIALOG_FILE_MISSING_SELECTION': '你需要选择一个文件!',
- 'DIALOG_FILEINFO_TITLE' : '文件信息',
- 'DIALOG_FILEINFO_LOADING' : '从 {0} 加载文件信息',
- 'DIALOG_FILEINFO_ERROR' : '读取文件信息错误',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : '无法获取**{0}**的文件信息',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : '无法获取文件信息: {0}',
- 'DIALOG_INPUT_TITLE' : '输入',
- 'DIALOG_FILEPROGRESS_TITLE' : '文件操作',
- 'DIALOG_FILEPROGRESS_LOADING' : '加载中...',
- 'DIALOG_UPLOAD_TITLE' : '上传',
- 'DIALOG_UPLOAD_DESC' : '上传文件到**{0}**.
最大限制: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : '正在上传 \'{0}\' ({1} {2}) 到 {3}',
- 'DIALOG_UPLOAD_MSG' : '上传文件...',
- 'DIALOG_UPLOAD_FAILED' : '上传失败',
- 'DIALOG_UPLOAD_FAILED_MSG' : '上传文件失败',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : '未知原因...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': '用户取消...',
- 'DIALOG_UPLOAD_TOO_BIG': '文件过大',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': '文件过大, 超过 {0}',
- 'DIALOG_FONT_TITLE' : '字体',
- 'DIALOG_APPCHOOSER_TITLE' : '选择应用',
- 'DIALOG_APPCHOOSER_MSG' : '选择一个应用打开',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : '你必须要选择一个应用',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : '使用默认应用打开 {0}',
- 'GAPI_DISABLED' : 'GoogleAPI 模块未配置或者未开启',
- 'GAPI_SIGN_OUT' : '注销GoogleAPI',
- 'GAPI_REVOKE' : '撤销权限并注销',
- 'GAPI_AUTH_FAILURE' : 'GoogleAPI 认证失败或者未认证',
- 'GAPI_AUTH_FAILURE_FMT' : '认证失败: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : '加载Google API失败',
- 'WLAPI_DISABLED' : 'Windows Live API 模块未配置或者未开启',
- 'WLAPI_SIGN_OUT' : '注销Window Live API',
- 'WLAPI_LOAD_FAILURE' : '加载 Windows Live API失败',
- 'WLAPI_LOGIN_FAILED' : '无法登录到Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : '无法登录到Windows Live API: {0}',
- 'IDB_MISSING_DBNAME' : '数据库名称未定义,无法创建数据库',
- 'IDB_NO_SUCH_ITEM' : '没有项目',
- 'ERR_VFS_FATAL' : '致命的错误',
- 'ERR_VFS_UNAVAILABLE' : '不可用',
- 'ERR_VFS_FILE_ARGS' : '文件至少需要一个参数',
- 'ERR_VFS_NUM_ARGS' : '参数不够',
- 'ERR_VFS_EXPECT_FILE' : '需要一个文件对象',
- 'ERR_VFS_EXPECT_SRC_FILE' : '需要一个文件内容对象',
- 'ERR_VFS_EXPECT_DST_FILE' : '需要目标文件',
- 'ERR_VFS_FILE_EXISTS' : '目标文件已存在',
- 'ERR_VFS_TRANSFER_FMT' : '保存时发生错误: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : '没有指定目标文件路径,无法上传',
- 'ERR_VFS_UPLOAD_NO_FILES' : '没有指定文件,无法上传。',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : '上传失败: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': '文件上传取消',
- 'ERR_VFS_DOWNLOAD_NO_FILE': '未指定文件路径无法下载',
- 'ERR_VFS_DOWNLOAD_FAILED' : '文件下载时发生活错误: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': '下载文件',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR 错误',
- 'ERR_VFSMODULE_ROOT_ID' : '找不到要根目录',
- 'ERR_VFSMODULE_NOSUCH' : '文件不存在',
- 'ERR_VFSMODULE_PARENT' : '上层目录不存在',
- 'ERR_VFSMODULE_PARENT_FMT' : '无法浏览上层目录: {0}',
- 'ERR_VFSMODULE_SCANDIR' : '搜索目录失败',
- 'ERR_VFSMODULE_SCANDIR_FMT' : '搜索目录失败: {0}',
- 'ERR_VFSMODULE_READ' : '读取文件失败',
- 'ERR_VFSMODULE_READ_FMT' : '读取文件失败: {0}',
- 'ERR_VFSMODULE_WRITE' : '写入文件失败',
- 'ERR_VFSMODULE_WRITE_FMT' : '写入文件失败: {0}',
- 'ERR_VFSMODULE_COPY' : '复制文件失败',
- 'ERR_VFSMODULE_COPY_FMT' : '复制文件失败: {0}',
- 'ERR_VFSMODULE_UNLINK' : '删除文件失败 file',
- 'ERR_VFSMODULE_UNLINK_FMT' : '删除文件失败: {0}',
- 'ERR_VFSMODULE_MOVE' : '移动文件失败',
- 'ERR_VFSMODULE_MOVE_FMT' : '移动文件失败: {0}',
- 'ERR_VFSMODULE_EXIST' : '检查文件是否存在失败',
- 'ERR_VFSMODULE_EXIST_FMT' : '检查文件是否存在失败: {0}',
- 'ERR_VFSMODULE_FILEINFO' : '获取文件信息失败',
- 'ERR_VFSMODULE_FILEINFO_FMT' : '获取文件信息失败: {0}',
- 'ERR_VFSMODULE_MKDIR' : '创建目录失败',
- 'ERR_VFSMODULE_MKDIR_FMT' : '创建目录失败: {0}',
- 'ERR_VFSMODULE_URL' : '获取远程文件失败',
- 'ERR_VFSMODULE_URL_FMT' : '获取远程文件失败: {0}',
- 'ERR_VFSMODULE_TRASH' : '将文件移动到回收站失败',
- 'ERR_VFSMODULE_TRASH_FMT' : '将文件移动到回收站失败: {0}',
- 'ERR_VFSMODULE_UNTRASH' : '将文件移出回收站失败',
- 'ERR_VFSMODULE_UNTRASH_FMT' : '将文件移出回收站失败: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : '清空回收收失败',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : '清空回收收失败: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : '你正在登录到Dropbox API',
- 'DROPBOX_SIGN_OUT' : '注销Google API 服务',
- 'ONEDRIVE_ERR_RESOLVE' : '找不到项目',
- 'ERR_FILE_APP_OPEN' : '无法打开文件',
- 'ERR_FILE_APP_OPEN_FMT' : '文件 {0} 的类型 {1} 不支持,无法打开',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : '文件 {0} 无法打开',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : '文件 {0} 无法保存',
- 'ERR_GENERIC_APP_FMT' : '{0} 应用错误',
- 'ERR_GENERIC_APP_ACTION_FMT': '无法执行此操作 \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : '未知错误',
- 'ERR_GENERIC_APP_REQUEST' : '请求时发生错误',
- 'ERR_GENERIC_APP_FATAL_FMT' : '致命错误: {0}',
- 'MSG_GENERIC_APP_DISCARD' : '放弃更改?',
- 'MSG_FILE_CHANGED' : '该文件已更改。确定重新载入?',
- 'MSG_APPLICATION_WARNING' : '应用警告',
- 'MSG_MIME_OVERRIDE' : '该文件 "{0}" 的类型不支持,用 "{1}" 替代.',
- 'LBL_UNKNOWN' : '未知',
- 'LBL_APPEARANCE' : '外观',
- 'LBL_USER' : '用户',
- 'LBL_NAME' : '名称',
- 'LBL_APPLY' : '应用',
- 'LBL_FILENAME' : '文件名',
- 'LBL_PATH' : '路径',
- 'LBL_SIZE' : '大小',
- 'LBL_TYPE' : '类似',
- 'LBL_MIME' : '扩展类型',
- 'LBL_LOADING' : '加载',
- 'LBL_SETTINGS' : '设置',
- 'LBL_ADD_FILE' : '添加文件',
- 'LBL_COMMENT' : '评论',
- 'LBL_ACCOUNT' : '账户',
- 'LBL_CONNECT' : '联系',
- 'LBL_ONLINE' : '在线',
- 'LBL_OFFLINE' : '离线',
- 'LBL_AWAY' : '离开',
- 'LBL_BUSY' : '忙碌',
- 'LBL_CHAT' : '聊天',
- 'LBL_HELP' : '帮助',
- 'LBL_ABOUT' : '关于',
- 'LBL_PANELS' : '控制板',
- 'LBL_LOCALES' : '本地化',
- 'LBL_THEME' : '主题',
- 'LBL_COLOR' : '颜色',
- 'LBL_PID' : '句柄',
- 'LBL_KILL' : '结束',
- 'LBL_ALIVE' : '活动',
- 'LBL_INDEX' : '索引',
- 'LBL_ADD' : '添加',
- 'LBL_FONT' : '字体',
- 'LBL_YES' : '是',
- 'LBL_NO' : '否',
- 'LBL_CANCEL' : '取消',
- 'LBL_TOP' : '上',
- 'LBL_LEFT' : '左',
- 'LBL_RIGHT' : '右',
- 'LBL_BOTTOM' : '下',
- 'LBL_CENTER' : '中',
- 'LBL_FILE' : '文件',
- 'LBL_NEW' : '新建',
- 'LBL_OPEN' : '打开',
- 'LBL_SAVE' : '保存',
- 'LBL_SAVEAS' : '加存为...',
- 'LBL_CLOSE' : '关闭',
- 'LBL_MKDIR' : '创建目录',
- 'LBL_UPLOAD' : '上传',
- 'LBL_VIEW' : '查看',
- 'LBL_EDIT' : '编辑',
- 'LBL_RENAME' : '重命名',
- 'LBL_DELETE' : '删除',
- 'LBL_OPENWITH' : '打开方式...',
- 'LBL_ICONVIEW' : '图标',
- 'LBL_TREEVIEW' : '树型框',
- 'LBL_LISTVIEW' : '列表',
- 'LBL_REFRESH' : '刷新',
- 'LBL_VIEWTYPE' : '视图类型',
- 'LBL_BOLD' : '加粗',
- 'LBL_ITALIC' : '斜体',
- 'LBL_UNDERLINE' : '下划线',
- 'LBL_REGULAR' : '对齐',
- 'LBL_STRIKE' : '删除线',
- 'LBL_INDENT' : '缩进',
- 'LBL_OUTDENT' : '减少缩进',
- 'LBL_UNDO' : '撤销',
- 'LBL_REDO' : '重做',
- 'LBL_CUT' : '剪切',
- 'LBL_UNLINK' : '删除',
- 'LBL_COPY' : '复制',
- 'LBL_PASTE' : '粘贴',
- 'LBL_INSERT' : '插入',
- 'LBL_IMAGE' : '图片',
- 'LBL_LINK' : '链接',
- 'LBL_DISCONNECT' : '清除链接',
- 'LBL_APPLICATIONS' : '应用',
- 'LBL_ADD_FOLDER' : '添加目录',
- 'LBL_INFORMATION' : '文件信息',
- 'LBL_TEXT_COLOR' : '字体颜色',
- 'LBL_BACK_COLOR' : '背景颜色',
- 'LBL_RESET_DEFAULT' : '恢复默认设置',
- 'LBL_DOWNLOAD_COMP' : '下载到电脑',
- 'LBL_ORDERED_LIST' : '有序列表',
- 'LBL_BACKGROUND_IMAGE' : '背景图片',
- 'LBL_BACKGROUND_COLOR' : '背景颜色',
- 'LBL_UNORDERED_LIST' : '无序列表',
- 'LBL_STATUS' : '状态',
- 'LBL_READONLY' : '只读'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.nl_NL = {
- 'ERR_FILE_OPEN' : 'Fout bij openen bestand',
- 'ERR_WM_NOT_RUNNING' : 'Window manager is niet gestart',
- 'ERR_FILE_OPEN_FMT' : 'Het bestand \'**{0}**\' kon niet worden geopend',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Kon geen programma vinden die \'{0}\' kan openen',
- 'ERR_APP_LAUNCH_FAILED' : 'Starten van het programma is mislukt',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Er is een probleem opgetreden tijden het starten van: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Toepassing \'{0}\' construct failed: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Toepassing \'{0}\' init() failed: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Toepassing bronnen ontbreken \'{0}\' of kon niet laden!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Toepassing \'{0}\' preload niet geslaagd: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'De toepassing \'{0}\' is al gestart en staat geen tweede instantie toe!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Starten van \'{0}\' is niet geslaagd. Application manifest data niet gevonden!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Starteb van \'{0}\' is niet geslaagd. De browser wordt niet ondersteund: {1}',
- 'ERR_NO_WM_RUNNING' : 'Window manager is niet gestart',
- 'ERR_CORE_INIT_FAILED' : 'Initialisatie van OS.js mislukt',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Er is een fout opgetreden tijdens de initialisatie van OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Kan OS.js niet starten: Geen window manager gedefineerd!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Kan OS.js niet starten: Window manager: {0} wil niet starten',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Kan OS.js niet starten: Fout bij het voorladen van bronnen...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Fout Rapportage',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Een onverwachte fout opgetreden, mogelijk een bug.',
- 'ERR_APP_API_ERROR' : 'Applicatie API fout',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Applicatie {0} Kan actie \'{1}\' niet uitvoeren',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Missend argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Onbekende fout',
- 'ERR_OPERATION_TIMEOUT' : 'Operatie Timeout',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Operatie Timeout ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' verwacht dat \'{1}\' een \'{2}\' is, niet \'{3}\'',
- 'ERR_WIN_DUPLICATE_FMT' : 'Er is al een venster met de naam: \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimaliseren',
- 'WINDOW_MAXIMIZE' : 'Maximaliseren',
- 'WINDOW_RESTORE' : 'Herstellen',
- 'WINDOW_CLOSE' : 'Sluiten',
- 'WINDOW_ONTOP_ON' : 'Naar voorgrond (Aan)',
- 'WINDOW_ONTOP_OFF': 'Naar voorgrond (Uit)',
- 'TITLE_SIGN_OUT' : 'Afmelden',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Aangemeld als: {0}',
- 'ERR_LOGIN_FMT' : 'Login fout: {0}',
- 'ERR_LOGIN_INVALID' : 'Onjuiste aanmelding',
- 'MSG_SESSION_WARNING' : 'Weet je zeker dat je OS.js wilt verlaten? Alle niet opgeslagen instellingen en applicatie data zal verloren gaan!',
- 'BUGREPORT_MSG' : 'Vriendelijk verzoek dit probleem te rapporteren.\nVoeg een korte omschrijving toe en als het lukt; Hoe we dit kunnen nabootsen',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Aangemeld bij externe service: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Fatale Fout',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR Fout: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Afmelden', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : ' \'{0}\'.\nWilt u deze sessie opslaan?',
- 'DIALOG_CLOSE' : 'Sluiten',
- 'DIALOG_CANCEL': 'Annuleren',
- 'DIALOG_APPLY' : 'Bevestigen',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Waarschuwing',
- 'DIALOG_COLOR_TITLE' : 'Kleuren',
- 'DIALOG_COLOR_R' : 'Rood: {0}',
- 'DIALOG_COLOR_G' : 'Groen: {0}',
- 'DIALOG_COLOR_B' : 'Blauw: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Bevestiging',
- 'DIALOG_ERROR_MESSAGE' : 'Bericht',
- 'DIALOG_ERROR_SUMMARY' : 'Opsomming',
- 'DIALOG_ERROR_TRACE' : 'Trace',
- 'DIALOG_ERROR_BUGREPORT' : 'Fouten rapport',
- 'DIALOG_FILE_SAVE' : 'Opslaan',
- 'DIALOG_FILE_OPEN' : 'Openen',
- 'DIALOG_FILE_MKDIR' : 'Nieuwe map',
- 'DIALOG_FILE_MKDIR_MSG' : 'Maak nieuwe map in **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Weet u zeker dat het bestand \'{0}\' overschreven moet worden?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Weergave',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Lijst weergave',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Boom weergave',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Icoontje',
- 'DIALOG_FILE_ERROR' : 'BestandsDialoog Fout',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Kan de map niet doorzoeken \'{0}\' Er is een storing opgetreden',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Selecteer een bestand of geef een naam op!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Selecteer een bestand!',
- 'DIALOG_FILEINFO_TITLE' : 'Bestands informatie',
- 'DIALOG_FILEINFO_LOADING' : 'Bestands informatie laden van: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Bestanda informatie Fout',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Ophalen van informatie van **{0}** is mislukt',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Ophalen van informatie van: {0} is mislukt',
- 'DIALOG_INPUT_TITLE' : 'Input Dialoog',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Voortgang',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Laden...',
- 'DIALOG_UPLOAD_TITLE' : 'Upload Dialoog',
- 'DIALOG_UPLOAD_DESC' : 'Upload bestand naar **{0}**.
Maximum grootte: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Bezig met uploaden \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Bezig met uploaden...',
- 'DIALOG_UPLOAD_FAILED' : 'Uploaden is niet gelukt',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Uploaden is niet gelukt',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Oorzaak onbekend...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Geannuleerd door de gebruiker...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Het bestand is te groot',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Het bestand is te groot, overschrijdt {0}',
- 'DIALOG_FONT_TITLE' : 'Lettertype',
- 'DIALOG_APPCHOOSER_TITLE' : 'Kies een programma',
- 'DIALOG_APPCHOOSER_MSG' : 'Kies een programma om te openen',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'U moet een programma kiezen',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Instellen als standaard programma voor {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Module is niet geconfigureerd of uitgeschakeld',
- 'GAPI_SIGN_OUT' : 'Afmelden bij Google API Services',
- 'GAPI_REVOKE' : 'Permissies herstellen en afmelden',
- 'GAPI_AUTH_FAILURE' : 'Google API Authentificatie niet gelukt of heeft niet plaatsgevonden',
- 'GAPI_AUTH_FAILURE_FMT' : 'Authentificatie mislukt: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Google API laden is mislukt',
- 'WLAPI_DISABLED' : 'Windows Live API module is niet geconfigureerd of uitgeschakeld',
- 'WLAPI_SIGN_OUT' : 'Afmelden bij Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Windows Live API niet geladen',
- 'WLAPI_LOGIN_FAILED' : 'Aanmelden bij Windows Live mislukt',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Aanmelden bij Windows Live misluk: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live status: {0}',
- 'IDB_MISSING_DBNAME' : 'Kan geen IndexedDB maken zonder database naam',
- 'IDB_NO_SUCH_ITEM' : 'Item bestaat niet',
- 'ERR_VFS_FATAL' : 'Fatale Fout',
- 'ERR_VFS_UNAVAILABLE' : 'Niet beschikbaar',
- 'ERR_VFS_FILE_ARGS' : 'Bestand verwacht tenminste 1 optie',
- 'ERR_VFS_NUM_ARGS' : 'Onjuist aantal opties',
- 'ERR_VFS_EXPECT_FILE' : 'Dit is geen bestands-object',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Dit is geen bronbestand',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Verwacht een bestemmings bestand',
- 'ERR_VFS_FILE_EXISTS' : 'Bestemming bestaat al',
- 'ERR_VFS_TRANSFER_FMT' : 'Er is een fout opgetreden bij het omzetten van opslag: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Kan het bestand niet uploaden zonder bestemming',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Geen bestand gedefineerd om te uploaden',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Bestand uploaden is mislukt: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Bestands upload is geannuleerd',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Kan niet downloaden zonder pad',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Er is een fout opgetreden tijdens het downloaden: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'De reactie was leeg',
- 'ERR_VFSMODULE_INVALID' : 'Ongeldige VFS Module',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Ongeldige VFS Module: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Ongeldige VFS Methode',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Ongeldige VFS Methode: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Ongeldige VFS Module type',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Ongeldige VFS Module type: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Ongeldige VFS Module configuratie',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Ongeldige VFS Module configuratie: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'VFS Module reeds gekoppeld',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'VFS Module \'{0}\' reeds gekoppeld',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'VFS Module niet gekoppeld',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'VFS Module \'{0}\' niet gekoppeld',
- 'ERR_VFSMODULE_EXCEPTION' : 'VFS Module Exceptie',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'VFS Module Exceptie: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'Geen VFS Module komt overeen met {0}. Verkeerd pad or formaat ?',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Bestand downloaden',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR Fout',
- 'ERR_VFSMODULE_ROOT_ID' : 'ID van root map niet gevonden',
- 'ERR_VFSMODULE_NOSUCH' : 'Het bestand bestaat niet',
- 'ERR_VFSMODULE_PARENT' : 'Ouder bestaat niet',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Ouder opzoeken mislukt: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Mappen scannen mislukt',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Mappen scannen mislukt: {0}',
- 'ERR_VFSMODULE_READ' : 'Bestand lezen mislukt',
- 'ERR_VFSMODULE_READ_FMT' : 'Bestand lezen misluk: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Bestand schrijven misluk',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Bestand schrijven misluk: {0}',
- 'ERR_VFSMODULE_COPY' : 'Kopieren mislukt',
- 'ERR_VFSMODULE_COPY_FMT' : 'Kopieren mislukt: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Fout bij unlink opdracht',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Fout bij unlink opdrachte: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Bestand verplaatsen mislukt',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Bestand verplaatsen mislukt: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Fout tijdens het bepalen van het bestaan van een bestand',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Fout tijdens het bepalen van het bestaan van een bestand: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Bestands informatie lezen is mislukt',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Bestands informatie lezen is mislukt: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Map maken is mislukt',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Map maken is mislukt: {0}',
- 'ERR_VFSMODULE_URL' : 'Fout bij het verkrijgen van een URL',
- 'ERR_VFSMODULE_URL_FMT' : 'Fout bij het verkrijgen van een URL: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Fout bij het verplaatsen naar de prullebak',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Fout bij het verplaatsen naar de prullebak: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Fout bij het verplaatsen uit de prullebak',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Fout bij het verplaatsen uit de prullebak: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Fout bij het legen van de prullebak',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Fout bij het legen van de prullebak: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Aangemeld bij Dropbox',
- 'DROPBOX_SIGN_OUT' : 'Afmelden bij Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'Kan het pad niet oplossen: item niet gevonden',
- 'ZIP_PRELOAD_FAIL' : 'Laden van zip.js mislukt',
- 'ZIP_VENDOR_FAIL' : 'zip.js niet gevonden. Is het correct geladen?',
- 'ZIP_NO_RESOURCE' : 'Geen zip bestand opgegeven',
- 'ZIP_NO_PATH' : 'Geen pad opgegeven',
- 'ERR_PACKAGE_EXISTS': 'Pakket installatie map bestaat al. Kan niet verder gaan!',
- 'ERR_FILE_APP_OPEN' : 'Kan het bestand niet openen',
- 'ERR_FILE_APP_OPEN_FMT' : 'Het bestand {0} kan niet worden geopend {1} wordt niet ondersteund',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Het bestand {0} kan niet worden geopend',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Het bestand {0} kan niet worden opgeslagen',
- 'ERR_GENERIC_APP_FMT' : '{0} Toepassing Fout',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Kan de actie \'{0}\' niet voltooien',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Onbekende Fout',
- 'ERR_GENERIC_APP_REQUEST' : 'Er is een fout opgetreden tijdens het afhandelen van dit verzoek',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Fatale Fout: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Wijzigingen ongedaan maken?',
- 'MSG_FILE_CHANGED' : 'Het bestand is gewijzigd. Opnieuw laden?',
- 'MSG_APPLICATION_WARNING' : 'Waarschuwing',
- 'MSG_MIME_OVERRIDE' : 'Het bestandstype "{0}" wordt niet ondersteund, suggestie: "{1}"',
- 'LBL_UNKNOWN' : 'Onbekend',
- 'LBL_APPEARANCE' : 'Weergave',
- 'LBL_USER' : 'Gebruiker',
- 'LBL_NAME' : 'Naam',
- 'LBL_APPLY' : 'Bevestigen',
- 'LBL_FILENAME' : 'Bestandsnaam',
- 'LBL_PATH' : 'Map',
- 'LBL_SIZE' : 'Grootte',
- 'LBL_TYPE' : 'Type',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Laden',
- 'LBL_SETTINGS' : 'Instellingen',
- 'LBL_ADD_FILE' : 'Bestand toevoegen',
- 'LBL_COMMENT' : 'Opmerking',
- 'LBL_ACCOUNT' : 'Account',
- 'LBL_CONNECT' : 'Verbinden',
- 'LBL_ONLINE' : 'Verbonden',
- 'LBL_OFFLINE' : 'Verbroken',
- 'LBL_AWAY' : 'Afwezig',
- 'LBL_BUSY' : 'Bezig',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Help',
- 'LBL_ABOUT' : 'Over',
- 'LBL_PANELS' : 'Panelen',
- 'LBL_LOCALES' : 'Talen',
- 'LBL_THEME' : 'Thema',
- 'LBL_COLOR' : 'Kleur',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Stop',
- 'LBL_ALIVE' : 'Aktief',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Toevoegen',
- 'LBL_FONT' : 'Lettertype',
- 'LBL_YES' : 'Ja',
- 'LBL_NO' : 'Nee',
- 'LBL_CANCEL' : 'Annuleren',
- 'LBL_TOP' : 'Boven',
- 'LBL_LEFT' : 'Links',
- 'LBL_RIGHT' : 'Rechts',
- 'LBL_BOTTOM' : 'Onder',
- 'LBL_CENTER' : 'Midden',
- 'LBL_FILE' : 'Bestand',
- 'LBL_NEW' : 'Nieuw',
- 'LBL_OPEN' : 'Open',
- 'LBL_SAVE' : 'Opslaan',
- 'LBL_SAVEAS' : 'opslaan als...',
- 'LBL_CLOSE' : 'Sluiten',
- 'LBL_MKDIR' : 'Nieuwe map maken',
- 'LBL_UPLOAD' : 'Uploaden',
- 'LBL_VIEW' : 'Beeld',
- 'LBL_EDIT' : 'Bewerken',
- 'LBL_RENAME' : 'Hernoemen',
- 'LBL_DELETE' : 'Verwijderen',
- 'LBL_OPENWITH' : 'Openen met ...',
- 'LBL_ICONVIEW' : 'Icoon weergave',
- 'LBL_TREEVIEW' : 'Boom weergave',
- 'LBL_LISTVIEW' : 'Lijst weergave',
- 'LBL_REFRESH' : 'Verversen',
- 'LBL_VIEWTYPE' : 'Weergave type',
- 'LBL_BOLD' : 'Vet',
- 'LBL_ITALIC' : 'Schuin',
- 'LBL_UNDERLINE' : 'Onderstreept',
- 'LBL_REGULAR' : 'Normaal',
- 'LBL_STRIKE' : 'Doorgehaald',
- 'LBL_INDENT' : 'Inspringen',
- 'LBL_OUTDENT' : 'Uitspringen',
- 'LBL_UNDO' : 'Ongedaan maken',
- 'LBL_REDO' : 'Ongedaan maken herstellen',
- 'LBL_CUT' : 'Knip',
- 'LBL_UNLINK' : 'Unlink',
- 'LBL_COPY' : 'Kopieren',
- 'LBL_PASTE' : 'Plakken',
- 'LBL_INSERT' : 'Invoegen',
- 'LBL_IMAGE' : 'Afbeelding',
- 'LBL_LINK' : 'Link',
- 'LBL_DISCONNECT' : 'Verbreken',
- 'LBL_APPLICATIONS' : 'Toepassingen',
- 'LBL_ADD_FOLDER' : 'Map toevoegen',
- 'LBL_INFORMATION' : 'Informatie',
- 'LBL_TEXT_COLOR' : 'Tekst kleur',
- 'LBL_BACK_COLOR' : 'Achtergrond kleur',
- 'LBL_RESET_DEFAULT' : 'Standaard instelling terug zetten',
- 'LBL_DOWNLOAD_COMP' : 'Downloaden naar je computer',
- 'LBL_ORDERED_LIST' : 'Gesorteerde lijst',
- 'LBL_BACKGROUND_IMAGE' : 'Achtergrond afbeelding',
- 'LBL_BACKGROUND_COLOR' : 'Achtergrond kleur',
- 'LBL_UNORDERED_LIST' : 'Ongesorteerde lijst',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Alleen lezen',
- 'LBL_CREATED' : 'Aangemaakt',
- 'LBL_MODIFIED' : 'Gewijzigd',
- 'LBL_SHOW_COLUMNS' : 'Kolommen tonen',
- 'LBL_MOVE' : 'Verplaats',
- 'LBL_OPTIONS' : 'Opties',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Map',
- 'LBL_CREATE' : 'Aanmaken',
- 'LBL_BUGREPORT' : 'Bugreport',
- 'LBL_INSTALL' : 'Installeer',
- 'LBL_UPDATE' : 'Update',
- 'LBL_REMOVE' : 'Verwijder',
- 'LBL_SHOW_SIDEBAR' : 'Zijbar tonen',
- 'LBL_SHOW_NAVIGATION' : 'Navigatie tonen',
- 'LBL_SHOW_HIDDENFILES' : 'Laat verborgen bestanden zien',
- 'LBL_SHOW_FILEEXTENSIONS' : 'Toon bestandsextensies',
- 'LBL_MOUNT': 'Koppelen',
- 'LBL_DESCRIPTION': 'Omschrijving',
- 'LBL_USERNAME': 'Gebruikersnaam',
- 'LBL_PASSWORD': 'Wachtwoord',
- 'LBL_HOST': 'Host',
- 'LBL_NAMESPACE': 'Namespace',
- 'LBL_BACKGROUND' : 'Achtergrond',
- 'LBL_DESKTOP' : 'Bureaublad',
- 'LBL_PANEL' : 'Paneel',
- 'LBL_POSITION' : 'Positie',
- 'LBL_ONTOP' : 'Voorgrond',
- 'LBL_ITEMS' : 'Items',
- 'LBL_GENERAL': 'Algemeen'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.pl_PL = {
- 'ERR_FILE_OPEN' : 'Błąd otwierania pliku',
- 'ERR_WM_NOT_RUNNING' : 'Menedżer okien nie jest włączony',
- 'ERR_FILE_OPEN_FMT' : 'Nie można otworzyć \'**{0}**\'',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Nie można znaleźć aplikacji wspierającej \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Błąd otwierania aplikacji',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Błąd podczas uruchamiania aplikacji: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Konstruowanie aplikacji \'{0}\' nie powiodło się: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'init() aplikacji \'{0}\' nie powiodło się: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Brakuje zasobów dla aplikacji \'{0}\' lub ładowanie nie powiodło się!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Wstępne ładowanie aplikacji \'{0}\' nie powiodło się: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Aplikacja \'{0}\' została juz otwarta, a nie może być uruchomiona wielokrotnie!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Nie można otworzyć \'{0}\'. Nie znaleziono danych manifestu aplikacji!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Nie można otworzyć \'{0}\'. Twoja przeglądarka nie wspiera: {1}',
- 'ERR_NO_WM_RUNNING' : 'Menedżer okien nie został uruchomiony',
- 'ERR_CORE_INIT_FAILED' : 'Nie można zainicjalizować OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Błąd podczas inicjalizacji OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Nie można uruchomić OS.js: Nie wybrano Menedżera Okien!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Nie można uruchomić OS.js: Błąd uruchamiania Menedżera Okien: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Nie można uruchomić OS.js: Błąd przeładowywania plików...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Błąd Javascript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Nieznany błąd.',
- 'ERR_APP_API_ERROR' : 'Błąd API Aplikacji',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Aplikacja {0} nie może wykonać operacji \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Brakujący argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Nieznany błąd',
- 'ERR_OPERATION_TIMEOUT' : 'Przekroczono Czas Operacji',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Przekroczono Czas Operacji ({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'Masz już uruchomione Okno z nazwą \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimalizuj',
- 'WINDOW_MAXIMIZE' : 'Maksymalizuj',
- 'WINDOW_RESTORE' : 'Przywroć',
- 'WINDOW_CLOSE' : 'Zamknij',
- 'WINDOW_ONTOP_ON' : 'U Góry (Włączone)',
- 'WINDOW_ONTOP_OFF': 'U Góry (Wyłączone)',
- 'TITLE_SIGN_OUT' : 'Wyloguj',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Zalogowano jako: {0}',
- 'MSG_SESSION_WARNING' : 'Czy na pewno chcesz opuścić OS.js? Wszystkie niezapisane ustawienia i dane aplikacji zostaną utracone!',
- 'BUGREPORT_MSG' : 'Wyślij proszę raport błędu jesli uważasz, że jest to błąd.\nDołącz opis błędu',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Zalogowano w zewnętrznych serwisach: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Błąd krytyczny',
- 'ERR_UTILS_XHR_FMT' : 'Błąd AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Wylogowywanie (Exit)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Wylogowywanie \'{0}\'.\nCzy chcesz zapisać sesję?',
- 'DIALOG_CLOSE' : 'Zamknij',
- 'DIALOG_CANCEL': 'Anuluj',
- 'DIALOG_APPLY' : 'Zastosuj',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Powiadomienia',
- 'DIALOG_COLOR_TITLE' : 'Kolor',
- 'DIALOG_COLOR_R' : 'Czerwony: {0}',
- 'DIALOG_COLOR_G' : 'Zielony: {0}',
- 'DIALOG_COLOR_B' : 'Niebieski: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Potwierdź',
- 'DIALOG_ERROR_MESSAGE' : 'Wiadomość',
- 'DIALOG_ERROR_SUMMARY' : 'Podsumowanie',
- 'DIALOG_ERROR_TRACE' : 'Śledzenie',
- 'DIALOG_ERROR_BUGREPORT' : 'Raport błędu',
- 'DIALOG_FILE_SAVE' : 'Zapisz',
- 'DIALOG_FILE_OPEN' : 'Otwórz',
- 'DIALOG_FILE_MKDIR' : 'Nowy folder',
- 'DIALOG_FILE_MKDIR_MSG' : 'Nowy folder w **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Czy chcesz nadpisać plik \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Widok',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Lista',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Drzewo',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Ikony',
- 'DIALOG_FILE_ERROR' : 'Błąd okna dialogowego pliku',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Nie udało się wylistować katalogu \'{0}\' z powodu wystąpienia błędu',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Zaznacz plik albo wpisz nazwę nowego pliku!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Zaznacz plik!',
- 'DIALOG_FILEINFO_TITLE' : 'Informacje',
- 'DIALOG_FILEINFO_LOADING' : 'Ładowanie informacji dla: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Błąd okna Informacji o pliku',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Nie udało się uzyskać informacji dla **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Nie udało się uzyskać informacji dla: {0}',
- 'DIALOG_INPUT_TITLE' : 'Wprowadzanie',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Postęp',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Ładowanie...',
- 'DIALOG_UPLOAD_TITLE' : 'Wysyłanie',
- 'DIALOG_UPLOAD_DESC' : 'Wysyłanie pliku do **{0}**.
Maksymalny rozmiar: {1} bitów',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Wysyłanie \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Wysyłanie pliku...',
- 'DIALOG_UPLOAD_FAILED' : 'Błąd wywołania',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Wywołanie nie powiodło się',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Powód nieznany...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Anulowane przez użytkownika...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Plik jest za duży',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Plik jest za duży, przekracza {0}',
- 'DIALOG_FONT_TITLE' : 'Czcionka',
- 'DIALOG_APPCHOOSER_TITLE' : 'Wybierz aplikację',
- 'DIALOG_APPCHOOSER_MSG' : 'Wybierz aplikację do otwarcia',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Wybierz aplikację',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Używaj jako domyślną aplikację do {0}',
- 'GAPI_DISABLED' : 'Moduł GoogleAPI jest nie skonfigurowany albo jest wyłączony',
- 'GAPI_SIGN_OUT' : 'Wyloguj z Serwisu Google API',
- 'GAPI_REVOKE' : 'Odwołaj uprawnienia i wyloguj',
- 'GAPI_AUTH_FAILURE' : 'Autentykacja Google API nie powiodła się lub nie miała miejsca',
- 'GAPI_AUTH_FAILURE_FMT' : 'Nie można uwierzytelnić: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Nie można załadować Google API',
- 'WLAPI_DISABLED' : 'Moduł Windows Live API nie jest skonfigurowany albo jest wyłączony',
- 'WLAPI_SIGN_OUT' : 'Wyloguj z Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Nie można załadować Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Nie można zalogować do Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Nie można zalogować do Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API zwróciło status {0}',
- 'IDB_MISSING_DBNAME' : 'Nie mozna utworzyć IndexedDB bez Nazwy Bazy Danych',
- 'IDB_NO_SUCH_ITEM' : 'Brak takiego elementu',
- 'ERR_VFS_FATAL' : 'Błąd krytyczny',
- 'ERR_VFS_UNAVAILABLE' : 'Niedostępne',
- 'ERR_VFS_FILE_ARGS' : 'Plik oczekuje co najmniej jednego argumentu',
- 'ERR_VFS_NUM_ARGS' : 'Za mało argumentów',
- 'ERR_VFS_EXPECT_FILE' : 'Oczekuje obiektu-pliku',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Oczekuje źródłowego obiektu-pliku',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Oczekuje docelowego obiektu-pliku',
- 'ERR_VFS_FILE_EXISTS' : 'Plik docelowy istnieje',
- 'ERR_VFS_TRANSFER_FMT' : 'Wystąpił błąd podczas transferu pomiędzy magazynem: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Nie można wysłać pliku bez celu',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Nie można wysłać bez okreslenia plików',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Wysyłanie pliku: {0} nie powiodło się',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Wysyłanie pliku zostało anulowane',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Nie można pobrać ścieżki bez wskazania ścieżki',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Wystąpił błąd podczas pobierania: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Odpowiedź była pusta',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Pobieranie pliku',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Błąd XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'Nie odnaleziono id głównego folderu',
- 'ERR_VFSMODULE_NOSUCH' : 'Nie ma takiego pliku',
- 'ERR_VFSMODULE_PARENT' : 'Nie ma takiego rodzica',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Nie odnaleziono rodzica: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Nie udało się przeskanować folderu',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Nie udało się przeskanować folderu: {0}',
- 'ERR_VFSMODULE_READ' : 'Nie udało się odczytać pliku',
- 'ERR_VFSMODULE_READ_FMT' : 'Nie udało się odczytać pliku: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Nie udało się zapisać pliku',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Nie udało się zapisać pliku: {0}',
- 'ERR_VFSMODULE_COPY' : 'Nie można skopiować',
- 'ERR_VFSMODULE_COPY_FMT' : 'Kopiowanie: {0} nie powiodło się',
- 'ERR_VFSMODULE_UNLINK' : 'Nie można odlinkować pliku',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Odlinkowanie pliku: {0} nie powiodło się',
- 'ERR_VFSMODULE_MOVE' : 'Nie można przenieść',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Przenoszenie: {0} nie powiodło się',
- 'ERR_VFSMODULE_EXIST' : 'Nie udało się sprawdzić czy plik instnieje',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Nie udało się sprawdzić czy plik instnieje: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Nie udało się uzyskać informacji o pliku',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Nie udało się uzyskać informacji o pliku: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Nie można stworzyć folderu',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Tworzenie folderu: {0} nie powiodło się',
- 'ERR_VFSMODULE_URL' : 'Nie udało się uzyskać adresu URL pliku',
- 'ERR_VFSMODULE_URL_FMT' : 'Nie udało się uzyskać adresu URL pliku: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Nie udało się przenieść pliku do kosza',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Nie udało się przenieść pliku do kosza: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Nie udało się przenieść pliku z kosza',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Nie udało się przenieść pliku z kosza: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Nie udało się wyczyścić kosza',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Nie udało się wyczyścić kosza: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Jesteś zalogowany do Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Wylogowano z serwisu Dropbox API',
- 'ONEDRIVE_ERR_RESOLVE' : 'Nie znaleziono pozycji',
- 'ERR_PACKAGE_EXISTS': 'Folder instalacyjny pakietów już istnieje. Nie można kontynuować!',
- 'ERR_FILE_APP_OPEN' : 'Nie można otworzyć',
- 'ERR_FILE_APP_OPEN_FMT' : 'Plik {0} nie może zostać otwarty ,ponieważ mime {1} nie jest wspierane',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Plik {0} nie może zostać otwarty',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Plik {0} nie może zostać zapisany',
- 'ERR_GENERIC_APP_FMT' : '{0} Błąd Aplikacji',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Nie udało się przeprowadzić akcji \'{0}\'.',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Nieznany błąd',
- 'ERR_GENERIC_APP_REQUEST' : 'Wystąpił błąd podczas obsługi żądania',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Błąd krytyczny: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Odrzucić zmiany?',
- 'MSG_FILE_CHANGED' : 'Plik został zmieniony. Przeładować?',
- 'MSG_APPLICATION_WARNING' : 'Ostrzeżenie Aplikacji',
- 'MSG_MIME_OVERRIDE' : 'Typ pliku "{0}" nie jest wspierany, używając w zamian "{1}".',
- 'LBL_UNKNOWN' : 'Nieznany',
- 'LBL_APPEARANCE' : 'Wygląd',
- 'LBL_USER' : 'Użytkownik',
- 'LBL_NAME' : 'Nazwa',
- 'LBL_APPLY' : 'Zastosuj',
- 'LBL_FILENAME' : 'Nazwa pliku',
- 'LBL_PATH' : 'Ścieżka',
- 'LBL_SIZE' : 'Rozmiar',
- 'LBL_TYPE' : 'Typ',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Ładowanie',
- 'LBL_SETTINGS' : 'Ustawienia',
- 'LBL_ADD_FILE' : 'Dodaj plik',
- 'LBL_COMMENT' : 'Komentarz',
- 'LBL_ACCOUNT' : 'Konto',
- 'LBL_CONNECT' : 'Połącz',
- 'LBL_ONLINE' : 'Połączono',
- 'LBL_OFFLINE' : 'Rozłączono',
- 'LBL_AWAY' : 'Zaraz wracam',
- 'LBL_BUSY' : 'Zajęty',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Pomoc',
- 'LBL_ABOUT' : 'O',
- 'LBL_PANELS' : 'Panele',
- 'LBL_LOCALES' : 'Języki',
- 'LBL_THEME' : 'Motyw',
- 'LBL_COLOR' : 'Kolor',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Zabij',
- 'LBL_ALIVE' : 'Aktywne',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Dodaj',
- 'LBL_FONT' : 'Czcionka',
- 'LBL_YES' : 'Tak',
- 'LBL_NO' : 'Nie',
- 'LBL_CANCEL' : 'Anuluj',
- 'LBL_TOP' : 'Góra',
- 'LBL_LEFT' : 'Lewo',
- 'LBL_RIGHT' : 'Prawo',
- 'LBL_BOTTOM' : 'Dół',
- 'LBL_CENTER' : 'Środek',
- 'LBL_FILE' : 'Plik',
- 'LBL_NEW' : 'Nowy',
- 'LBL_OPEN' : 'Otwórz',
- 'LBL_SAVE' : 'Zapisz',
- 'LBL_SAVEAS' : 'Zapisz jako...',
- 'LBL_CLOSE' : 'Zamknij',
- 'LBL_MKDIR' : 'Nowy folder',
- 'LBL_UPLOAD' : 'Wyślij',
- 'LBL_VIEW' : 'Widok',
- 'LBL_EDIT' : 'Edytuj',
- 'LBL_RENAME' : 'Zmień nazwę',
- 'LBL_DELETE' : 'Usuń',
- 'LBL_OPENWITH' : 'Otwórz za pomocą ...',
- 'LBL_ICONVIEW' : 'Ikony',
- 'LBL_TREEVIEW' : 'Drzewo',
- 'LBL_LISTVIEW' : 'Lista',
- 'LBL_REFRESH' : 'Odśwież',
- 'LBL_VIEWTYPE' : 'Typ widoku',
- 'LBL_BOLD' : 'Pogrubienie',
- 'LBL_ITALIC' : 'Kursywa',
- 'LBL_UNDERLINE' : 'Podkreślenie',
- 'LBL_REGULAR' : 'Regularne',
- 'LBL_STRIKE' : 'Przekreślenie',
- 'LBL_INDENT' : 'Wcięcie',
- 'LBL_OUTDENT' : 'Outdent',
- 'LBL_UNDO' : 'Cofnij',
- 'LBL_REDO' : 'Przywróć',
- 'LBL_CUT' : 'Wytnij',
- 'LBL_UNLINK' : 'Odlinkuj',
- 'LBL_COPY' : 'Kopiuj',
- 'LBL_PASTE' : 'Wklej',
- 'LBL_INSERT' : 'Wstaw',
- 'LBL_IMAGE' : 'Obraz',
- 'LBL_LINK' : 'Linkuj',
- 'LBL_DISCONNECT' : 'Rozłącz',
- 'LBL_APPLICATIONS' : 'Aplikacje',
- 'LBL_ADD_FOLDER' : 'Dodaj folder',
- 'LBL_INFORMATION' : 'Informacje',
- 'LBL_TEXT_COLOR' : 'Kolor tekstu',
- 'LBL_BACK_COLOR' : 'Kolor tła',
- 'LBL_RESET_DEFAULT' : 'Przywróć fabryczne',
- 'LBL_DOWNLOAD_COMP' : 'Pobierz',
- 'LBL_ORDERED_LIST' : 'Lista',
- 'LBL_BACKGROUND_IMAGE' : 'Tapeta',
- 'LBL_BACKGROUND_COLOR' : 'Kolor tła',
- 'LBL_UNORDERED_LIST' : 'Lista nieuporządkowana',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Tylko-odczyt',
- 'LBL_CREATED' : 'Utworzono',
- 'LBL_MODIFIED' : 'Zmodyfikowano',
- 'LBL_SHOW_COLUMNS' : 'Pokaż kolumny',
- 'LBL_MOVE' : 'Przenieś',
- 'LBL_OPTIONS' : 'Opcje',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Folder',
- 'LBL_CREATE' : 'Utwórz',
- 'LBL_BUGREPORT' : 'Raport błędu',
- 'LBL_INSTALL' : 'Instaluj',
- 'LBL_UPDATE' : 'Aktualizuj',
- 'LBL_REMOVE' : 'Usuń',
- 'LBL_SHOW_SIDEBAR' : 'Pokaż pasek',
- 'LBL_BACKGROUND' : 'Tło',
- 'LBL_DESKTOP' : 'Pulpit',
- 'LBL_PANEL' : 'Panel',
- 'LBL_POSITION' : 'Pozycja',
- 'LBL_ONTOP' : 'Na wierzchu',
- 'LBL_ITEMS' : 'Elementy',
- 'LBL_SOUNDS' : 'Dźwięki',
- 'LBL_ICONS' : 'Ikony',
- 'LBL_AUTOHIDE' : 'Automatyczne ukrywanie',
- 'LBL_OPACITY' : 'Przeźroczystość',
- 'LBL_USERNAME' : 'Nazwa konta',
- 'LBL_GROUPS' : 'Grupy',
- 'LBL_VERSION' : 'Wersja',
- 'LBL_AUTHOR' : 'Autor',
- 'LBL_HIDE' : 'Ukryj',
- 'LBL_APPLICATION' : 'Aplikacja',
- 'LBL_SCOPE' : 'Zasięg',
- 'LBL_PACKAGES' : 'Pakiety',
- 'LBL_GENERAL' : 'Ogólne',
- 'LBL_DEBUG' : 'Debugowanie'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.pt_BR = {
- 'ERR_FILE_OPEN' : 'Erro ao abrir arquivo',
- 'ERR_WM_NOT_RUNNING' : 'Gerenciador de janelas não está executando',
- 'ERR_FILE_OPEN_FMT' : 'O arquivo \'**{0}**\' não pôde ser aberto',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Não foi encontrado nenhum aplicativo com suporte para arquivos \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Falha em abrir aplicativo',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Um erro ocorreu na tentativa de abrir: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Falha em construção do aplicativo \'{0}\': {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Falha no init() do aplicativo \'{0}\': {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'O aplicativo \'{0}\' está faltando recursos ou falhou em inicializar!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'O aplicativo \'{0}\' falhou no pré-carregamento: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'O aplicativo \'{0}\' já está aberto e só permite uma instância!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Falha em abrir \'{0}\'. Faltando informação sobre o pacote do aplicativo!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Falha em abrir \'{0}\'. Seu navegador não suporta: {1}',
- 'ERR_NO_WM_RUNNING' : 'Gerenciador de janelas não está executando',
- 'ERR_CORE_INIT_FAILED' : 'Falha em inicializar OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Um erro ocorreu enquanto OS.js se inicializava',
- 'ERR_CORE_INIT_NO_WM' : 'Não é possivel começar OS.js: Nenhum Gerenciador de Janelas encontrado!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Não é possível inciar OS.js: Falha em lançar o Gerenciador de Janelas: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Não é possível iniciar OS.js: Falha em pré-carregar recursos...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Erro no JavaScript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Um erro inexperado ocorreu, talvez seja um bug.',
- 'ERR_APP_API_ERROR' : 'Erro na API do aplicativo',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Aplicativo {0} falhou em executar \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Faltando argumento: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Erro desconhecido',
- 'ERR_OPERATION_TIMEOUT' : 'Operação está demorando muito',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Operação está demorando muito ({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'Você já possui uma janela chamada \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimizar',
- 'WINDOW_MAXIMIZE' : 'Maximizar',
- 'WINDOW_RESTORE' : 'Restaurar',
- 'WINDOW_CLOSE' : 'Fechar',
- 'WINDOW_ONTOP_ON' : 'No topo (Habilitar)',
- 'WINDOW_ONTOP_OFF': 'No topo (Desabilitar)',
- 'TITLE_SIGN_OUT' : 'Deslogar',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Logado como: {0}',
- 'MSG_SESSION_WARNING' : 'Você tem certeza que quer sair do OS.js? Todas as configurações e dados das aplicações não salvas serão perdidas!',
- 'BUGREPORT_MSG' : 'Por favor, reporte se você achar que isto é um bug.\nInclue uma breve descrição sobre como ocorreu o erro e, se possível, como refazê-lo',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Logado em serviços externos: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Erro fatal',
- 'ERR_UTILS_XHR_FMT' : 'Erro de AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Logout (Sair)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Deslogando usuário \'{0}\'.\nVocê quer salvar sessão atual?',
- 'DIALOG_CLOSE' : 'Fechar',
- 'DIALOG_CANCEL': 'Cancelar',
- 'DIALOG_APPLY' : 'Aplicar',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Mensagem de Atenção',
- 'DIALOG_COLOR_TITLE' : 'Cores',
- 'DIALOG_COLOR_R' : 'Vermelho: {0}',
- 'DIALOG_COLOR_G' : 'Verde: {0}',
- 'DIALOG_COLOR_B' : 'Azul: {0}',
- 'DIALOG_COLOR_A' : 'Alfa: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Mensagem de Confirmação',
- 'DIALOG_ERROR_MESSAGE' : 'Mensagem',
- 'DIALOG_ERROR_SUMMARY' : 'Resumo',
- 'DIALOG_ERROR_TRACE' : 'Rastro',
- 'DIALOG_ERROR_BUGREPORT' : 'Relate Bug',
- 'DIALOG_FILE_SAVE' : 'Salvar',
- 'DIALOG_FILE_OPEN' : 'Abrir',
- 'DIALOG_FILE_MKDIR' : 'Novo diretório',
- 'DIALOG_FILE_MKDIR_MSG' : 'Criar novo diretório em **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Você realmente quer sobrescrever o arquivo \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Visuaizar tipo',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Visualizar em lista',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Visualizar em árvore',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Visualizar em ícones',
- 'DIALOG_FILE_ERROR' : 'Mensagem de erro com arquivo',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Falha na listagem do diretório \'{0}\' por um erro',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Você precisa selecionar um arquivo ou introduzir um nome para o novo arquivo!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Você precisa selecionar um arquivo!',
- 'DIALOG_FILEINFO_TITLE' : 'Informação do arquivo',
- 'DIALOG_FILEINFO_LOADING' : 'Carregando informação do arquivo: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Mensagem de erro sobre informação de arquivo',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Falha em obter informação do arquivo **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Falha em obter informação do arquivo: {0}',
- 'DIALOG_INPUT_TITLE' : 'Diálogo de entrada',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Operação em progresso',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Carregando...',
- 'DIALOG_UPLOAD_TITLE' : 'Janela de Upload',
- 'DIALOG_UPLOAD_DESC' : 'Upload de arquivo **{0}**.
Tamanho máximo: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Fazendo upload \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Fazendo upload do arquivo...',
- 'DIALOG_UPLOAD_FAILED' : 'Upload falhou',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'O upload falhou',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Razão desconhecida...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Cancelado pelo usuário...',
- 'DIALOG_UPLOAD_TOO_BIG': 'O arquivo é muito grande',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'O arqyuvo é muito grande, excede {0}',
- 'DIALOG_FONT_TITLE' : 'Janela de tipografia',
- 'DIALOG_APPCHOOSER_TITLE' : 'Escolher aplicação',
- 'DIALOG_APPCHOOSER_MSG' : 'Escolhar uma aplicação para abrir',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Precisa escolher uma aplicação',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Usar como aplicação padrão para {0}',
- 'GAPI_DISABLED' : 'Módulo do GoogleAPI não está configurado ou está desativado',
- 'GAPI_SIGN_OUT' : 'Desconectar dos serviços do Google API',
- 'GAPI_REVOKE' : 'Retirar permissões e desconectar',
- 'GAPI_AUTH_FAILURE' : 'A tentativa de autenticação com o Google API falhou',
- 'GAPI_AUTH_FAILURE_FMT' : 'Falha ao tentar autenticar: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Não pôde carregar Google API',
- 'WLAPI_DISABLED' : 'Módulo do Windows Live API não está configurado ou está desativado',
- 'WLAPI_SIGN_OUT' : 'Desconectar do Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Falha em carregar Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Falha em conectar ao Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Falha em conectar ao Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API retornou código {0}',
- 'IDB_MISSING_DBNAME' : 'Não é possível criar IndexedDB sem nome do Banco de Dados',
- 'IDB_NO_SUCH_ITEM' : 'Não existe este elemento',
- 'ERR_VFS_FATAL' : 'Erro fatal',
- 'ERR_VFS_UNAVAILABLE' : 'Não está disponível',
- 'ERR_VFS_FILE_ARGS' : 'Arquivo espera ao menos um argumento',
- 'ERR_VFS_NUM_ARGS' : 'Argumentos insuficientes',
- 'ERR_VFS_EXPECT_FILE' : 'Espera ao menos um objeto de arquivo',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Espera ao menos a origem de um objeto de arquivo',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Espera ao menos o destino de um objeto de arquivo',
- 'ERR_VFS_FILE_EXISTS' : 'Destino já existe',
- 'ERR_VFS_TRANSFER_FMT' : 'Um erro ocorreu ao transferir entre discos de armazenamento: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Não é possível fazer upload de arquivo sem destino',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Não é possível fazer upload sem arquivos definidos',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Falha em upload: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Upload foi cancelado',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Não é possível fazer download de destino sem destino',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Ocorreu um erro enquanto fazia download: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Resposta vazia',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Fazendo download de arquivo',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Erro XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'Falha em achar a raiz do diretório',
- 'ERR_VFSMODULE_NOSUCH' : 'Arquivo não existe',
- 'ERR_VFSMODULE_PARENT' : 'Não existe o pai',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Falha em encontrar o pai: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Falhou em localizar o diretório',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Falhou em localizar o diretório: {0}',
- 'ERR_VFSMODULE_READ' : 'Falha em ler o arquivo',
- 'ERR_VFSMODULE_READ_FMT' : 'Falha em ler o arquivo: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Falha em escrever o arquivo',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Falha em escrever o arquivo: {0}',
- 'ERR_VFSMODULE_COPY' : 'Cópia falhou',
- 'ERR_VFSMODULE_COPY_FMT' : 'Cópia falhou: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Falha em desvincular o arquivo',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Falha em desvincular o arquivo: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Falha em mover o arquivo',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Falha em mover o arquivo: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Falha em conferir a existência do arquivo',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Falha em conferir a existência do arquivo: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Falha em obter informação do arquivo',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Falha em obter informação do arquivo: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Falha em criar diretório',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Falha em criar diretório: {0}',
- 'ERR_VFSMODULE_URL' : 'Falha em obter URL do arquivo',
- 'ERR_VFSMODULE_URL_FMT' : 'Falha em obter URL do arquivo: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Falha em mover arquivo para lixeira',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Falha em mover arquivo para lixeira: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Falha em recuperar arquivo da lixeira',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Falha em recuperar arquivo da lixeira: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Falha em esvaziar a lixeira',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Falha em esvaziar a lixeira: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Você logou à API do Dropbox',
- 'DROPBOX_SIGN_OUT' : 'Desconectar dos serviços da API do Google',
- 'ONEDRIVE_ERR_RESOLVE' : 'Falha em encontrar a rota: arquivo não encontrado',
- 'ERR_PACKAGE_EXISTS': 'Diretório de instalação já existe, por favor escolha outro para continuar',
- 'ERR_FILE_APP_OPEN' : 'Não é possível abrir o arquivo',
- 'ERR_FILE_APP_OPEN_FMT' : 'O arquivo {0} não pode ser aberto pois não existe suporte para {1}',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'O arquivo {0} não pode ser aberto',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'O arquivo {0} Não pode ser salvo',
- 'ERR_GENERIC_APP_FMT' : 'O aplicativo encontrou um erro {0}',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Falha em realizar ação \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Erro desconhecido',
- 'ERR_GENERIC_APP_REQUEST' : 'Um erro ocorreu durante sua requisição',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Erro fatal: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Descartar mudanças?',
- 'MSG_FILE_CHANGED' : 'O arquivo sofreu alterações. Recarregar?',
- 'MSG_APPLICATION_WARNING' : 'Advertência do aplicativo',
- 'MSG_MIME_OVERRIDE' : 'A extensão "{0}" não é suportada, usando "{1}".',
- 'LBL_UNKNOWN' : 'Desconhecido',
- 'LBL_APPEARANCE' : 'Aparência',
- 'LBL_USER' : 'Usuário',
- 'LBL_NAME' : 'Nome',
- 'LBL_APPLY' : 'Aplicar',
- 'LBL_FILENAME' : 'Nome do arquivo',
- 'LBL_PATH' : 'Caminho',
- 'LBL_SIZE' : 'Tamanho',
- 'LBL_TYPE' : 'Tipo',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Carregando',
- 'LBL_SETTINGS' : 'Configurações',
- 'LBL_ADD_FILE' : 'Adicionar arquivo',
- 'LBL_COMMENT' : 'Comentário',
- 'LBL_ACCOUNT' : 'Conta',
- 'LBL_CONNECT' : 'Conectar',
- 'LBL_ONLINE' : 'Online',
- 'LBL_OFFLINE' : 'Offline',
- 'LBL_AWAY' : 'Indisponível',
- 'LBL_BUSY' : 'Ocupado',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Ajuda',
- 'LBL_ABOUT' : 'Sobre',
- 'LBL_PANELS' : 'Paineis',
- 'LBL_LOCALES' : 'Internacionalização',
- 'LBL_THEME' : 'Tema',
- 'LBL_COLOR' : 'Cor',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Kill',
- 'LBL_ALIVE' : 'Alive',
- 'LBL_INDEX' : 'Índice',
- 'LBL_ADD' : 'Adicionar',
- 'LBL_FONT' : 'Tipografia',
- 'LBL_YES' : 'Sim',
- 'LBL_NO' : 'Não',
- 'LBL_CANCEL' : 'Cancelar',
- 'LBL_TOP' : 'Acima',
- 'LBL_LEFT' : 'Esquerda',
- 'LBL_RIGHT' : 'Direita',
- 'LBL_BOTTOM' : 'Abaixo',
- 'LBL_CENTER' : 'Centro',
- 'LBL_FILE' : 'Arquivo',
- 'LBL_NEW' : 'Novo',
- 'LBL_OPEN' : 'Abrir',
- 'LBL_SAVE' : 'Salvar',
- 'LBL_SAVEAS' : 'Salvar como...',
- 'LBL_CLOSE' : 'Fechar',
- 'LBL_MKDIR' : 'Criar diretório',
- 'LBL_UPLOAD' : 'Fazer upload',
- 'LBL_VIEW' : 'Visualizar',
- 'LBL_EDIT' : 'Editar',
- 'LBL_RENAME' : 'Renomear',
- 'LBL_DELETE' : 'Excluir',
- 'LBL_OPENWITH' : 'Abrir com...',
- 'LBL_ICONVIEW' : 'Visualização por ícones',
- 'LBL_TREEVIEW' : 'Visualização por árvore',
- 'LBL_LISTVIEW' : 'Visualização por lista',
- 'LBL_REFRESH' : 'Recarregar',
- 'LBL_VIEWTYPE' : 'Ver tipo',
- 'LBL_BOLD' : 'Negrito',
- 'LBL_ITALIC' : 'Itálico',
- 'LBL_UNDERLINE' : 'Sublinhado',
- 'LBL_REGULAR' : 'Regular',
- 'LBL_STRIKE' : 'Rsicado',
- 'LBL_INDENT' : 'Indentar',
- 'LBL_OUTDENT' : 'Voltar',
- 'LBL_UNDO' : 'Desfazer',
- 'LBL_REDO' : 'Refazer',
- 'LBL_CUT' : 'Cortar',
- 'LBL_UNLINK' : 'Desvincular',
- 'LBL_COPY' : 'Copiar',
- 'LBL_PASTE' : 'Colar',
- 'LBL_INSERT' : 'Inserir',
- 'LBL_IMAGE' : 'Imagem',
- 'LBL_LINK' : 'Link',
- 'LBL_DISCONNECT' : 'Desconectar',
- 'LBL_APPLICATIONS' : 'Aplicativos',
- 'LBL_ADD_FOLDER' : 'Adicionar diretório',
- 'LBL_INFORMATION' : 'Informação',
- 'LBL_TEXT_COLOR' : 'Cor do texto',
- 'LBL_BACK_COLOR' : 'Cor de fundo',
- 'LBL_RESET_DEFAULT' : 'Redefinir usando valores padrões',
- 'LBL_DOWNLOAD_COMP' : 'Fazer download para o computador',
- 'LBL_ORDERED_LIST' : 'Lista ordenada',
- 'LBL_BACKGROUND_IMAGE' : 'Imagem de fundo',
- 'LBL_BACKGROUND_COLOR' : 'Cor de fundo',
- 'LBL_UNORDERED_LIST' : 'Lista não ordenada',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Somente leitura',
- 'LBL_CREATED' : 'Criado',
- 'LBL_MODIFIED' : 'Modificado',
- 'LBL_SHOW_COLUMNS' : 'Mostrar colunas',
- 'LBL_MOVE' : 'Mover',
- 'LBL_OPTIONS' : 'Opções',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Diretório',
- 'LBL_CREATE' : 'Criar',
- 'LBL_BUGREPORT' : 'Reportar Bug',
- 'LBL_INSTALL' : 'Instalar',
- 'LBL_UPDATE' : 'Atualizar',
- 'LBL_REMOVE' : 'Remover'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.sk_SK = {
- 'ERR_FILE_OPEN' : 'Chyba pri otváraní súboru',
- 'ERR_WM_NOT_RUNNING' : 'Správca okien nebeží',
- 'ERR_FILE_OPEN_FMT' : 'Súbor \'**{0}**\' sa nedá otvoriť',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Neviem nájsť Aplikáciu pre otvorenie súboru \'{0}\'',
- 'ERR_APP_LAUNCH_FAILED' : 'Chyba pri spúšťaní Aplikácie',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Nastala chyba pri spúšťaní Aplikácie: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Aplikácia \'{0}\' chyba pri konštrukcii: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Aplikácia \'{0}\' chyba pri funkcii init(): {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Aplikácia \'{0}\' chýbajú prostriedky pre spustenie alebo nastala chyba pri zavádzaní!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Aplikácia \'{0}\' chyba pri zavádzaní: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Aplikácia \'{0}\' už beží a je povolená iba jedna inštancia!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Chyba pri spustení \'{0}\'. Súpisné dáta Aplikácie sa nenašli!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Chyba pri spustení \'{0}\'. Váš prehliadač nie je podporovaný: {1}',
- 'ERR_NO_WM_RUNNING' : 'Správca okien nebeží',
- 'ERR_CORE_INIT_FAILED' : 'Chyba pri inicializácii OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Nastala chyba pri inicializácii OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Nemôžem spustiť OS.js: Nie je definovaný žiadny Správca okien!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Nemôžem spustiť OS.js: Chyba pri spúšťaní Správcu okien: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Nemôžem spustiť OS.js: Chyba pri zavádzaní prostriedkov...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Chybová správa JavaScript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Vyskytla sa neočakávaná chyba, možno sa jedná o chybu v programe.',
- 'ERR_APP_API_ERROR' : 'Chyba v API Aplikácie',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Aplikácia {0} chyba pri vykonávaní operácie \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Chýbajúci argument: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Neznáma chyba',
- 'ERR_OPERATION_TIMEOUT' : 'Časový limit vypršal',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Časový limit vypršal ({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'Okno s názvom \'{0}\' už existuje',
- 'WINDOW_MINIMIZE' : 'Minimalizovať',
- 'WINDOW_MAXIMIZE' : 'Maximalizovať',
- 'WINDOW_RESTORE' : 'Obnoviť',
- 'WINDOW_CLOSE' : 'Zatvoriť',
- 'WINDOW_ONTOP_ON' : 'Vždy na vrchu (Zapnúť)',
- 'WINDOW_ONTOP_OFF': 'Vždy na vrchu (Vypnúť)',
- 'TITLE_SIGN_OUT' : 'Odhlásiť sa',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Prihlásený ako: {0}',
- 'MSG_SESSION_WARNING' : 'Ste si istý že chcete opustiť OS.js? Všetky neuložené nastavenia a dáta aplikácii budú vymazané!',
- 'BUGREPORT_MSG' : 'Prosím nahláste túto chybu, ak si myslíte že sa jedná o chybu aplikácie.\nPripojte krátky popis ako k chybe došlo, a ak je to možné informáciu ako ju môžeme zopakovať',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Prihlásený k externej službe: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Fatálna chyba',
- 'ERR_UTILS_XHR_FMT' : 'Chyba AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Odhlásiť sa (Ukončiť)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Odhlásenie užívateľa \'{0}\'.\nŽeláte si uložiť nastavenia?',
- 'DIALOG_CLOSE' : 'Zatvor',
- 'DIALOG_CANCEL': 'Zrušiť',
- 'DIALOG_APPLY' : 'Použiť',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Výstraha',
- 'DIALOG_COLOR_TITLE' : 'Výber farby',
- 'DIALOG_COLOR_R' : 'Červená: {0}',
- 'DIALOG_COLOR_G' : 'Zelená: {0}',
- 'DIALOG_COLOR_B' : 'Modrá: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Potvrdiť',
- 'DIALOG_ERROR_MESSAGE' : 'Správa',
- 'DIALOG_ERROR_SUMMARY' : 'Sumár',
- 'DIALOG_ERROR_TRACE' : 'Stopovanie',
- 'DIALOG_ERROR_BUGREPORT' : 'Nahlásiť chybu',
- 'DIALOG_FILE_SAVE' : 'Uložiť',
- 'DIALOG_FILE_OPEN' : 'Otvoriť',
- 'DIALOG_FILE_MKDIR' : 'Nový adresár',
- 'DIALOG_FILE_MKDIR_MSG' : 'Vytvor nový adresár v **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Ste si istý že chcete nahradiť súbor \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Zobraziť ako',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Zoznam',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Strom',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Ikony',
- 'DIALOG_FILE_ERROR' : 'Chyba pri práci so súborom',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Chyba pri čítaní adresára \'{0}\'',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Vyberte si súbor alebo zadajte meno nového súboru',
- 'DIALOG_FILE_MISSING_SELECTION': 'Vyberte si súbor!',
- 'DIALOG_FILEINFO_TITLE' : 'Informácie o súbore',
- 'DIALOG_FILEINFO_LOADING' : 'Nahrávam informácie o súbore: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Chyba pri získavaní informácií o súbore',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Nie je možné získať informácie o **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Nie je možné získať informácie o súbore: {0}',
- 'DIALOG_INPUT_TITLE' : 'Vstupný dialóg',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Stav práce so súborom',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Nahrávam...',
- 'DIALOG_UPLOAD_TITLE' : 'Nahraj na server',
- 'DIALOG_UPLOAD_DESC' : 'Nahrávam súbor do **{0}**.
Maximálna veľkosť" {1} bajtov',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Nahrávam na server \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Nahrávam súbor na server...',
- 'DIALOG_UPLOAD_FAILED' : 'Nahrávanie na server sa nepodarilo',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Nahrávanie na server sa nepodarilo',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Neznámy dôvod...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Zrušené užívateľom...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Súbor je príliš veľký',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Súbor je príliš veľký, presahuje {0}',
- 'DIALOG_FONT_TITLE' : 'Výber písma',
- 'DIALOG_APPCHOOSER_TITLE' : 'Vyberte Aplikáciu',
- 'DIALOG_APPCHOOSER_MSG' : 'Vyberte Aplikáciu ktorou chcete otvoriť',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Vyberte si aplikáciu',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Použi ako východziu aplikáciu pre {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Modul je vypnutý alebo nie je nakonfigurovaný',
- 'GAPI_SIGN_OUT' : 'Odhlásiť sa z Google API Services',
- 'GAPI_REVOKE' : 'Odobrať práva a odhlásiť',
- 'GAPI_AUTH_FAILURE' : 'Google API autentifikácia sa nepodarila alebo sa neuskutočnila',
- 'GAPI_AUTH_FAILURE_FMT' : 'Nepodarilo sa autentifikovať: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Chyba pri nahrávaní Google API',
- 'WLAPI_DISABLED' : 'Windows Live API modul je vypnutý alebo nie je nakonfigurovaný',
- 'WLAPI_SIGN_OUT' : 'Odhlásiť sa z Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Chyba pri nahrávaní Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Chyba pri prihlasovaní do Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Chyba pri prihlasovaní do Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API vrátil status {0}',
- 'IDB_MISSING_DBNAME' : 'Nemôžem vytvoriť IndexedDB bez mena databázy',
- 'IDB_NO_SUCH_ITEM' : 'Položka neexistuje',
- 'ERR_VFS_FATAL' : 'Fatálna chyba',
- 'ERR_VFS_UNAVAILABLE' : 'Nie je dostupný',
- 'ERR_VFS_FILE_ARGS' : 'Súbor vyžaduje aspoň jeden argument',
- 'ERR_VFS_NUM_ARGS' : 'Málo argumentov',
- 'ERR_VFS_EXPECT_FILE' : 'Očakáva súbor-objekt',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Očakáva zdrojový súbor-objekt',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Očakáva cieľový súbor-objekt',
- 'ERR_VFS_FILE_EXISTS' : 'Cieľ už existuje',
- 'ERR_VFS_TRANSFER_FMT' : 'Nastala chyba počas prenosu medzi úložiskom: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Nemôžem nahrať na server súbor bez špecifikovaného cieľa',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Nemôžem nahrať na server bez špecifikovaných súborov',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Nepodarilo sa nahrať na server: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Nahrávanie na server bolo zrušené',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Nemôžem stiahnuť cestu k súboru',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Nastala chyba pri sťahovaní: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Prázdna odpoveď',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Sťahujem súbor',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Chyba XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'Nepodarilo sa nájsť id hlavného (koreňového) adresára',
- 'ERR_VFSMODULE_NOSUCH' : 'Súbor neexistuje',
- 'ERR_VFSMODULE_PARENT' : 'Nadradený adresár neexistuje',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Nepodarilo sa nájsť nadradený adresár: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Chyba pri čítaní adresára',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Chyba pri čítaní adresára: {0}',
- 'ERR_VFSMODULE_READ' : 'Chyba pri čítaní súboru',
- 'ERR_VFSMODULE_READ_FMT' : 'Chyba pri čítaní súboru: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Chyba pri zápise do súboru',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Chyba pri zápise do súboru: {0}',
- 'ERR_VFSMODULE_COPY' : 'Chyba pri kopírovaní',
- 'ERR_VFSMODULE_COPY_FMT' : 'Chyba pri kopírovaní: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Chyba pri mazaní súboru',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Chyba pri mazaní súboru: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Chyba pri presune súboru',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Chyba pri presune súboru: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Chyba pri overovaní existenciu súboru',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Chyba pri overovaní existenciu súboru: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Chyba pri získavaní informácií o súbore',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Chyba pri získavaní informácií o súbore: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Chyba pri vytváraní adresára',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Chyba pri vytváraní adresára: {0}',
- 'ERR_VFSMODULE_URL' : 'Chyba pri získavaní URL pre súbor',
- 'ERR_VFSMODULE_URL_FMT' : 'Chyba pri získavaní URL pre súbor: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Chyba pri presune súboru do koša',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Chyba pri presune súboru do koša: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Chyba pri presune súboru z koša',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Chyba pri presune súboru z koša: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Chyba pri vysýpaní koša',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Chyba pri vysýpaní koša: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Ste prihlásený do Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Odhlásiť z Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'Chyba v ceste: Položka nebola nájdená',
- 'ERR_PACKAGE_EXISTS': 'Adresár pre inštaláciu balíkov už existuje. Nemôžem pokračovať!',
- 'ERR_FILE_APP_OPEN' : 'Nemôžem otvoriť súbor',
- 'ERR_FILE_APP_OPEN_FMT' : 'Súbor {0} sa nedá otvoriť pretože mime typ {1} nie je podporovaný',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Súbor {0} sa nedá otvoriť',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Súbor {0} sa nedá uložiť',
- 'ERR_GENERIC_APP_FMT' : '{0} Chyba Aplikácie',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Nepodarilo sa uskutočniť akciu \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Neznáma chyba',
- 'ERR_GENERIC_APP_REQUEST' : 'Chyba počas obsluhy Vášho požiadavku',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Fatálna chyba: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Zrušiť zmeny?',
- 'MSG_FILE_CHANGED' : 'Súbor sa zmenil. Chcete zmeny načítať?',
- 'MSG_APPLICATION_WARNING' : 'Varovanie Aplikácie',
- 'MSG_MIME_OVERRIDE' : 'Typ súboru "{0}" nie je podporovaný, použijem "{1}".',
- 'LBL_UNKNOWN' : 'Neznámi',
- 'LBL_APPEARANCE' : 'Výskyt',
- 'LBL_USER' : 'Užívateľ',
- 'LBL_NAME' : 'Meno',
- 'LBL_APPLY' : 'Použiť',
- 'LBL_FILENAME' : 'Názov súboru',
- 'LBL_PATH' : 'Cesta',
- 'LBL_SIZE' : 'Veľkosť',
- 'LBL_TYPE' : 'Typ',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Nahrávam',
- 'LBL_SETTINGS' : 'Nastavenia',
- 'LBL_ADD_FILE' : 'Pridať súbor',
- 'LBL_COMMENT' : 'Komentár',
- 'LBL_ACCOUNT' : 'Účet',
- 'LBL_CONNECT' : 'Pripojiť',
- 'LBL_ONLINE' : 'Prihlásený',
- 'LBL_OFFLINE' : 'Neprihlásený',
- 'LBL_AWAY' : 'Preč',
- 'LBL_BUSY' : 'Zaneprázdnený',
- 'LBL_CHAT' : 'Rozhovor',
- 'LBL_HELP' : 'Pomoc',
- 'LBL_ABOUT' : 'O programe',
- 'LBL_PANELS' : 'Panely',
- 'LBL_LOCALES' : 'Lokalizácie',
- 'LBL_THEME' : 'Témy',
- 'LBL_COLOR' : 'Farba',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Ukončiť',
- 'LBL_ALIVE' : 'živý',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Pridať',
- 'LBL_FONT' : 'Písmo',
- 'LBL_YES' : 'Áno',
- 'LBL_NO' : 'Nie',
- 'LBL_CANCEL' : 'Zrušiť',
- 'LBL_TOP' : 'Hore',
- 'LBL_LEFT' : 'V ľavo',
- 'LBL_RIGHT' : 'V pravo',
- 'LBL_BOTTOM' : 'Dole',
- 'LBL_CENTER' : 'V strede',
- 'LBL_FILE' : 'Súbor',
- 'LBL_NEW' : 'Nový',
- 'LBL_OPEN' : 'Otvoriť',
- 'LBL_SAVE' : 'Uložiť',
- 'LBL_SAVEAS' : 'Uložiť ako...',
- 'LBL_CLOSE' : 'Zatvoriť',
- 'LBL_MKDIR' : 'Vytvor adresár',
- 'LBL_UPLOAD' : 'Nahrať na server',
- 'LBL_VIEW' : 'Zobraziť',
- 'LBL_EDIT' : 'Upraviť',
- 'LBL_RENAME' : 'Premenovať',
- 'LBL_DELETE' : 'Vymazať',
- 'LBL_OPENWITH' : 'Otvoriť pomocou ...',
- 'LBL_ICONVIEW' : 'Ikony',
- 'LBL_TREEVIEW' : 'Strom',
- 'LBL_LISTVIEW' : 'Zoznam',
- 'LBL_REFRESH' : 'Obnoviť',
- 'LBL_VIEWTYPE' : 'Zobraziť ako',
- 'LBL_BOLD' : 'Bold',
- 'LBL_ITALIC' : 'Italic',
- 'LBL_UNDERLINE' : 'Podčiarknuť',
- 'LBL_REGULAR' : 'Regulárny',
- 'LBL_STRIKE' : 'Strike',
- 'LBL_INDENT' : 'Odrážka',
- 'LBL_OUTDENT' : 'Outdate',
- 'LBL_UNDO' : 'Undo',
- 'LBL_REDO' : 'Redo',
- 'LBL_CUT' : 'Vystrihnúť',
- 'LBL_UNLINK' : 'Zrušiť odkaz (URL)',
- 'LBL_COPY' : 'Kopírovať',
- 'LBL_PASTE' : 'Prilepiť',
- 'LBL_INSERT' : 'Vložiť',
- 'LBL_IMAGE' : 'Obrázok',
- 'LBL_LINK' : 'Odkaz (URL)',
- 'LBL_DISCONNECT' : 'Odpojiť',
- 'LBL_APPLICATIONS' : 'Aplikácie',
- 'LBL_ADD_FOLDER' : 'Pridaj adresár',
- 'LBL_INFORMATION' : 'Informácie',
- 'LBL_TEXT_COLOR' : 'Farba textu',
- 'LBL_BACK_COLOR' : 'Farba pozadia',
- 'LBL_RESET_DEFAULT' : 'Obnoviť predvolené nastavenia',
- 'LBL_DOWNLOAD_COMP' : 'Stiahnuť do počítača',
- 'LBL_ORDERED_LIST' : 'Zotriedený zoznam',
- 'LBL_BACKGROUND_IMAGE' : 'Obrázok na pozadí',
- 'LBL_BACKGROUND_COLOR' : 'Farba pozadia',
- 'LBL_UNORDERED_LIST' : 'Nezotriedený zoznam',
- 'LBL_STATUS' : 'Status',
- 'LBL_READONLY' : 'Iba na čítanie',
- 'LBL_CREATED' : 'Vytvorený',
- 'LBL_MODIFIED' : 'Zmenený',
- 'LBL_SHOW_COLUMNS' : 'Ukáž stĺpce',
- 'LBL_MOVE' : 'Presuň',
- 'LBL_OPTIONS' : 'Možnosti',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Adresár',
- 'LBL_CREATE' : 'Vytvoriť',
- 'LBL_BUGREPORT' : 'Bugreport',
- 'LBL_INSTALL' : 'Inštalovať',
- 'LBL_UPDATE' : 'Aktualizovať',
- 'LBL_REMOVE' : 'Odstrániť',
- 'LBL_SHOW_SIDEBAR' : 'Ukáž bočnú lištu'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.vi_VN = {
- 'ERR_FILE_OPEN' : 'Lỗi khi mở tệp',
- 'ERR_WM_NOT_RUNNING' : 'Trình quản lí cửa sổ không hoạt động',
- 'ERR_FILE_OPEN_FMT' : 'Tập tin \'**{0}**\' không mở được',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Không thể tìm thấy bất kỳ ứng dụng hỗ trợ cho \'{0}\' files',
- 'ERR_APP_LAUNCH_FAILED' : 'Không thể khởi động ứng dụng',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Có lỗi xảy ra trong khi cố gắng khởi động: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Phần mềm \'{0}\' xây dựng thất bại: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Phần mềm \'{0}\' init() thất bại: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Tài nguyên ứng dụng còn thiếu cho \'{0}\' hoặc nó không tải được!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Nạp trước phần mềm \'{0}\' thất bại: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'Phần mềm \'{0}\' đã được khởi chạy và chỉ cho phép một hoạt động!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Không thể khởi động \'{0}\'. Application manifest không tìm thấy!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Không thể khởi động\'{0}\'. Trình duyệt của bạn không hỗ trợ: {1}',
- 'ERR_NO_WM_RUNNING' : 'Quản lí cửa sổ không chạy',
- 'ERR_CORE_INIT_FAILED' : 'Không thể khởi động OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Một lỗi đã xảy ra trong khi khởi tạo OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Không thể khởi động OS.js: Không có quản lí cửa sổ nào được xác định!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Không thể khởi động OS.js: Không thể khởi động Window Manager: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Không thể khởi động OS.js: Không thể tải trước tài nguyên...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'Báo cáo lỗi JavaScript',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Một lỗi không mong muốn xảy ra, có thể là một bug.',
- 'ERR_APP_API_ERROR' : 'Lỗi ứng dụng API',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'Phần mềm {0} không thực hiện hoạt động \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Thiếu đối số: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Lỗi không xác định',
- 'ERR_OPERATION_TIMEOUT' : 'Hết thời gian phản hồi',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Hết thời gian phản hồi trong ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' dự kiến \'{1}\' là một \'{2}\',cho \'{3}\'',
- 'ERR_WIN_DUPLICATE_FMT' : 'Bạn đã có một cửa sổ có tên \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Giảm thiểu',
- 'WINDOW_MAXIMIZE' : 'Tối đa hóa',
- 'WINDOW_RESTORE' : 'Khôi phục',
- 'WINDOW_CLOSE' : 'Đóng',
- 'WINDOW_ONTOP_ON' : 'Ở trên (Bật)',
- 'WINDOW_ONTOP_OFF': 'Ở trên (Tắt)',
- 'TITLE_SIGN_OUT' : 'Đăng xuất',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Đăng nhập như: {0}',
- 'ERR_LOGIN_FMT' : 'Đăng nhập thất bại: {0}',
- 'ERR_LOGIN_INVALID' : 'Đăng nhập không hợp lệ',
- 'ERR_NO_SESSION': 'Chưa có phiên chạy nào được tạo bởi máy chủ. Bạn có muốn đăng nhập lại không?',
- 'MSG_SESSION_WARNING' : 'Bạn có muốn thoát khỏi phiên OS.js này? Mọi cài đặt và dữ liệu sẽ bị mất!',
- 'BUGREPORT_MSG' : 'Xin hãy báo lỗi này nếu bạn nghĩ rằng đây là một lỗi.\nHãy viết một mô tả ngắn gọn về lỗi đã xảy ra như thế nào, và nếu có thể, làm cách nào để tái hiện lại nó!',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Đăng nhập vào các dịch vụ bên ngoài: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Lỗi nghiêm trọng',
- 'ERR_UTILS_XHR_FMT' : 'Lỗi AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Đăng xuất (Thoát)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Đăng xuất người dùng \'{0}\'.\nBạn có muốn lưu lại phiên chạy hiện thời?',
- 'DIALOG_CLOSE' : 'Đóng',
- 'DIALOG_CANCEL': 'Hủy',
- 'DIALOG_APPLY' : 'Áp dụng',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Cảnh báo',
- 'DIALOG_COLOR_TITLE' : 'Bảng màu',
- 'DIALOG_COLOR_R' : 'Đỏ: {0}',
- 'DIALOG_COLOR_G' : 'Xanh lá cây: {0}',
- 'DIALOG_COLOR_B' : 'Xanh da trời: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Xác nhận',
- 'DIALOG_ERROR_MESSAGE' : 'Thông điệp',
- 'DIALOG_ERROR_SUMMARY' : 'Tóm tắt',
- 'DIALOG_ERROR_TRACE' : 'Dấu vết',
- 'DIALOG_ERROR_BUGREPORT' : 'Báo cáo lỗi',
- 'DIALOG_FILE_SAVE' : 'Lưu',
- 'DIALOG_FILE_OPEN' : 'Mở',
- 'DIALOG_FILE_MKDIR' : 'Thư mục mới',
- 'DIALOG_FILE_MKDIR_MSG' : 'Tạo một thư mục mới trong **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Bạn có chắc muốn ghi đè lên tập tin \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Kiểu xem',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Danh sách',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Cây',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Biểu tượng',
- 'DIALOG_FILE_ERROR' : 'Lỗi FileDialog',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Không thể liệt kê thư mục \'{0}\' vì đã xảy ra lỗi',
- 'DIALOG_FILE_ERROR_FIND': 'Không thể tìm kiếm trong thư mục \'{0}\' bởi một lỗi đã xảy ra',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Bạn cần phải chọn một tập tin hoặc nhập tên tập tin mới!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Bạn cần phải chọn một tập tin!',
- 'DIALOG_FILEINFO_TITLE' : 'Thông tin tập tin',
- 'DIALOG_FILEINFO_LOADING' : 'Đang tải thông tin tập tin cho: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Lỗi FileInformationDialog',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Không thể có được thông tin tập tin cho **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Không thể có được thông tin tập tin cho: {0}',
- 'DIALOG_INPUT_TITLE' : 'Nhập liệu',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Tiến độ của tập tin',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Đang nạp...',
- 'DIALOG_UPLOAD_TITLE' : 'Tải lên',
- 'DIALOG_UPLOAD_DESC' : 'Tải tập tin lên đến **{0}**.
Kích thước tối đa: {1} byte',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Đang tải lên \'{0}\' ({1} {2}) đến {3}',
- 'DIALOG_UPLOAD_MSG' : 'Đang tải lên tập tin...',
- 'DIALOG_UPLOAD_FAILED' : 'Tải lên thất bại',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Việc tải lên đã thất bại',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Không rõ lý do...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Hủy bỏ bởi người dùng...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Tập tin quá lớn',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Tập tin quá lớn, vượt quá {0}',
- 'DIALOG_FONT_TITLE' : 'Chọn phông',
- 'DIALOG_APPCHOOSER_TITLE' : 'Chọn ứng dụng',
- 'DIALOG_APPCHOOSER_MSG' : 'Chọn một ứng dụng để mở',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Bạn cần phải chọn một ứng dụng',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Sử dụng như là ứng dụng mặc định cho {0}',
- 'GAPI_DISABLED' : 'Mô-đun GoogleAPI không được cấu hình hoặc vô hiệu hóa',
- 'GAPI_SIGN_OUT' : 'Đăng xuất khỏi dịch vụ Google API',
- 'GAPI_REVOKE' : 'Thu hồi giấy phép và Đăng xuất',
- 'GAPI_AUTH_FAILURE' : 'Google API Xác thực không thành công hoặc không diễn ra',
- 'GAPI_AUTH_FAILURE_FMT' : 'Không xác thực được: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Không tải được Google API',
- 'WLAPI_DISABLED' : 'Mô-đun Windows Live API không được cấu hình hoặc vô hiệu',
- 'WLAPI_SIGN_OUT' : 'Đăng xuất khỏi Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Không tải được Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Không thể đăng nhập vào Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Không thể đăng nhập vào Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API gửi lại {0} status',
- 'IDB_MISSING_DBNAME' : 'Không thể tạo IndexedDB mà không có Tên cơ sở dữ liệu',
- 'IDB_NO_SUCH_ITEM' : 'Không có item',
- 'ERR_VFS_FATAL' : 'Lỗi nghiêm trọng',
- 'ERR_VFS_UNAVAILABLE' : 'Không khả dụng',
- 'ERR_VFS_FILE_ARGS' : 'Tập cần ít nhất một tham số',
- 'ERR_VFS_NUM_ARGS' : 'Không đủ đối số',
- 'ERR_VFS_EXPECT_FILE' : 'Cần một file-object',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Cần một nguồn file-object',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Cần một điểm đến file-object',
- 'ERR_VFS_FILE_EXISTS' : 'Điểm đến đã tồn tại',
- 'ERR_VFS_TARGET_NOT_EXISTS': 'Mục tiêu không tồn tại',
- 'ERR_VFS_TRANSFER_FMT' : 'Có lỗi xảy ra trong khi chuyển giao lưu trữ tới ổ cứng: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Không thể tải lên một tập tin mà không có một điểm đến',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Không thể tải lên bất kỳ tập tin mà không có định nghĩa',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Tải lên không thành công: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Quá trình tải lên đã bị hủy bỏ',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Không thể tải về một đường dẫn mà không có một đường dẫn',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Một lỗi đã xảy ra trong khi tải về: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Không có phản hồi',
- 'ERR_VFSMODULE_INVALID' : 'Invalid VFS Module',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Invalid VFS Module: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'Không có mô đun VFS nào khớp với {0}. Sai đường dẫn hoặc định dạng ?',
- 'ERR_VFSMODULE_READONLY' : 'Mô đun VFS này là chỉ đọc',
- 'ERR_VFSMODULE_READONLY_FMT' : 'Mô đun VFS này là chỉ đọc: {0}',
- 'ERR_VFSMODULE_EXCEPTION' : 'Lỗi mô-đun VFS',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'Lỗi mô-đun VFS: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Sai phương thức VFS',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Sai phương thức VFS: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Sai kiểu mô-đun VFS',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Sai kiểu mô-đun VFS: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Sai thiết lập mô-đun VFS',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Sai thiết lập mô-đun VFS: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'Mô-đun VFS đã được gắn',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'Mô-đun VFS \'{0}\' đã được gắn',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'Mô-đun VFS chưa được gắn',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'Mô-đun VFS \'{0}\' chưa được gắn',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Đang tải xuống tập tin',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Lỗi XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'Không thể tìm thấy id thư mục gốc',
- 'ERR_VFSMODULE_NOSUCH' : 'Tập tin không tồn tại',
- 'ERR_VFSMODULE_PARENT' : 'Không có thư mục cha nào như vậy',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Không thể tìm thư mục cha : {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Không thể quét thư mục',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Không thể quét thư mục: {0}',
- 'ERR_VFSMODULE_READ' : 'Không thể đọc tập tin',
- 'ERR_VFSMODULE_READ_FMT' : 'Không thể đọc tập tin: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Không thể ghi tập tin',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Không thể ghi tập tin: {0}',
- 'ERR_VFSMODULE_COPY' : 'Không thể sao chép',
- 'ERR_VFSMODULE_COPY_FMT' : 'Không thể sao chép: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Không thể bỏ liên kết tập tin',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Không thể bỏ liên kết tập tin: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Không thể di chuyển tập tin',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Không thể di chuyển tập tin: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Không thể kiểm tra sự tồn tại của tập tin',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Không thể kiểm tra sự tồn tại của tập tin: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Không thể lấy thông tin file',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Không thể lấy thông tin file: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Không thể tạo thư mục',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Không thể tạo thư mục: {0}',
- 'ERR_VFSMODULE_MKFILE' : 'Không thể tạo tập tin',
- 'ERR_VFSMODULE_MKFILE_FMT' : 'Không thể tạo tập tin: {0}',
- 'ERR_VFSMODULE_URL' : 'Không thể lấy URL cho file',
- 'ERR_VFSMODULE_URL_FMT' : 'Không thể lấy URL cho file: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Không thể di chuyển tập tin vào thùng rác',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Không thể di chuyển tập tin vào thùng rác: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Không thể di chuyển tập tin ra khỏi thùng rác',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Không thể di chuyển tập tin ra khỏi thùng rác: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Không thể làm rỗng thùng rác',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Không thể làm rỗng thùng rác : {0}',
- 'ERR_VFSMODULE_FIND' : 'Không thể tìm kiếm',
- 'ERR_VFSMODULE_FIND_FMT' : 'Lỗi khi tìm kiếm: {0}',
- 'ERR_VFSMODULE_FREESPACE' : 'Không thể làm sạch bộ nhớ',
- 'ERR_VFSMODULE_FREESPACE_FMT' : 'Lỗi khi làm sạch bộ nhớ: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Bạn đã đăng nhập vào Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Đăng xuất khỏi dịch vụ Google API',
- 'ONEDRIVE_ERR_RESOLVE' : 'Không thể giải quyết đường dẫn: mục không tìm thấy',
- 'ZIP_PRELOAD_FAIL' : 'Không thể tải zip.js',
- 'ZIP_VENDOR_FAIL' : 'Không tìm thấy zip.js, bạn có chắc chắn đã thiết lập nó chưa?',
- 'ZIP_NO_RESOURCE' : 'Không có nguồn zip đã được đưa ra',
- 'ZIP_NO_PATH' : 'Không có đường dẫn',
- 'SEARCH_LOADING': 'Đang tìm kiếm...',
- 'SEARCH_NO_RESULTS': 'Không có kết quả',
- 'ERR_PACKAGE_EXISTS': 'Thư mục cài đặt gói phần mềm đã tồn tại. Không thể tiếp tục!',
- 'ERR_FILE_APP_OPEN' : 'Không thể mở tập tin',
- 'ERR_FILE_APP_OPEN_FMT' : 'Tập tin {0} không thể mở được vì mime {1} không được hỗ trợ',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Tập tin {0} không mở được',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Tập tin {0} không lưu được',
- 'ERR_GENERIC_APP_FMT' : '{0} Lỗi phần mềm',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Không thể thực hiện hành động \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Lỗi không xác định',
- 'ERR_GENERIC_APP_REQUEST' : 'Một lỗi đã xảy ra trong khi xử lý yêu cầu của bạn',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Lỗi nghiêm trọng: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Hủy các thay đổi?',
- 'MSG_FILE_CHANGED' : 'Các tập tin đã thay đổi. Nạp lại?',
- 'MSG_APPLICATION_WARNING' : 'Cảnh báo ứng dụng',
- 'MSG_MIME_OVERRIDE' : 'Loại tập tin "{0}" không được hỗ trợ, sử dụng "{1}" thay thế.',
- 'LBL_UNKNOWN' : 'Không biết',
- 'LBL_APPEARANCE' : 'Giao diện',
- 'LBL_USER' : 'Người dùng',
- 'LBL_NAME' : 'Tên',
- 'LBL_APPLY' : 'Áp dụng',
- 'LBL_FILENAME' : 'Tên tệp',
- 'LBL_PATH' : 'Đường dẫn',
- 'LBL_SIZE' : 'Kích cỡ',
- 'LBL_TYPE' : 'Kiểu',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Đang tải',
- 'LBL_SETTINGS' : 'Cài đặt',
- 'LBL_ADD_FILE' : 'Thêm tệp',
- 'LBL_COMMENT' : 'Chú thích',
- 'LBL_ACCOUNT' : 'Tài khoản',
- 'LBL_CONNECT' : 'Kết nối',
- 'LBL_ONLINE' : 'Trực tuyến',
- 'LBL_OFFLINE' : 'Ngoại tuyến',
- 'LBL_AWAY' : 'Ở xa',
- 'LBL_BUSY' : 'Bận',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Hướng dẫn',
- 'LBL_ABOUT' : 'Thông tin',
- 'LBL_PANELS' : 'Panels',
- 'LBL_LOCALES' : 'Ngôn ngữ',
- 'LBL_THEME' : 'Giao diện',
- 'LBL_COLOR' : 'Màu',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Đóng',
- 'LBL_ALIVE' : 'Còn sống',
- 'LBL_INDEX' : 'Chỉ mục',
- 'LBL_ADD' : 'Thêm',
- 'LBL_FONT' : 'Phông',
- 'LBL_YES' : 'Có',
- 'LBL_NO' : 'Không',
- 'LBL_CANCEL' : 'Hủy bỏ',
- 'LBL_TOP' : 'Trên',
- 'LBL_LEFT' : 'Trái',
- 'LBL_RIGHT' : 'Phải',
- 'LBL_BOTTOM' : 'Dưới',
- 'LBL_CENTER' : 'Giữa',
- 'LBL_FILE' : 'Tệp',
- 'LBL_NEW' : 'Mới',
- 'LBL_OPEN' : 'Mở',
- 'LBL_SAVE' : 'Lưu',
- 'LBL_SAVEAS' : 'Lưu như...',
- 'LBL_CLOSE' : 'Đóng',
- 'LBL_MKDIR' : 'Tạo thư mục',
- 'LBL_UPLOAD' : 'Tải lên',
- 'LBL_VIEW' : 'Xem',
- 'LBL_EDIT' : 'Chỉnh sửa',
- 'LBL_RENAME' : 'Đổi tên',
- 'LBL_DELETE' : 'Xóa',
- 'LBL_OPENWITH' : 'Mở với...',
- 'LBL_ICONVIEW' : 'Biểu tượng',
- 'LBL_TREEVIEW' : 'Cây',
- 'LBL_LISTVIEW' : 'Danh sách',
- 'LBL_REFRESH' : 'Làm mới',
- 'LBL_VIEWTYPE' : 'Kiểu xem',
- 'LBL_BOLD' : 'In đậm',
- 'LBL_ITALIC' : 'In Ngiêng',
- 'LBL_UNDERLINE' : 'Gạch dưới',
- 'LBL_REGULAR' : 'Bình thường',
- 'LBL_STRIKE' : 'Gạch ngang',
- 'LBL_INDENT' : 'Thụt về',
- 'LBL_OUTDENT' : 'Quá hạn',
- 'LBL_UNDO' : 'Trở lại',
- 'LBL_REDO' : 'Làm lại',
- 'LBL_CUT' : 'Cắt',
- 'LBL_UNLINK' : 'Hủy liên kết',
- 'LBL_COPY' : 'Sao chép',
- 'LBL_PASTE' : 'Dán',
- 'LBL_INSERT' : 'Chèn',
- 'LBL_IMAGE' : 'Ảnh',
- 'LBL_LINK' : 'Liên kết',
- 'LBL_DISCONNECT' : 'Mất kết nối',
- 'LBL_APPLICATIONS' : 'Các ứng dụng',
- 'LBL_ADD_FOLDER' : 'Thêm thư mục',
- 'LBL_INFORMATION' : 'Thông tin',
- 'LBL_TEXT_COLOR' : 'Màu chữ',
- 'LBL_BACK_COLOR' : 'Màu nền',
- 'LBL_RESET_DEFAULT' : 'Khôi phục về mặc định',
- 'LBL_DOWNLOAD_COMP' : 'Tải về máy',
- 'LBL_ORDERED_LIST' : 'Danh sách có thứ tự',
- 'LBL_BACKGROUND_IMAGE' : 'Ảnh nền',
- 'LBL_BACKGROUND_COLOR' : 'Màu nền',
- 'LBL_UNORDERED_LIST' : 'Danh sách không có thứ tự',
- 'LBL_STATUS' : 'Trạng thái',
- 'LBL_READONLY' : 'Chỉ đọc',
- 'LBL_CREATED' : 'Tạo lúc',
- 'LBL_MODIFIED' : 'Sửa lúc',
- 'LBL_SHOW_COLUMNS' : 'Hiện các cột',
- 'LBL_MOVE' : 'Di chuyển',
- 'LBL_OPTIONS' : 'Tùy chọn',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Thư mục',
- 'LBL_CREATE' : 'Tạo',
- 'LBL_BUGREPORT' : 'Báo lỗi',
- 'LBL_INSTALL' : 'Cài đặt',
- 'LBL_UPDATE' : 'Cập nhật',
- 'LBL_REMOVE' : 'Gỡ bỏ',
- 'LBL_SHOW_SIDEBAR' : 'Hiện thanh bên',
- 'LBL_SHOW_NAVIGATION' : 'Hiện nút điều hướng',
- 'LBL_SHOW_HIDDENFILES' : 'Hiện tập tin ẩn',
- 'LBL_SHOW_FILEEXTENSIONS' : 'Hiện đuôi tập tin',
- 'LBL_MOUNT': 'Gắn',
- 'LBL_DESCRIPTION': 'Mô tả',
- 'LBL_USERNAME': 'Tên người dùng',
- 'LBL_PASSWORD': 'Mật khẩu',
- 'LBL_HOST': 'Host',
- 'LBL_NAMESPACE': 'Namespace',
- 'LBL_SEARCH': 'Tìm kiếm',
- 'LBL_BACKGROUND' : 'Ảnh nền',
- 'LBL_DESKTOP' : 'Màn hình chính',
- 'LBL_PANEL' : 'Khung',
- 'LBL_POSITION' : 'Vị trí',
- 'LBL_ONTOP' : 'Ở trên',
- 'LBL_ITEMS' : 'Các mục',
- 'LBL_AUTOHIDE' : 'Tự động ẩn',
- 'LBL_OPACITY' : 'Độ trong suốt',
- 'LBL_GROUPS' : 'Nhóm',
- 'LBL_VERSION' : 'Phiên bản',
- 'LBL_AUTHOR' : 'Tác giả',
- 'LBL_HIDE' : 'Ẩn',
- 'LBL_APPLICATION' : 'Phần mềm',
- 'LBL_SCOPE' : 'Phạm vi',
- 'LBL_GENERAL': 'Tổng quát',
- 'LBL_PERSONAL': 'Cá nhân',
- 'LBL_SYSTEM': 'Hệ thống',
- 'LBL_STARTING': 'Đang khởi động',
- 'LBL_SOUNDS': 'Âm thanh',
- 'LBL_STORE': 'Chợ ứng dụng',
- 'LBL_LOCALE': 'Ngôn ngữ',
- 'LBL_PACKAGE': 'Phần mềm',
- 'LBL_PACKAGES': 'Các phần mềm',
- 'LBL_INPUT': 'Đầu vào',
- 'LBL_MISC': 'Linh tinh',
- 'LBL_OTHER': 'Khác',
- 'LBL_USERS': 'Người dùng',
- 'LBL_FONTS': 'Phông'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.tr_TR = {
- 'ERR_FILE_OPEN' : 'Dosya açılırken hata oluştu',
- 'ERR_WM_NOT_RUNNING' : 'Window manager çalışır halde değil',
- 'ERR_FILE_OPEN_FMT' : '\'**{0}**\' dosya açılamadı',
- 'ERR_APP_MIME_NOT_FOUND_FMT': ' \'{0}\' dosyalarını destekleyen herhangi bir program bulunamadı',
- 'ERR_APP_LAUNCH_FAILED' : 'Program açılırken hata oluştun',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Dosyanın açılmaya çalışıldığı sırada br hata meydana geldi: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : ' \'{0}\' programının inşası sırasında bir hata oluştu: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : ' \'{0}\' programında init() hatası: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : ' \'{0}\' dosyasında kaynak dosyası eksik ya da yüklenirken hata oluştu!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : ' \'{0}\' programında önyükleme hatası: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : '\'{0}\' programı zaten açık.Aynı anda yalnızca bir kez kullanabilirsiniz.',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : ' \'{0}\' açılamadı. Program bulunamadı!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : ' \'{0}\' açılamadı. Tarayıcınız deskteklemiyor: {1}',
- 'ERR_NO_WM_RUNNING' : 'Çalışan bir pencere bulunamadı',
- 'ERR_CORE_INIT_FAILED' : ' OS.js başlatılma hatası',
- 'ERR_CORE_INIT_FAILED_DESC' : ' OS.js başlatılırken bir hata meydana geldi',
- 'ERR_CORE_INIT_NO_WM' : 'Cannot launch OS.js: No window manager defined!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'OS.js başlatılamaz: Window Manager yüklenirken hata oluştu: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : ' OS.js başlatılamaz: Kaynakların önyükleme işlemi sırasında hata oluştu...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Hata Bildir',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Beklenmedik bir hata meydana geldi.',
- 'ERR_APP_API_ERROR' : 'Program API hatası',
- 'ERR_APP_API_ERROR_DESC_FMT' : '{0} programı \'{1}\' işlemini gerçekleşirken hata oluştu',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Gözden kaçırdığınız değişken: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Bilinmeyen bir hata',
- 'ERR_OPERATION_TIMEOUT' : 'Zaman aşımına ugradı',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Zaman aşımı({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'Zaten \'{0}\' adına sahip bir pencere var',
- 'WINDOW_MINIMIZE' : 'Küçült',
- 'WINDOW_MAXIMIZE' : 'Büyült',
- 'WINDOW_RESTORE' : 'geri yükle',
- 'WINDOW_CLOSE' : 'Kapat',
- 'WINDOW_ONTOP_ON' : 'en üstte (aktif)',
- 'WINDOW_ONTOP_OFF': 'en üstte (aktif değil)',
- 'TITLE_SIGN_OUT' : 'Çıkış Yap',
- 'TITLE_SIGNED_IN_AS_FMT' : '{0} olarak giriş yap',
- 'MSG_SESSION_WARNING' : 'OS.jsda çıkmak istedigine emin misin? Kaydedilmemiş tüm veriler silinecek!',
- 'BUGREPORT_MSG' : 'Hata olduğunu düşünüyorsan lütfen bizimle irtibata geç.\nHatanın nasıl oluştuğunu kısa bir şekilde yaz ve eğer yapabiliyorsan bir kopyasını bize gönder',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Harici bir servise girildi: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Ölümcül Hata',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR Hatası: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Oturumu Kapat (Çıkış)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Oturum Kapatılıyor user \'{0}\'.\nKaydetmek ister misin?',
- 'DIALOG_CLOSE' : 'Kapat',
- 'DIALOG_CANCEL': 'İptal',
- 'DIALOG_APPLY' : 'Uygula',
- 'DIALOG_OK' : 'Tamam',
- 'DIALOG_ALERT_TITLE' : 'Uyarı Penceresi',
- 'DIALOG_COLOR_TITLE' : 'Renk Penceresi',
- 'DIALOG_COLOR_R' : 'Kırmızı: {0}',
- 'DIALOG_COLOR_G' : 'Yeşil: {0}',
- 'DIALOG_COLOR_B' : 'Mavi: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Onay Penceresi',
- 'DIALOG_ERROR_MESSAGE' : 'Mesaj',
- 'DIALOG_ERROR_SUMMARY' : 'Özet',
- 'DIALOG_ERROR_TRACE' : 'İzle',
- 'DIALOG_ERROR_BUGREPORT' : ' Hata bildir',
- 'DIALOG_FILE_SAVE' : 'Kaydet',
- 'DIALOG_FILE_OPEN' : 'Aç',
- 'DIALOG_FILE_MKDIR' : 'Yeni Klasör',
- 'DIALOG_FILE_MKDIR_MSG' : '**{0}**da yeni bir Klasör oluştur',
- 'DIALOG_FILE_OVERWRITE' : 'Dosyanın üzerine yazmak konusunda emin misin \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Görünüm Seçenekleri',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Liste Görünümü',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Tree Görünümü',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Icon Görünümü',
- 'DIALOG_FILE_ERROR' : 'Dosya Penceresi Hatası',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Bir hatadan dolayı \'{0}\' dosyaları listelenemedi',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Bir dosya seçmeli veya yeni bir dosya ismi girmelisin!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Bir dosya seçmelisin!',
- 'DIALOG_FILEINFO_TITLE' : 'Dosya Bilgileri',
- 'DIALOG_FILEINFO_LOADING' : 'Dosya bilgileri yükleniyor: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Dosya Bilgi Penceresi Hatası',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : ' **{0}** hakkında bilgi alınırken hata meydana geldi',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : '{0} Hakkında bilgi alınırken hata meydana geldi',
- 'DIALOG_INPUT_TITLE' : 'Giriş Penceresi',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Dosya İşlemlerinin İlerleme Durumu',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Yükleniyor...',
- 'DIALOG_UPLOAD_TITLE' : 'Yükleme Penceresi',
- 'DIALOG_UPLOAD_DESC' : 'Yükle **{0}**.
Maksimum boyut: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Yükleniyor \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'Yükleniyor...',
- 'DIALOG_UPLOAD_FAILED' : 'Yükleme başarısız oldu',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Yükleme başarısız oldu',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'bilinmeyen bir sebepten dolayı hata oluştu...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Kullanıcı tarafından iptal edildi...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Dosya Boyutu çok fazla',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Dosya Boyutu çok fazla, {0} sınırını aştı',
- 'DIALOG_FONT_TITLE' : 'Yazı Tipi Penceresi',
- 'DIALOG_APPCHOOSER_TITLE' : 'Program Seç',
- 'DIALOG_APPCHOOSER_MSG' : 'Açmak İçin Bir Program Seçiniz',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Bir Program Seçmeniz Gerek',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : ' {0} için varsayılan bir program seçiniz',
- 'GAPI_DISABLED' : 'GoogleAPI Modulü inaktif veya kurulu değil',
- 'GAPI_SIGN_OUT' : 'Google API Services uygulamasında çık',
- 'GAPI_REVOKE' : 'İzinleri İptal Et ve Çık',
- 'GAPI_AUTH_FAILURE' : 'Google API Kimlik Doğrulama Hatası',
- 'GAPI_AUTH_FAILURE_FMT' : 'Kimlik Doğrulama Hatası: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Google API yüklenemedi',
- 'WLAPI_DISABLED' : 'Windows Live API inaktif veya kurulu değil',
- 'WLAPI_SIGN_OUT' : 'Window Live API uygulamasında çık',
- 'WLAPI_LOAD_FAILURE' : 'Windows Live API yüklenirken hata oluştu',
- 'WLAPI_LOGIN_FAILED' : 'Windows Live APIe girerken hata oluştu',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Windows Live APIe girerken hata oluştu: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API {0} hatası verdi',
- 'IDB_MISSING_DBNAME' : 'Veritabanı ismi olmadan IndexedDB Oluşturulamaz',
- 'IDB_NO_SUCH_ITEM' : 'Öge mevcut değil',
- 'ERR_VFS_FATAL' : 'Ölümcül Hata',
- 'ERR_VFS_UNAVAILABLE' : 'Kullanılamaz',
- 'ERR_VFS_FILE_ARGS' : 'Dosyaya en az bir değişken girilmeli',
- 'ERR_VFS_NUM_ARGS' : 'Yeyersiz Değişken',
- 'ERR_VFS_EXPECT_FILE' : 'Dosya Bekleniyordu',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Kaynak Kod Dosyası Bekleniyordu',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Hedef Dosyası Bekleniyordu',
- 'ERR_VFS_FILE_EXISTS' : 'Hedef Dosyası Zaten Mevcut',
- 'ERR_VFS_TRANSFER_FMT' : 'depo ile {0} arasında aktarım sırasında bir hata meydana geldi',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Hedef Dosyası olmadan yükleme yapılamaz',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Dosya tanımlamadan yükleme yapılamaz',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Dosya yükleme hatası: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Dosya yükleme iptal edildi',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Hedef belli değilken dosya indirilemez',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'İndirilme sırasında bir hata meydana geldi: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'Geri Dönüş Boş',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Dosya İndiriliyor',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR Hatası',
- 'ERR_VFSMODULE_ROOT_ID' : 'Root idsi bulunamadı',
- 'ERR_VFSMODULE_NOSUCH' : 'Dosya kullanımda değil',
- 'ERR_VFSMODULE_PARENT' : 'Üst Öge Bulunmuyors',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Üst Öge aranırken hata oluştu: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Klasör Görüntülenirken Hata Meydana Geldi',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Klasör Görüntülenirken Hata Meydana Geldi: {0}',
- 'ERR_VFSMODULE_READ' : 'Dosya Okunurken Hata oluştu',
- 'ERR_VFSMODULE_READ_FMT' : 'Dosya Okunurken Hata oluştu: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Dosyaya yazılırken Hata oluştu',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Dosyaya yazılırken Hata oluştu: {0}',
- 'ERR_VFSMODULE_COPY' : 'Kopyalanırken Hata meydana geldi.',
- 'ERR_VFSMODULE_COPY_FMT' : 'Kopyalanırken Hata meydana geldi: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Bağlantısız Dosya',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Bağlantısız Dosya: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Dosya Taşınırken Hata Oluştu',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Dosya Taşınırken Hata Oluştu: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Dosyanın varlığı teyit edilirken hata meydana geldi',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Dosyanın varlığı teyit edilirken hata meydana geldi: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Dosya Hakkında Bilgi Toplanırken Hata Oluştu',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Dosya Hakkında Bilgi Toplanırken Hata Oluştu: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Klasör Oluşturulurken Hata Oluştu',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Klasör Oluşturulurken Hata Oluştu: {0}',
- 'ERR_VFSMODULE_URL' : 'Dosyanın url adresi getirilirken hata meydana geldi',
- 'ERR_VFSMODULE_URL_FMT' : 'Dosyanın url adresi getirilirken hata meydana geldi: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Çöp Kutusuna Taşınırken Hata Oluştu',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Çöp Kutusuna Taşınırken Hata Oluştu: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Çöp Kutusundan Çıkarılırken Hata Meydana Geldi',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Çöp Kutusundan Çıkarılırken Hata Meydana Geldi: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Çöpü boşaltırken hata meydana geldi',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Çöpü boşaltırken hata meydana geldi: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Dropbox APIya girdiniz',
- 'DROPBOX_SIGN_OUT' : 'Google API servisi oturumunu kapat',
- 'ONEDRIVE_ERR_RESOLVE' : 'Öge bulunamadı',
- 'ERR_PACKAGE_EXISTS': 'Paketlenecek yer zaten mevcut.Yine de devam etmek istiyor musun?',
- 'ERR_FILE_APP_OPEN' : 'Dosya Açılamadı',
- 'ERR_FILE_APP_OPEN_FMT' : '{0} dosyası açılmadı çünkü {1} desteklenmiyor',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : '{0} dosyası açılamadı',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : '{0} dosyası kaydedilemedi',
- 'ERR_GENERIC_APP_FMT' : '{0} program hatası',
- 'ERR_GENERIC_APP_ACTION_FMT': ' \'{0}\' gerçekleşirken hata oluştu',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Bilinmeyen Hata',
- 'ERR_GENERIC_APP_REQUEST' : 'İstek cevaplanırken bir hata meydana geldi.',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Ölümcül Hata: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Değişiklikleri Çıkar?',
- 'MSG_FILE_CHANGED' : 'Dosya değişmiş.Tekrar yüklemek ister misin?',
- 'MSG_APPLICATION_WARNING' : 'Program Uyarısı',
- 'MSG_MIME_OVERRIDE' : ' "{0}" türü desteklenmiyor :( .Bunun yerine "{1}" kullanının.',
- 'LBL_UNKNOWN' : 'Bilinmiyor',
- 'LBL_APPEARANCE' : 'Görünüm',
- 'LBL_USER' : 'Kullanıcı',
- 'LBL_NAME' : 'İsim',
- 'LBL_APPLY' : 'Uygula',
- 'LBL_FILENAME' : 'Dosya adı',
- 'LBL_PATH' : 'Dosya yolu',
- 'LBL_SIZE' : 'Boyut',
- 'LBL_TYPE' : 'Tür',
- 'LBL_MIME' : 'MIME', //Eklenecektir
- 'LBL_LOADING' : 'Yükleniyor',
- 'LBL_SETTINGS' : 'Ayarlar',
- 'LBL_ADD_FILE' : 'Dosya ekle',
- 'LBL_COMMENT' : 'Yorum',
- 'LBL_ACCOUNT' : 'Hesap',
- 'LBL_CONNECT' : 'Bağlan',
- 'LBL_ONLINE' : 'Aktif',
- 'LBL_OFFLINE' : 'Aktif değil',
- 'LBL_AWAY' : 'Yolda',
- 'LBL_BUSY' : 'Meşgul',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Yardım',
- 'LBL_ABOUT' : 'Hakkında',
- 'LBL_PANELS' : 'Panels',
- 'LBL_LOCALES' : 'Yerler',
- 'LBL_THEME' : 'Tema',
- 'LBL_COLOR' : 'Renk',
- 'LBL_PID' : 'Kişisel Kimlik',
- 'LBL_KILL' : 'Kes',
- 'LBL_ALIVE' : 'Alive',
- 'LBL_INDEX' : 'Index',
- 'LBL_ADD' : 'Ekle',
- 'LBL_FONT' : 'Yazı Tipi',
- 'LBL_YES' : 'Evet',
- 'LBL_NO' : 'Hayır',
- 'LBL_CANCEL' : 'İptal',
- 'LBL_TOP' : 'Üst',
- 'LBL_LEFT' : 'Sol',
- 'LBL_RIGHT' : 'Sağ',
- 'LBL_BOTTOM' : 'Alt',
- 'LBL_CENTER' : 'Orta',
- 'LBL_FILE' : 'Dosya',
- 'LBL_NEW' : 'Yeni',
- 'LBL_OPEN' : 'Aç',
- 'LBL_SAVE' : 'Kaydet',
- 'LBL_SAVEAS' : '-olarak kaydet...',
- 'LBL_CLOSE' : 'Kapat',
- 'LBL_MKDIR' : 'Klasör oluştur',
- 'LBL_UPLOAD' : 'Yükle',
- 'LBL_VIEW' : 'Görünüm',
- 'LBL_EDIT' : 'Düzenle',
- 'LBL_RENAME' : 'İsmi Değiştir',
- 'LBL_DELETE' : 'Sil',
- 'LBL_OPENWITH' : '-ile aç ...',
- 'LBL_ICONVIEW' : 'icon görünüm',
- 'LBL_TREEVIEW' : 'Tree View',
- 'LBL_LISTVIEW' : 'Liste Görünüm',
- 'LBL_REFRESH' : 'Yenile',
- 'LBL_VIEWTYPE' : 'Görünüm Türü',
- 'LBL_BOLD' : 'Kalım',
- 'LBL_ITALIC' : 'İtalik',
- 'LBL_UNDERLINE' : 'Altı Çizili',
- 'LBL_REGULAR' : 'Düzenli',
- 'LBL_STRIKE' : 'Vurgulu',
- 'LBL_INDENT' : 'Indent', //eklenecek
- 'LBL_OUTDENT' : 'Outdate', //eklenecek
- 'LBL_UNDO' : 'Geri Al',
- 'LBL_REDO' : 'İleri Al',
- 'LBL_CUT' : 'Kes',
- 'LBL_UNLINK' : 'Bağlantıyı Kaldır',
- 'LBL_COPY' : 'Kopyala',
- 'LBL_PASTE' : 'Yapıştır',
- 'LBL_INSERT' : 'Araya Ekle',
- 'LBL_IMAGE' : 'Resim',
- 'LBL_LINK' : 'Link',
- 'LBL_DISCONNECT' : 'Bağlantıyı Kes',
- 'LBL_APPLICATIONS' : 'Programlar',
- 'LBL_ADD_FOLDER' : 'Klasör Ekle',
- 'LBL_INFORMATION' : 'Bilgi',
- 'LBL_TEXT_COLOR' : 'Yazı Rengi',
- 'LBL_BACK_COLOR' : 'Zemin Rengi',
- 'LBL_RESET_DEFAULT' : 'Reset to defaults',
- 'LBL_DOWNLOAD_COMP' : 'Bilgisayara İndir',
- 'LBL_ORDERED_LIST' : 'Sıralı Liste',
- 'LBL_BACKGROUND_IMAGE' : 'Arkaplan Resmi',
- 'LBL_BACKGROUND_COLOR' : 'Arkaplan Rengi',
- 'LBL_UNORDERED_LIST' : 'Sırasız Liste',
- 'LBL_STATUS' : 'Durum',
- 'LBL_READONLY' : 'Sadece Oku',
- 'LBL_CREATED' : 'Oluşturulma Tarihi',
- 'LBL_MODIFIED' : 'Değiştirilme Tarihi',
- 'LBL_SHOW_COLUMNS' : 'Sütunları Göster',
- 'LBL_MOVE' : 'Taşı',
- 'LBL_OPTIONS' : 'Ayarlar',
- 'LBL_OK' : 'Tamam',
- 'LBL_DIRECTORY' : 'Klasör',
- 'LBL_CREATE' : 'oluştur',
- 'LBL_BUGREPORT' : 'Hata Bildir',
- 'LBL_INSTALL' : 'Yükle',
- 'LBL_UPDATE' : 'Güncelle',
- 'LBL_REMOVE' : 'Kaldır',
- 'LBL_SHOW_SIDEBAR' : 'Kenar çubuğunu göster',
- 'LBL_BACKGROUND' : 'arkaplan',
- 'LBL_DESKTOP' : 'masaüstü',
- 'LBL_PANEL' : 'Panel',
- 'LBL_POSITION' : 'pozisyon',
- 'LBL_ONTOP' : 'en üst',
- 'LBL_ITEMS' : 'nesneler',
- 'LBL_GENERAL' : 'genel'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.it_IT = {
- 'ERR_FILE_OPEN' : 'Errore durante l\'apertura del file',
- 'ERR_WM_NOT_RUNNING' : 'Windows manager non in esecuzione',
- 'ERR_FILE_OPEN_FMT' : 'Il file \'**{0}**\' non può essere aperto',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'Nessuna applicazione che supporta il tipo di file \'{0}\' è stata trovata',
- 'ERR_APP_LAUNCH_FAILED' : 'Avvio Applicazione fallito',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'Si è verificato un errore durante l\'avvio di : {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'Applicazione \'{0}\' construct failed: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'Applicazione \'{0}\', init() fallito: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'Applicazione resources missing for \'{0}\' or it failed to load!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'Applicazione \'{0}\' preloading failed: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'L\' Applicazione \'{0}\' è già stata lanciata, ed è permessa una sola istanza!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'Avvio di \'{0}\' fallito. Manifesto dell\'applicazione non trovato',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'Avvio di \'{0}\' fallito. il tuo browser non supporta: {1}',
- 'ERR_NO_WM_RUNNING' : 'Nessun window manager in esecuzione',
- 'ERR_CORE_INIT_FAILED' : 'Inizializzazione OS.js fallita',
- 'ERR_CORE_INIT_FAILED_DESC' : 'Si è verificato un errore nella Inizializzazione di OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'Impossibile avviare OS.js: Nessun window manager settato!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'Impossibile avviare OS.js: Fallito avvio del window manager: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'Impossibile avviare OS.js: Precaricamento risorse fallito...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript Error Report',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'Si è verificato un errore inaspettato, forse un bug.',
- 'ERR_APP_API_ERROR' : 'Application API error',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'L\'Applicazione {0} ha fallito nell\'eseguire l\'operazine \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'Argomento mancante: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'Errore sconosciuto',
- 'ERR_OPERATION_TIMEOUT' : 'Operation Timeout',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'Operation Timeout ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' prevede \'{1}\' di tipo \'{2}\', \'{3}\' ricevuto',
- 'ERR_WIN_DUPLICATE_FMT' : 'Hai già dato un nome alla finestra \'{0}\'',
- 'WINDOW_MINIMIZE' : 'Minimizza',
- 'WINDOW_MAXIMIZE' : 'Massimizza',
- 'WINDOW_RESTORE' : 'Ripristina',
- 'WINDOW_CLOSE' : 'Chiudi',
- 'WINDOW_ONTOP_ON' : 'Primopiano (Abilita)',
- 'WINDOW_ONTOP_OFF': 'Primopiano (Disabilita)',
- 'TITLE_SIGN_OUT' : 'Disconnetti',
- 'TITLE_SIGNED_IN_AS_FMT' : 'Connesso come: {0}',
- 'ERR_LOGIN_FMT' : 'Errore di accesso: {0}',
- 'ERR_LOGIN_INVALID' : 'Accesso non corretto',
- 'ERR_NO_SESSION': 'Nessuna sessione create dal server. Vuoi riprovare l\'autenticazione?',
- 'MSG_SESSION_WARNING' : 'Sei sicuro di voler chiudere OS.js? Ogni settaggio ed ogni dato non salvato andrà perduto!',
- 'BUGREPORT_MSG' : 'Per piacere, fai un report se pensi che questo sia un bug. \nIncludi una breve descrizione di come l\'errore si è verificato, se possibile come replicarlo.',
- 'SERVICENOTIFICATION_TOOLTIP' : 'Connesso al servizio esterno: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'Errore Fatale!',
- 'ERR_UTILS_XHR_FMT' : 'Errore AJAX/XHR: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'Disconetti (Esci)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'Disconnessione utente \'{0}\'.\nVuoi salvare la sessinoe corrente?',
- 'DIALOG_CLOSE' : 'Chiudi',
- 'DIALOG_CANCEL': 'Cancella',
- 'DIALOG_APPLY' : 'Applica',
- 'DIALOG_OK' : 'OK',
- 'DIALOG_ALERT_TITLE' : 'Attenzione!',
- 'DIALOG_COLOR_TITLE' : 'Scegli colori',
- 'DIALOG_COLOR_R' : 'Rosso: {0}',
- 'DIALOG_COLOR_G' : 'Verde: {0}',
- 'DIALOG_COLOR_B' : 'Blue: {0}',
- 'DIALOG_COLOR_A' : 'Alpha: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'Conferma scelta',
- 'DIALOG_ERROR_MESSAGE' : 'Messaggio',
- 'DIALOG_ERROR_SUMMARY' : 'Sommario',
- 'DIALOG_ERROR_TRACE' : 'Stack dell\'errore',
- 'DIALOG_ERROR_BUGREPORT' : 'Segnala Bug',
- 'DIALOG_FILE_SAVE' : 'Salva',
- 'DIALOG_FILE_OPEN' : 'Open',
- 'DIALOG_FILE_MKDIR' : 'Nuova Cartella',
- 'DIALOG_FILE_MKDIR_MSG' : 'Crea una nuova cartella in **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'Sei sicuro di voler sovrascrivere il file \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'Mostra tipo',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'Visualizzazione a lista',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'Visualizzazione ad albero',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'Visualizzazione ad icone',
- 'DIALOG_FILE_ERROR' : 'FileDialog Errore',
- 'DIALOG_FILE_ERROR_SCANDIR': 'Indicizzazione della cartella \'{0}\' fallito, perchè si è verificato un errore!',
- 'DIALOG_FILE_ERROR_FIND': 'Ricerca cartella \'{0}\' fallita perchè si è verificato un errore!',
- 'DIALOG_FILE_MISSING_FILENAME' : 'Devi selezionare un file o fornire un nuovo nome!',
- 'DIALOG_FILE_MISSING_SELECTION': 'Devi selezionare un file!',
- 'DIALOG_FILEINFO_TITLE' : 'Informazioni file',
- 'DIALOG_FILEINFO_LOADING' : 'Caricamento informazioni file: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'Errore FileInformationDialog',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'Recupero informazioni fallito **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'Recupero infomazioni file fallito: {0}',
- 'DIALOG_INPUT_TITLE' : 'Richiesta di inserimento',
- 'DIALOG_FILEPROGRESS_TITLE' : 'Operazione file in corso',
- 'DIALOG_FILEPROGRESS_LOADING' : 'Caricamento...',
- 'DIALOG_UPLOAD_TITLE' : 'Caricamento',
- 'DIALOG_UPLOAD_DESC' : 'Carimento del filo a **{0}**.
Dimensione massima: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'Caricamento \'{0}\' ({1} {2}) a {3}',
- 'DIALOG_UPLOAD_MSG' : 'Caricamento file...',
- 'DIALOG_UPLOAD_FAILED' : 'Caricamento fallito',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'Il caricamentoè fallito',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'Ragione sconociuta...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'Cancellato dall\'utente...',
- 'DIALOG_UPLOAD_TOO_BIG': 'Dimensione file troppo grande',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'Dimensione del file troppo grande, in eccesso {0}',
- 'DIALOG_FONT_TITLE' : 'Scelta Font',
- 'DIALOG_APPCHOOSER_TITLE' : 'Scegli Applicazione',
- 'DIALOG_APPCHOOSER_MSG' : 'Scegli un applicazione da aprire',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'Devi selezionare un applicazione',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'Usa l\'applicazione predefinita per {0}',
- 'GAPI_DISABLED' : 'Modulo GoogleAPI non configurato o disabilitato',
- 'GAPI_SIGN_OUT' : 'Disconnettiti da Google API Services',
- 'GAPI_REVOKE' : 'Revoca i permessi e disconnetti',
- 'GAPI_AUTH_FAILURE' : 'L\'Autenticazione alla Google API fallito o non avvenuto',
- 'GAPI_AUTH_FAILURE_FMT' : 'Autenticazione fallita: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Caricamento Google API fallito',
- 'WLAPI_DISABLED' : 'Windows Live API module non configurato o disabilitato',
- 'WLAPI_SIGN_OUT' : 'Disconnetti da Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Caricamento Windows Live API fallito',
- 'WLAPI_LOGIN_FAILED' : 'Connessione a Windows Live API fallita',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Connessione a Windows Live API fallito: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API returned {0} status',
- 'IDB_MISSING_DBNAME' : 'Impossibile creare IndexedDB senza un nome database',
- 'IDB_NO_SUCH_ITEM' : 'Nessun elemento',
- 'ERR_VFS_FATAL' : 'Errore fatale',
- 'ERR_VFS_UNAVAILABLE' : 'No disponibile',
- 'ERR_VFS_FILE_ARGS' : 'Il file richiede almeno un argumento',
- 'ERR_VFS_NUM_ARGS' : 'Non abbastanza argomenti',
- 'ERR_VFS_EXPECT_FILE' : 'File-object previsto',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'Sorgente file-object prevista',
- 'ERR_VFS_EXPECT_DST_FILE' : 'Destinazion file-object prevista',
- 'ERR_VFS_FILE_EXISTS' : 'Destinazione già esistente',
- 'ERR_VFS_TARGET_NOT_EXISTS': 'La destinazione non esiste',
- 'ERR_VFS_TRANSFER_FMT' : 'Un errore si è verificato durante il trasferimento tra le memorie: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'Impossibile caricare un file senza una destinazione',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'Impossibile caricare senza definire un file',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'Carimento file fallito: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'Caricamento file cancellato',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'Impossibile scaricare una destinazione senza una destinazione',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'Si è verificato un errore durante il download: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'La risposta era vuota',
- 'ERR_VFSMODULE_INVALID' : 'Modulo VFS Invalido',
- 'ERR_VFSMODULE_INVALID_FMT' : 'Modulo VFS Invalido: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'Metodo VFS Invalido',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'Metodo VFS Invalido: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'Modulo VFS tipo non valido',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'Modulo VFS tipo non valido: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'Modulo VFS configurazione non valida',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'Modulo VFS configurazione non valida: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'Modulo VFS già montato',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'Modulo VFS \'{0}\' già montato',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'Modulo VFS non montato',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'Modulo VFS \'{0}\' non montato',
- 'ERR_VFSMODULE_EXCEPTION' : 'Modulo VFS Eccezione',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'Modulo VFS Eccezione: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'Nessun modulo VFS associato con {0}. Desinazione o formato sbagliato?',
- 'ERR_VFSMODULE_READONLY' : 'Questo modulo VFS è di sola lettura',
- 'ERR_VFSMODULE_READONLY_FMT' : 'Questo modulo VFS è di sola lettura: {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'Download file',
- 'ERR_VFSMODULE_XHR_ERROR' : 'Errore XHR',
- 'ERR_VFSMODULE_ROOT_ID' : 'ID cartella root non trovato',
- 'ERR_VFSMODULE_NOSUCH' : 'Il file non esiste',
- 'ERR_VFSMODULE_PARENT' : 'Nessun parente',
- 'ERR_VFSMODULE_PARENT_FMT' : 'Cartella parente non trovata: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'Scansione cartella fallito',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'Scansione cartella fallito: {0}',
- 'ERR_VFSMODULE_READ' : 'Lettura file fallito',
- 'ERR_VFSMODULE_READ_FMT' : 'Lettura file fallito: {0}',
- 'ERR_VFSMODULE_WRITE' : 'Scrittura file fallita',
- 'ERR_VFSMODULE_WRITE_FMT' : 'Scrittura file fallita: {0}',
- 'ERR_VFSMODULE_COPY' : 'Copiatura fallita',
- 'ERR_VFSMODULE_COPY_FMT' : 'Copiatura fallita: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'Unlink file fallito',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'Unlink file fallito: {0}',
- 'ERR_VFSMODULE_MOVE' : 'Spostamento file fallito',
- 'ERR_VFSMODULE_MOVE_FMT' : 'Spostamento file fallito: {0}',
- 'ERR_VFSMODULE_EXIST' : 'Verifica esistenza file fallita',
- 'ERR_VFSMODULE_EXIST_FMT' : 'Verifica esistenza file fallita: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'Recupero informazioni file fallito',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'Recupero informazioni file fallito: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'Creazione cartella fallito',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'Creazione cartella fallito: {0}',
- 'ERR_VFSMODULE_MKFILE' : 'Creazione file fallita',
- 'ERR_VFSMODULE_MKFILE_FMT' : 'Creazione file fallita: {0}',
- 'ERR_VFSMODULE_URL' : 'Recupero URL file fallito',
- 'ERR_VFSMODULE_URL_FMT' : 'Recupero URL file fallito: {0}',
- 'ERR_VFSMODULE_TRASH' : 'Spostamento file nel cestino fallito',
- 'ERR_VFSMODULE_TRASH_FMT' : 'Spostamento file nel cestino fallito: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'Spostamento del file fuori dal cestino fallito',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'Spostamento del file fuori dal cestino fallito: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'Svuotamento cestino fallito',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'Svuotamento cestino fallito: {0}',
- 'ERR_VFSMODULE_FIND' : 'Ricerca fallita',
- 'ERR_VFSMODULE_FIND_FMT' : 'Ricerca fallita: {0}',
- 'ERR_VFSMODULE_FREESPACE' : 'Allocamento spazio libero fallito',
- 'ERR_VFSMODULE_FREESPACE_FMT' : 'Allocamento spazio libero fallito: {0}',
- 'ERR_VFSMODULE_EXISTS' : 'Verifica esistenza fallito',
- 'ERR_VFSMODULE_EXISTS_FMT' : 'Verifica esistenza fallito: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'Sei connesso a Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'Disconnetti Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'Risoluzione percorso fallita: elemento non trovato',
- 'ZIP_PRELOAD_FAIL' : 'Caricamento zip.js fallito',
- 'ZIP_VENDOR_FAIL' : 'Libreria zip.js non trovata. L\'hai caricata correttamente?',
- 'ZIP_NO_RESOURCE' : 'Nessuna risorsa zip fornita',
- 'ZIP_NO_PATH' : 'Nessun percorso fornito',
- 'SEARCH_LOADING': 'Ricerca in corso...',
- 'SEARCH_NO_RESULTS': 'Nessun risultato trovato',
- 'ERR_PACKAGE_EXISTS': 'Percorso installazione pacchetto gia esistente. Impossibile continuare!',
- 'ERR_FILE_APP_OPEN' : 'Impossibile aprire il file',
- 'ERR_FILE_APP_OPEN_FMT' : 'Impossibile aprire il file {0} perchè il mime {1} non è supportato',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'Impossibile aprire il file {0}',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'Impossibile salvare il file {0}',
- 'ERR_GENERIC_APP_FMT' : '{0} Application Error',
- 'ERR_GENERIC_APP_ACTION_FMT': 'Esecuzione azione fallito \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'Errore sconosciuto',
- 'ERR_GENERIC_APP_REQUEST' : 'Si è verificato un errore durante la risoluzione della richiesta',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'Errore fatale: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'Scarta cambiamenti?',
- 'MSG_FILE_CHANGED' : 'Il file è stato cambiato. Ricaricarlo?',
- 'MSG_APPLICATION_WARNING' : 'Avviso applicazione',
- 'MSG_MIME_OVERRIDE' : 'tipo del file "{0}" non supportato, si userà "{1}" al suo posto.',
- 'LBL_UNKNOWN' : 'Sconosciuto',
- 'LBL_APPEARANCE' : 'Aspetto',
- 'LBL_USER' : 'Utente',
- 'LBL_NAME' : 'Nome',
- 'LBL_APPLY' : 'Applica',
- 'LBL_FILENAME' : 'Nome file',
- 'LBL_PATH' : 'Percorso',
- 'LBL_SIZE' : 'Dimensione',
- 'LBL_TYPE' : 'Tipo',
- 'LBL_MIME' : 'MIME',
- 'LBL_LOADING' : 'Caricamento',
- 'LBL_SETTINGS' : 'Settaggi',
- 'LBL_ADD_FILE' : 'Aggiungi file',
- 'LBL_COMMENT' : 'Commenta',
- 'LBL_ACCOUNT' : 'Account',
- 'LBL_CONNECT' : 'Connetti',
- 'LBL_ONLINE' : 'Online',
- 'LBL_OFFLINE' : 'Offline',
- 'LBL_AWAY' : 'Non presente',
- 'LBL_BUSY' : 'Occupato',
- 'LBL_CHAT' : 'Chat',
- 'LBL_HELP' : 'Aiuto',
- 'LBL_ABOUT' : 'Riguardo a',
- 'LBL_PANELS' : 'Pannelli',
- 'LBL_LOCALES' : 'Localizzazioni',
- 'LBL_THEME' : 'Tema',
- 'LBL_COLOR' : 'Colore',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'Terminal (kill)',
- 'LBL_ALIVE' : 'Mantieni (Alive)',
- 'LBL_INDEX' : 'Indice',
- 'LBL_ADD' : 'Aggiungi',
- 'LBL_FONT' : 'Font',
- 'LBL_YES' : 'Si',
- 'LBL_NO' : 'No',
- 'LBL_CANCEL' : 'Cancella',
- 'LBL_TOP' : 'Sopra',
- 'LBL_LEFT' : 'Sinistra',
- 'LBL_RIGHT' : 'Destra',
- 'LBL_BOTTOM' : 'Sotto',
- 'LBL_CENTER' : 'Centro',
- 'LBL_FILE' : 'File',
- 'LBL_NEW' : 'Nuovo',
- 'LBL_OPEN' : 'Apri',
- 'LBL_SAVE' : 'Salva',
- 'LBL_SAVEAS' : 'Salva come...',
- 'LBL_CLOSE' : 'Chiudi',
- 'LBL_MKDIR' : 'Crea cartella',
- 'LBL_UPLOAD' : 'Carica',
- 'LBL_VIEW' : 'Visualizza',
- 'LBL_EDIT' : 'Modifica',
- 'LBL_RENAME' : 'Rinomina',
- 'LBL_DELETE' : 'Cancella',
- 'LBL_OPENWITH' : 'Apri con...',
- 'LBL_ICONVIEW' : 'Visualizzazione ad Icone',
- 'LBL_TREEVIEW' : 'Visualizzazione ad Albero',
- 'LBL_LISTVIEW' : 'Visualizzazione ad Lista',
- 'LBL_REFRESH' : 'Aggiorna',
- 'LBL_VIEWTYPE' : 'Visualizza tipo',
- 'LBL_BOLD' : 'Grassetto',
- 'LBL_ITALIC' : 'Corsivo',
- 'LBL_UNDERLINE' : 'Sottolineato',
- 'LBL_REGULAR' : 'Regolare',
- 'LBL_STRIKE' : 'Strike',
- 'LBL_INDENT' : 'Indenta',
- 'LBL_OUTDENT' : 'Unindenta',
- 'LBL_UNDO' : 'Torna indietro',
- 'LBL_REDO' : 'Vai avanti',
- 'LBL_CUT' : 'Taglia',
- 'LBL_UNLINK' : 'Rimuovi link',
- 'LBL_COPY' : 'Copia',
- 'LBL_PASTE' : 'Incolla',
- 'LBL_INSERT' : 'Inserisci',
- 'LBL_IMAGE' : 'Immaggine',
- 'LBL_LINK' : 'Link',
- 'LBL_DISCONNECT' : 'Disconnetti',
- 'LBL_APPLICATIONS' : 'Applicazioni',
- 'LBL_ADD_FOLDER' : 'Aggiungi cartella',
- 'LBL_INFORMATION' : 'Informazione',
- 'LBL_TEXT_COLOR' : 'Colore testo',
- 'LBL_BACK_COLOR' : 'Colore in secondo piano',
- 'LBL_RESET_DEFAULT' : 'Resetta ai valori predefiniti',
- 'LBL_DOWNLOAD_COMP' : 'Scarica sul computer',
- 'LBL_ORDERED_LIST' : 'Lista ordinata',
- 'LBL_BACKGROUND_IMAGE' : 'Immagine di sfondo',
- 'LBL_BACKGROUND_COLOR' : 'Colore di sfondo',
- 'LBL_UNORDERED_LIST' : 'Lista non ordinata',
- 'LBL_STATUS' : 'Stato',
- 'LBL_READONLY' : 'Di sola lettura',
- 'LBL_CREATED' : 'Creato',
- 'LBL_MODIFIED' : 'Modificato',
- 'LBL_SHOW_COLUMNS' : 'Mostra colonne',
- 'LBL_MOVE' : 'Muovi',
- 'LBL_OPTIONS' : 'Opzioni',
- 'LBL_OK' : 'OK',
- 'LBL_DIRECTORY' : 'Cartella',
- 'LBL_CREATE' : 'Crea',
- 'LBL_BUGREPORT' : 'Segnalazione bug',
- 'LBL_INSTALL' : 'Installa',
- 'LBL_UPDATE' : 'Aggiorna',
- 'LBL_REMOVE' : 'Rimuovi',
- 'LBL_SHOW_SIDEBAR' : 'Mostra barra laterale',
- 'LBL_SHOW_NAVIGATION' : 'Mostra navigazione',
- 'LBL_SHOW_HIDDENFILES' : 'Mostra file nascosti',
- 'LBL_SHOW_FILEEXTENSIONS' : 'Mostra le estenzioni dei file',
- 'LBL_MOUNT': 'Monta',
- 'LBL_DESCRIPTION': 'Descrizione',
- 'LBL_USERNAME': 'Nome utente',
- 'LBL_PASSWORD': 'Password',
- 'LBL_HOST': 'Host',
- 'LBL_NAMESPACE': 'Namespace',
- 'LBL_SEARCH': 'Ricerca',
- 'LBL_SOUNDS' : 'Suoni',
- 'LBL_ICONS' : 'Icone',
- 'LBL_ICON' : 'Icona',
- 'LBL_BACKGROUND' : 'Sfondo',
- 'LBL_DESKTOP' : 'Scrivania',
- 'LBL_PANEL' : 'Panello',
- 'LBL_POSITION' : 'Posizione',
- 'LBL_ONTOP' : 'In primo piano',
- 'LBL_ITEMS' : 'Elementi',
- 'LBL_GENERAL' : 'Generale',
- 'LBL_DEBUG' : 'Risoluzione errori',
- 'LBL_AUTOHIDE' : 'Nascondi automaticamente',
- 'LBL_OPACITY' : 'Opacità',
- 'LBL_PACKAGES' : 'Pacchetti',
- 'LBL_PACKAGE' : 'Pacchetto',
- 'LBL_GROUPS' : 'Gruppi',
- 'LBL_VERSION' : 'Versione',
- 'LBL_AUTHOR' : 'Autore',
- 'LBL_HIDE' : 'Nascondi',
- 'LBL_BACK': 'Indietro',
- 'LBL_UNINSTALL': 'Disinstalla',
- 'LBL_REGENERATE': 'Rigenera',
- 'LBL_WINDOWMANAGER': 'Gestore Finestre Desktop',
- 'LBL_HOTKEY': 'Tasto rapido',
- 'LBL_HOTKEYS': 'Tasti rapidi',
- 'LBL_MOUNTS': 'Monta',
- 'LBL_ID': 'ID',
- 'LBL_APPLICATION': 'Applicazione',
- 'LBL_SCOPE': 'Scope',
- 'LBL_REPOSITORY': 'Repository',
- 'LBL_PERSONAL': 'Personale',
- 'LBL_SYSTEM': 'Sistema',
- 'LBL_STARTING': 'Avvio',
- 'LBL_STORE': 'Store',
- 'LBL_LOCALE': 'Lingue',
- 'LBL_INPUT': 'Input',
- 'LBL_MISC': 'Vari',
- 'LBL_OTHER': 'Altro',
- 'LBL_USERS': 'Utenti',
- 'LBL_FONTS': 'Fonts'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.fa_FA = {
- 'ERR_FILE_OPEN' : 'خطا در باز کردن فايل',
- 'ERR_WM_NOT_RUNNING' : 'مديريت پنجره ها اجرا نشده است',
- 'ERR_FILE_OPEN_FMT' : 'فايل \'**{0}**\' رانمي توان باز کرد',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'برنامه اي که از \'{0}\' فايل پشتيباني کند پيدا نشد',
- 'ERR_APP_LAUNCH_FAILED' : 'اجراي برنامه موفق نبود',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'وقوع خطادر زمان اجراي برنامه: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'برنامه \'{0}\' خطا در سازنده: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'برنامه \'{0}\' init() با خطا مواجه شد: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'نبودن منابع براي برنامه \'{0}\' يا اجرا کردن نا موفق!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'برنامه \'{0}\'قبل بارگزاري با خطا مواجه شد: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'برنامه \'{0}\' قبلا اجرا شده و فقط ميتواند يک نمونه از آن اجرا شود!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'مشکل در اجرا \'{0}\'. اطلاعات فايل مانيفست پيدا نشد!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'مشکل در اجرا \'{0}\'. مرورگر شما از اين نسخه پشتيباني نميکند: {1}',
- 'ERR_NO_WM_RUNNING' : 'مديريت پنجره ها در حال اجرا نيست',
- 'ERR_CORE_INIT_FAILED' : 'اجراي OS.js با مشکل مواجه شد',
- 'ERR_CORE_INIT_FAILED_DESC' : 'بروز يک مشکل در زمان اجراي OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'ناتوان در اجراي OS.js: مديريت پنجره مشخص نشده!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'ناتوان در اجراي OS.js: با مشکل مواجه شدن مديريت پنجره : {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'ناتوان در اجراي OS.js: خطا در بارگزاري اوليه منابع ...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'گزارش خطا جاواسکريپت',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'يک خطاي غيره منتظره رخ داد, ممکن است يک باگ باشد.',
- 'ERR_APP_API_ERROR' : 'خظاي API برنامه',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'برنامه {0} با خطا مواجه شدن اجراي عمليات \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'کمبود آرگامنت: {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'خطاي ناشناخته',
- 'ERR_OPERATION_TIMEOUT' : 'به اتمام رسيدن عمليات',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'به اتمام رسيدن عمليات ({0})',
- 'ERR_WIN_DUPLICATE_FMT' : 'شما قبلا يک پنجره با نام \'{0}\'',
- 'WINDOW_MINIMIZE' : 'تمام صفحه',
- 'WINDOW_MAXIMIZE' : 'کوچک شدن صفحه',
- 'WINDOW_RESTORE' : 'بازيابي',
- 'WINDOW_CLOSE' : 'بستن',
- 'WINDOW_ONTOP_ON' : 'برروي همه (فعال)',
- 'WINDOW_ONTOP_OFF': 'برري همه(غيرفعال)',
- 'TITLE_SIGN_OUT' : 'خروج',
- 'TITLE_SIGNED_IN_AS_FMT' : 'وارد شده با نام : {0}',
- 'ERR_LOGIN_FMT' : 'خطاي ورود: {0}',
- 'ERR_LOGIN_INVALID' : 'نا معتبر بودن ورود',
- 'MSG_SESSION_WARNING' : 'آيا شما مطمئن به خارح شدن از برنامه هستيد? تماميه اطلاعات ذخيره نشد پنجره ها از بين خواهند رفت!',
- 'BUGREPORT_MSG' : 'درصورتي که تصورميکنيد اين يک باگ است گزارش دهيد.\nشامل توضيح کوتاهي که چگونه اين اتفاق افتاد, و اگر شما توانستد برطرف کنيد نحوه آن را اطلاع دهيد',
- 'SERVICENOTIFICATION_TOOLTIP' : 'وارد شدن به سرويس هاي خارجي: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'خطاي مخرب',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR خطاي: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'خروج از برنامه', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'خروج کاربر \'{0}\'.\nآيا نميخواهيد جلسه جاري حفظ شود?',
- 'DIALOG_CLOSE' : 'بستن',
- 'DIALOG_CANCEL': 'انصراف',
- 'DIALOG_APPLY' : 'اعمال',
- 'DIALOG_OK' : 'تاييد',
- 'DIALOG_ALERT_TITLE' : 'ديالوگ هشدار',
- 'DIALOG_COLOR_TITLE' : 'ديالوگ رنگ',
- 'DIALOG_COLOR_R' : 'قرمز: {0}',
- 'DIALOG_COLOR_G' : 'سبز: {0}',
- 'DIALOG_COLOR_B' : 'آبي: {0}',
- 'DIALOG_COLOR_A' : 'آلفا: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'ديالوگ تاييد',
- 'DIALOG_ERROR_MESSAGE' : 'پيام',
- 'DIALOG_ERROR_SUMMARY' : 'خلاصه',
- 'DIALOG_ERROR_TRACE' : 'پيگيري',
- 'DIALOG_ERROR_BUGREPORT' : 'گزارش باگ',
- 'DIALOG_FILE_SAVE' : 'ذخيره',
- 'DIALOG_FILE_OPEN' : 'بازکردن',
- 'DIALOG_FILE_MKDIR' : 'پوشه جديد',
- 'DIALOG_FILE_MKDIR_MSG' : 'ساخت پوشه در مسير **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'داشتن حصول اطمينان از رونوشت فايل \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'نوع نمايش',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'نمايش ليست',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'نمايش درختي',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'نمايش آيکون',
- 'DIALOG_FILE_ERROR' : 'خطاي ديالوگ فايل',
- 'DIALOG_FILE_ERROR_SCANDIR': 'خطا در ليست کردن مسير \'{0}\' به دليل رخ دادن يک خطا',
- 'DIALOG_FILE_MISSING_FILENAME' : 'شما ميبايست يک فايل انتخاب کنيد يا يک نام فايل جديد وارد کنيد!',
- 'DIALOG_FILE_MISSING_SELECTION': 'شما مي بايست يک فايل انتخاب کنيد!',
- 'DIALOG_FILEINFO_TITLE' : 'اطلاعات فايل',
- 'DIALOG_FILEINFO_LOADING' : 'بارکزاري اطلاعات فايل براي: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'خطاي ديالوک انتقال فايل',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'مشکل در گرفتن اطلاعات فايل براي **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'مشکل در گرفتن اطلاعات فايل براي: {0}',
- 'DIALOG_INPUT_TITLE' : 'ديالوگ ورودي',
- 'DIALOG_FILEPROGRESS_TITLE' : 'پروسه عمليات فايل',
- 'DIALOG_FILEPROGRESS_LOADING' : 'بارگزاري...',
- 'DIALOG_UPLOAD_TITLE' : 'ديالوگ ارسال فايل',
- 'DIALOG_UPLOAD_DESC' : 'ارسال فايل به **{0}**.
بيشترين اندازه: {1} بايت',
- 'DIALOG_UPLOAD_MSG_FMT' : 'بارگزاري',
- 'DIALOG_UPLOAD_MSG' : 'درحال ارسال فايل...',
- 'DIALOG_UPLOAD_FAILED' : 'ارسال فايل با خطا مواجه شد',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'ارسال فايل با خطا مواجه شده است',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'دليل ناشناخته...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'انصراف به وسيله کاربر...',
- 'DIALOG_UPLOAD_TOO_BIG': 'فايل بيش ازاندازه بزرگ است',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'فايل بيش از اندازه بزرک است, سقف {0}',
- 'DIALOG_FONT_TITLE' : 'ديالوگ فونت',
- 'DIALOG_APPCHOOSER_TITLE' : 'انتخاب برنامه',
- 'DIALOG_APPCHOOSER_MSG' : 'انتخاب يک برنامه براي باز شدن',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'شما ميبايست يک برنامه انتخاب کنيد',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'استفاده به عنوان پيش فرض براي {0}',
- 'GAPI_DISABLED' : ' ماژول GoogleAPI پيکربندي نشده يا غير فعال ميباشد',
- 'GAPI_SIGN_OUT' : 'خارج شدن از API هاي سرويس هاي گوگل',
- 'GAPI_REVOKE' : 'رد مجوز هاو خروج از برنامه',
- 'GAPI_AUTH_FAILURE' : 'Google API تشخيض هويت با مشکل واجه شد و يا اتفاق نيافتاد',
- 'GAPI_AUTH_FAILURE_FMT' : 'با مشکل مواجه شدن تشخيص هويت: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'مشکل با بارگزاري Google API',
- 'WLAPI_DISABLED' : 'ماژول هاي Windows Live API پيکربندي نشده و يا غير فعال مي باشد',
- 'WLAPI_SIGN_OUT' : 'خروج از Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'مشکل در بارگزاري Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'مشکل در ثبت لاگ در Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'مشکل ثبت لاگ در Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API ارجاع {0} وضعيت',
- 'IDB_MISSING_DBNAME' : 'قادر به ايجاد IndexDB بدون نام پايگاه داده ها نمي باشيم',
- 'IDB_NO_SUCH_ITEM' : 'آيتم اين چنين نميباد',
- 'ERR_VFS_FATAL' : 'خطاي بحراني',
- 'ERR_VFS_UNAVAILABLE' : 'موجود نمي باشد',
- 'ERR_VFS_FILE_ARGS' : 'فايل حدااقل يک آرگامنت مي خواهد',
- 'ERR_VFS_NUM_ARGS' : 'آرگامنت ها کافي نيست',
- 'ERR_VFS_EXPECT_FILE' : 'انتظار يک شي فايلي',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'انتظار يک شي فايلي منبع',
- 'ERR_VFS_EXPECT_DST_FILE' : 'انتظار شي فايلي مقصد',
- 'ERR_VFS_FILE_EXISTS' : 'مقصد قبلا وجود دارد',
- 'ERR_VFS_TRANSFER_FMT' : 'بروز مشکل در زمان انتقال بين ذخيره کننده ها: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'بدون اطلاعات مقصد قادر به ارسال فايل نمي باشد',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'بدن مشخص کردن فايل امکان پذير نمي باشد',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'ارسال فايل به مشکل برخورد کرد: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED': 'ارسال فايل لغو شد',
- 'ERR_VFS_DOWNLOAD_NO_FILE': 'دانلود فايل بدون انتخاب فايل امکان پذير نميباشد',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'بروز مشکل در حين دانلود فايل : {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY': 'پاسخ تهي ميباشد',
- 'ERR_VFSMODULE_INVALID' : 'ماژول VFS نا م عتبر ميباشد',
- 'ERR_VFSMODULE_INVALID_FMT' : ' ماژول VFS نامعتبر ميباشد : {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'متد VُّّFS نامعتبر مي باشد',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'متد VُّّFS نامعتبر مي باشد: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'نوع ماژول VFS نامعتبر ميباشد',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'نوع ماژول VFS نامعتبر ميباشد: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'پيکربندي ماژول VFS نامعتبر مي باشد',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'پيکربندي ماژول VFS نامعتبر مي باشد: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'ماژول VFS قبلا الصاق شده است',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'ماژول VFS \'{0}\' قابلا الصاق شده ',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'ماژول VFS الصاق نشده',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'ماؤول VFS \'{0}\' الصاق نشده است',
- 'ERR_VFSMODULE_EXCEPTION' : 'بروز خطا در ماژول VFS',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'بروز خطا در ماژول VFS : {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'در حال دانلود فايل',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR خطاي',
- 'ERR_VFSMODULE_ROOT_ID' : 'پيدا کردن شناسه پوشه روت با خطا مواجه شد',
- 'ERR_VFSMODULE_NOSUCH' : 'فايل موحود نيست',
- 'ERR_VFSMODULE_PARENT' : 'والدين اين چنين وجود ندارد',
- 'ERR_VFSMODULE_PARENT_FMT' : 'جستجوي والدين با خطا مواجه شد: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'اسکن دايرکتوري باخطا موجه شد',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'اسکن دايرکتوري باخطا موجه شد: {0}',
- 'ERR_VFSMODULE_READ' : 'خواندن فايل با خطا مواجه شد',
- 'ERR_VFSMODULE_READ_FMT' : 'خواندن فايل با خطا مواجه شد: {0}',
- 'ERR_VFSMODULE_WRITE' : 'نوشتن فايل با خطا مواجه شد',
- 'ERR_VFSMODULE_WRITE_FMT' : 'نوشتن فايل با خطا موجه شد: {0}',
- 'ERR_VFSMODULE_COPY' : 'کپي با خطا مواجه شد',
- 'ERR_VFSMODULE_COPY_FMT' : 'کپي با خطا مواجه شد: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'قطع اتصال با خطا مواجه شد',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'قطع ارتباط با شکست مواجه شد: {0}',
- 'ERR_VFSMODULE_MOVE' : 'جابه جايي فايل با شکست مواجه شد',
- 'ERR_VFSMODULE_MOVE_FMT' : 'جابه جايي فايل با شکست مواجه شد: {0}',
- 'ERR_VFSMODULE_EXIST' : 'برسي موجود بودن فايل با مشکل مواجه شد',
- 'ERR_VFSMODULE_EXIST_FMT' : 'برسي موجود بودن فايل با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'به دست آرودن اطلاعات فايل با مشکل مواجه شد',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'به دست آرودن اطلاعات فايل با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'ساخت دايرکتوري با مشکل مواجه شد',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'به دست آرودن اطلاعات فايل با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_URL' : 'به دست آوردن URL فايل با مشکل مواجه شد',
- 'ERR_VFSMODULE_URL_FMT' : 'به دست آوردن URL فايل با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_TRASH' : 'انتقال فايل به سطل زباله با مشکل مواجه شد',
- 'ERR_VFSMODULE_TRASH_FMT' : 'انتقال فايل به سطل زباله با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'بازيافت فايل با مشکل مواجه شد',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'بازيافت فايل با مشکل مواجه شد: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'تخليه سطل زباله با مشکل مواجه شد',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'تخليه سطل زباله با مشکل مواجه شد: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'شما به وسيله DroBox API ثبت ورود کرده ايد',
- 'DROPBOX_SIGN_OUT' : 'خروج از سرويس هاي Google API',
- 'ONEDRIVE_ERR_RESOLVE' : 'آيتم پيدا نشد: حل و فصل مسير با مشکل مواجه شد',
- 'ZIP_PRELOAD_FAIL' : 'بار گزاري zip.js با مشکل مواجه شد',
- 'ZIP_VENDOR_FAIL' : 'کتابخانه zip.js پيدا نشد : آيا شما موارد متعلق به آن را بارگزاري کرده ايد ?',
- 'ZIP_NO_RESOURCE' : 'هيچ يک از منابع zip داده نشده است',
- 'ZIP_NO_PATH' : 'مسيري داده نشده است',
- 'ERR_PACKAGE_EXISTS': 'ميسر نصب بسته قبلا وجود دارد. قادر به ادامه نميباشيم!',
- 'ERR_FILE_APP_OPEN' : 'باز کردن فايل امکان پذير نيست',
- 'ERR_FILE_APP_OPEN_FMT' : 'فايل {0} قابل باز کردن نمي باشد به دليل اينکه نوع {1} پشنيباي نميشود',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'فايل {0} را نمي توان باز کرد',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'فايل {0} قادر ذخيره کردن نمي باشد',
- 'ERR_GENERIC_APP_FMT' : '{0} خطاي برنامه',
- 'ERR_GENERIC_APP_ACTION_FMT': 'مشکل در اجراي فرآيند \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'خطاي ناشناخته',
- 'ERR_GENERIC_APP_REQUEST' : 'درحال اجراي درخواست شما يک خطا اتفاق افتاد',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'خطاي مخرب: {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'لغو تغييرات?',
- 'MSG_FILE_CHANGED' : 'فايل تغيير کرده است.آيا دوباره بازگزاري شود؟',
- 'MSG_APPLICATION_WARNING' : 'هشدار برنامه',
- 'MSG_MIME_OVERRIDE' : 'نوع فايل "{0}" پشتيباني نميشود, ولي از نوع "{1}" استفاده شود.',
- 'LBL_UNKNOWN' : 'ناشناخته',
- 'LBL_APPEARANCE' : 'ظاهر',
- 'LBL_USER' : 'کاربر',
- 'LBL_NAME' : 'نام',
- 'LBL_APPLY' : 'اعمال',
- 'LBL_FILENAME' : 'نام فايل',
- 'LBL_PATH' : 'مسير',
- 'LBL_SIZE' : 'حجم',
- 'LBL_TYPE' : 'نوع',
- 'LBL_MIME' : 'نوع',
- 'LBL_LOADING' : 'درحال بارگزاري',
- 'LBL_SETTINGS' : 'تنظيمات',
- 'LBL_ADD_FILE' : 'اضافه کردن فايل',
- 'LBL_COMMENT' : 'نظر',
- 'LBL_ACCOUNT' : 'حساب',
- 'LBL_CONNECT' : 'متصل',
- 'LBL_ONLINE' : 'روي خط',
- 'LBL_OFFLINE' : 'چراغ خاموش',
- 'LBL_AWAY' : 'دور',
- 'LBL_BUSY' : 'مشغول',
- 'LBL_CHAT' : 'چت',
- 'LBL_HELP' : 'کمک',
- 'LBL_ABOUT' : 'درباره',
- 'LBL_PANELS' : 'پنل ها',
- 'LBL_LOCALES' : 'موقعيت ها',
- 'LBL_THEME' : 'شمايل',
- 'LBL_COLOR' : 'رنگ',
- 'LBL_PID' : 'PID',
- 'LBL_KILL' : 'کشتن',
- 'LBL_ALIVE' : 'زنده',
- 'LBL_INDEX' : 'ايندکس',
- 'LBL_ADD' : 'اضافه',
- 'LBL_FONT' : 'فونت',
- 'LBL_YES' : 'بله',
- 'LBL_NO' : 'نه',
- 'LBL_CANCEL' : 'انصراف',
- 'LBL_TOP' : 'روي',
- 'LBL_LEFT' : 'چپ',
- 'LBL_RIGHT' : 'راست',
- 'LBL_BOTTOM' : 'پايين',
- 'LBL_CENTER' : 'مرکز',
- 'LBL_FILE' : 'فايل',
- 'LBL_NEW' : 'جديد',
- 'LBL_OPEN' : 'بازکردن',
- 'LBL_SAVE' : 'ذخيره کردن',
- 'LBL_SAVEAS' : 'ذخيره کردن به صورت...',
- 'LBL_CLOSE' : 'بستن',
- 'LBL_MKDIR' : 'ايجاد مسير',
- 'LBL_UPLOAD' : 'ارسال',
- 'LBL_VIEW' : 'نمايش',
- 'LBL_EDIT' : 'ويرايش',
- 'LBL_RENAME' : 'تغيير نام',
- 'LBL_DELETE' : 'حذف',
- 'LBL_OPENWITH' : 'بازکردن با ...',
- 'LBL_ICONVIEW' : 'نمايش آيکون',
- 'LBL_TREEVIEW' : 'نمايش درختي',
- 'LBL_LISTVIEW' : 'نمايش ليست',
- 'LBL_REFRESH' : 'تازه کردن',
- 'LBL_VIEWTYPE' : 'نمايش نوع',
- 'LBL_BOLD' : 'درشت',
- 'LBL_ITALIC' : 'ايتاليک',
- 'LBL_UNDERLINE' : 'زير خط',
- 'LBL_REGULAR' : 'قاعده',
- 'LBL_STRIKE' : 'Strike',
- 'LBL_INDENT' : 'مقصود',
- 'LBL_OUTDENT' : 'خارج از تاريخ',
- 'LBL_UNDO' : 'برعکس ',
- 'LBL_REDO' : 'دوباره کار',
- 'LBL_CUT' : 'قطع کردن',
- 'LBL_UNLINK' : 'برخلاف',
- 'LBL_COPY' : 'کپي',
- 'LBL_PASTE' : 'در اين محل',
- 'LBL_INSERT' : 'درج',
- 'LBL_IMAGE' : 'تصوير',
- 'LBL_LINK' : 'اتصال',
- 'LBL_DISCONNECT' : 'قطع ارتباط',
- 'LBL_APPLICATIONS' : 'برنامه ها',
- 'LBL_ADD_FOLDER' : 'اضاقه کردن پوشه',
- 'LBL_INFORMATION' : 'اطلاعات',
- 'LBL_TEXT_COLOR' : 'رنگ متن',
- 'LBL_BACK_COLOR' : 'رنگ سياه',
- 'LBL_RESET_DEFAULT' : 'برگردان به تنظيمات اوليه',
- 'LBL_DOWNLOAD_COMP' : 'دانلود به کامپيوتر',
- 'LBL_ORDERED_LIST' : 'ليست مرتب شده',
- 'LBL_BACKGROUND_IMAGE' : 'تصوير پس زمينه',
- 'LBL_BACKGROUND_COLOR' : 'رنگ پس زمينه',
- 'LBL_UNORDERED_LIST' : 'ليست مرتب نشده',
- 'LBL_STATUS' : 'وضعيت ها',
- 'LBL_READONLY' : 'فقط خواندني',
- 'LBL_CREATED' : 'ايجاد شده',
- 'LBL_MODIFIED' : 'تغيير داده شده',
- 'LBL_SHOW_COLUMNS' : 'نمايش ستون ها',
- 'LBL_MOVE' : 'حرکت',
- 'LBL_OPTIONS' : 'انتخاب',
- 'LBL_OK' : 'تاييد',
- 'LBL_DIRECTORY' : 'دايرکتوري',
- 'LBL_CREATE' : 'ايجاد کردن',
- 'LBL_BUGREPORT' : 'گزارش مشکل',
- 'LBL_INSTALL' : 'نصب',
- 'LBL_UPDATE' : 'به روز رساني',
- 'LBL_REMOVE' : 'برداشتن',
- 'LBL_SHOW_SIDEBAR' : 'نمايش نوار لغزنده',
- 'LBL_SHOW_NAVIGATION' : 'نمايش ناوبري',
- 'LBL_SHOW_HIDDENFILES' : 'نمايش فايل هاي مخفي',
- 'LBL_SHOW_FILEEXTENSIONS' : 'نمايش پسوند فايل'
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Locales.ar_DZ = {
- 'ERR_FILE_OPEN' : 'خطأ فتح الملف',
- 'ERR_WM_NOT_RUNNING' : 'مسيير النوافذ ليس قيد التشغيل',
- 'ERR_FILE_OPEN_FMT' : ' الملف \'**{0}**\' غير قابل للفتح من طرف النظام',
- 'ERR_APP_MIME_NOT_FOUND_FMT': 'لم يتمكن النظام من إيجاد تطبيق يدعم هذه الملفات \'{0}\' files',
- 'ERR_APP_LAUNCH_FAILED' : 'خطأ في تشغيل التطبيق',
- 'ERR_APP_LAUNCH_FAILED_FMT' : 'حدث خطأ أثناء محاولة التشغيل: {0}',
- 'ERR_APP_CONSTRUCT_FAILED_FMT' : 'التطبيق \'{0}\' construct فشل: {1}',
- 'ERR_APP_INIT_FAILED_FMT' : 'التطبيق \'{0}\' init() فشل: {1}',
- 'ERR_APP_RESOURCES_MISSING_FMT' : 'موارد التطبيق ناقصة لـ \'{0}\' أو لم تتمكن من التشغيل!',
- 'ERR_APP_PRELOAD_FAILED_FMT' : 'التطبيق \'{0}\' preloading failed: \n{1}',
- 'ERR_APP_LAUNCH_ALREADY_RUNNING_FMT' : 'The application \'{0}\' is already launched and allows only one instance!',
- 'ERR_APP_LAUNCH_MANIFEST_FAILED_FMT' : 'خطأ في تشغيل \'{0}\'. لا توجد تعاريف للتطبيق!',
- 'ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT' : 'خطأ في تشغيل \'{0}\'. متصفحك غير مدعوم: {1}',
- 'ERR_NO_WM_RUNNING' : 'لايوجد أي مسيير نوافذ قيد التشغيل',
- 'ERR_CORE_INIT_FAILED' : 'Failed to initialize OS.js',
- 'ERR_CORE_INIT_FAILED_DESC' : 'حدث خطأ أثناء بداية تشغيل OS.js',
- 'ERR_CORE_INIT_NO_WM' : 'لا يمكن تشغيل OS.js: لايوجد مسيير نوافذ!',
- 'ERR_CORE_INIT_WM_FAILED_FMT' : 'لايمكن تشغيل OS.js: فشل في تحميل مسير النوافذ: {0}',
- 'ERR_CORE_INIT_PRELOAD_FAILED' : 'لايمكن تشغيل OS.js: فشل في تحميل الموارد...',
- 'ERR_JAVASCRIPT_EXCEPTION' : 'JavaScript إشعار بخطأ',
- 'ERR_JAVACSRIPT_EXCEPTION_DESC' : 'خطأ غير متوقع.',
- 'ERR_APP_API_ERROR' : 'خطأ في API التطبيق ',
- 'ERR_APP_API_ERROR_DESC_FMT' : 'التطبيق {0} لم يستطيع أن يقوم بالعملية \'{1}\'',
- 'ERR_APP_MISSING_ARGUMENT_FMT': 'نقص في لعناصر : {0}',
- 'ERR_APP_UNKNOWN_ERROR' : 'خطأ غير معروف',
- 'ERR_OPERATION_TIMEOUT' : 'نهاية الوقت المسموع للعملية',
- 'ERR_OPERATION_TIMEOUT_FMT' : 'نهاية الوقت المسموح للعملية ({0})',
- 'ERR_ARGUMENT_FMT' : '\'{0}\' متوقع \'{1}\' أن تكون \'{2}\', \'{3}\' معطى',
- 'ERR_WIN_DUPLICATE_FMT' : 'لديك نافذة مسبقا بإسم \'{0}\'',
- 'WINDOW_MINIMIZE' : 'تصغير',
- 'WINDOW_MAXIMIZE' : 'تكبير',
- 'WINDOW_RESTORE' : 'إستعادة',
- 'WINDOW_CLOSE' : 'إغلاق',
- 'WINDOW_ONTOP_ON' : 'فوق الجميع (تشغيل)',
- 'WINDOW_ONTOP_OFF': 'فوق الجميع (تعطيل)',
- 'TITLE_SIGN_OUT' : 'تسجيل الخروج',
- 'TITLE_SIGNED_IN_AS_FMT' : 'متصل بإسم: {0}',
- 'ERR_LOGIN_FMT' : 'خطأ تسجيل الدخول: {0}',
- 'ERR_LOGIN_INVALID' : 'تسجيل دخول غير موجود',
- 'ERR_NO_SESSION': 'لا توجد أي حصة منشأة، هل تريد التجربة مرة أخرى ؟',
- 'MSG_SESSION_WARNING' : 'هل تريد بالتأكيد الخروج من OS.js ؟ جميع التغيرات الغير محفوظة ستلغى !',
- 'BUGREPORT_MSG' : 'الرجاء إشعارنا إذا ضننت أن هذا خطأ،\n أضف شرح قصير حول كيفية حدوث الخطأ، وإن أمكن كيفية إعادة إستحداث الخطأ مرة أخرى',
- 'SERVICENOTIFICATION_TOOLTIP' : 'تسجيل دخول إلى خدمات خارجية: {0}',
- 'ERR_UTILS_XHR_FATAL' : 'خطأ مميت',
- 'ERR_UTILS_XHR_FMT' : 'AJAX/XHR خطأ: {0}',
- 'DIALOG_LOGOUT_TITLE' : 'تسجيل الخروج (خروج)', // Actually located in session.js
- 'DIALOG_LOGOUT_MSG_FMT' : 'خروج المستخدم \'{0}\'.\nهل تريد بالتأكيد إنهاء الحصة الجارية?',
- 'DIALOG_CLOSE' : 'إغلاق',
- 'DIALOG_CANCEL': 'إلغاء',
- 'DIALOG_APPLY' : 'تطبيق',
- 'DIALOG_OK' : 'موافق',
- 'DIALOG_ALERT_TITLE' : 'نافذة التحذير',
- 'DIALOG_COLOR_TITLE' : 'نافذة الألوان',
- 'DIALOG_COLOR_R' : 'أحمر: {0}',
- 'DIALOG_COLOR_G' : 'أخضر: {0}',
- 'DIALOG_COLOR_B' : 'أزرق: {0}',
- 'DIALOG_COLOR_A' : 'ألفا: {0}',
- 'DIALOG_CONFIRM_TITLE' : 'نافذة التأكيد',
- 'DIALOG_ERROR_MESSAGE' : 'رسالة',
- 'DIALOG_ERROR_SUMMARY' : 'الحوصلة',
- 'DIALOG_ERROR_TRACE' : 'إتباع',
- 'DIALOG_ERROR_BUGREPORT' : 'إشعار بخطأ',
- 'DIALOG_FILE_SAVE' : 'حفظ',
- 'DIALOG_FILE_OPEN' : 'فتح',
- 'DIALOG_FILE_MKDIR' : 'مجلد جديد',
- 'DIALOG_FILE_MKDIR_MSG' : 'إنشاء مجلد جديد في **{0}**',
- 'DIALOG_FILE_OVERWRITE' : 'هل تريد بالتأكيد تجاوز وإستبدال الملف \'{0}\'?',
- 'DIALOG_FILE_MNU_VIEWTYPE' : 'نوع المظهر',
- 'DIALOG_FILE_MNU_LISTVIEW' : 'مظهر القائمة',
- 'DIALOG_FILE_MNU_TREEVIEW' : 'مظهر الشجرة',
- 'DIALOG_FILE_MNU_ICONVIEW' : 'مظهر الأيقونات',
- 'DIALOG_FILE_ERROR' : 'خطأ نافذة الملفات',
- 'DIALOG_FILE_ERROR_SCANDIR': 'فشل إظهار محتوي المجلد \'{0}\' بسبب حدوث خطأ',
- 'DIALOG_FILE_ERROR_FIND': 'فشل البحث في المجلد \'{0}\' بسبب حدوث خطأ',
- 'DIALOG_FILE_MISSING_FILENAME' : 'يجب إختيار ملف أو إدخال ملف جديد!',
- 'DIALOG_FILE_MISSING_SELECTION': 'يجب إختيار ملف!',
- 'DIALOG_FILEINFO_TITLE' : 'معلومات الملف',
- 'DIALOG_FILEINFO_LOADING' : 'تحميل معلومات الملف: {0}',
- 'DIALOG_FILEINFO_ERROR' : 'نافذة معلومات الملف خطأ',
- 'DIALOG_FILEINFO_ERROR_LOOKUP' : 'فشل في تحديد معلومات الملف for **{0}**',
- 'DIALOG_FILEINFO_ERROR_LOOKUP_FMT' : 'فشل في تحديد معلومات الملف for: {0}',
- 'DIALOG_INPUT_TITLE' : 'نافذة الإدخال',
- 'DIALOG_FILEPROGRESS_TITLE' : 'عملية على الملفات جارية',
- 'DIALOG_FILEPROGRESS_LOADING' : 'تحميل...',
- 'DIALOG_UPLOAD_TITLE' : 'نافذة رفع الملفات',
- 'DIALOG_UPLOAD_DESC' : 'رفم الملف إلى **{0}**.
حد الحجم: {1} bytes',
- 'DIALOG_UPLOAD_MSG_FMT' : 'جاري الرفع \'{0}\' ({1} {2}) to {3}',
- 'DIALOG_UPLOAD_MSG' : 'جاري رفع الملف...',
- 'DIALOG_UPLOAD_FAILED' : 'رفع الملف',
- 'DIALOG_UPLOAD_FAILED_MSG' : 'خطأ رفع الملف',
- 'DIALOG_UPLOAD_FAILED_UNKNOWN' : 'أسباب غير معروفة...',
- 'DIALOG_UPLOAD_FAILED_CANCELLED': 'إلغي من طرف المستخدم...',
- 'DIALOG_UPLOAD_TOO_BIG': 'ملف كبير جدا',
- 'DIALOG_UPLOAD_TOO_BIG_FMT': 'ملف كبير جدا, تخطى {0}',
- 'DIALOG_FONT_TITLE' : 'نافذة الخطوط',
- 'DIALOG_APPCHOOSER_TITLE' : 'إختيار التطبيق',
- 'DIALOG_APPCHOOSER_MSG' : 'إختار تطبيق لفتحه',
- 'DIALOG_APPCHOOSER_NO_SELECTION' : 'يجب إختيار تطبيق',
- 'DIALOG_APPCHOOSER_SET_DEFAULT' : 'إستخدام كتطبيق إفتراضي دائم {0}',
- 'GAPI_DISABLED' : 'GoogleAPI Module not configured or disabled',
- 'GAPI_SIGN_OUT' : 'Sign out from Google API Services',
- 'GAPI_REVOKE' : 'Revoke permissions and Sign Out',
- 'GAPI_AUTH_FAILURE' : 'Google API Authentication failed or did not take place',
- 'GAPI_AUTH_FAILURE_FMT' : 'Failed to authenticate: {0}:{1}',
- 'GAPI_LOAD_FAILURE' : 'Failed to load Google API',
- 'WLAPI_DISABLED' : 'Windows Live API module not configured or disabled',
- 'WLAPI_SIGN_OUT' : 'Sign out from Window Live API',
- 'WLAPI_LOAD_FAILURE' : 'Failed to load Windows Live API',
- 'WLAPI_LOGIN_FAILED' : 'Failed to log into Windows Live API',
- 'WLAPI_LOGIN_FAILED_FMT' : 'Failed to log into Windows Live API: {0}',
- 'WLAPI_INIT_FAILED_FMT' : 'Windows Live API returned {0} status',
- 'IDB_MISSING_DBNAME' : 'لا يمكن إنشاء IndexedDB دون إسم قاعدة معطيات',
- 'IDB_NO_SUCH_ITEM' : 'عنصر غير موجود',
- 'ERR_VFS_FATAL' : 'خطأ مميت',
- 'ERR_VFS_UNAVAILABLE' : 'غير متوفر',
- 'ERR_VFS_FILE_ARGS' : 'ملف ينتظر على الأقل عنصر',
- 'ERR_VFS_NUM_ARGS' : 'عدد العناصر غير كافي',
- 'ERR_VFS_EXPECT_FILE' : 'متوقع ملف',
- 'ERR_VFS_EXPECT_SRC_FILE' : 'متوقع مصدر الملف',
- 'ERR_VFS_EXPECT_DST_FILE' : 'متوقع وجهة الملف',
- 'ERR_VFS_FILE_EXISTS' : 'وجهة موجودة مسبقا',
- 'ERR_VFS_TARGET_NOT_EXISTS': 'وجهة غير موجودة',
- 'ERR_VFS_TRANSFER_FMT' : 'حدث خطأ أثناء التحويل من مساحات التخزين: {0}',
- 'ERR_VFS_UPLOAD_NO_DEST' : 'لا يمكن رفع ملف من دون وجهة',
- 'ERR_VFS_UPLOAD_NO_FILES' : 'لا يمكن رفع الملفات من دون تعيينها',
- 'ERR_VFS_UPLOAD_FAIL_FMT' : 'خطأ رفع الملف: {0}',
- 'ERR_VFS_UPLOAD_CANCELLED' : 'تك إلغاء رفع الملف',
- 'ERR_VFS_DOWNLOAD_NO_FILE' : 'لا يمكن رفع مسار من دون مسار',
- 'ERR_VFS_DOWNLOAD_FAILED' : 'حدث خطأ أثناء تحميل: {0}',
- 'ERR_VFS_REMOTEREAD_EMPTY' : 'الإجابة كانت فارغة',
- 'ERR_VFSMODULE_INVALID' : 'قسم VFS غير صحيح',
- 'ERR_VFSMODULE_INVALID_FMT' : 'قسم VFS غير صحيح: {0}',
- 'ERR_VFSMODULE_INVALID_METHOD' : 'قسم VFS طريقة',
- 'ERR_VFSMODULE_INVALID_METHOD_FMT' : 'قسم VFS طريقة: {0}',
- 'ERR_VFSMODULE_INVALID_TYPE' : 'نوع القسم VFS غير صحيح',
- 'ERR_VFSMODULE_INVALID_TYPE_FMT' : 'نوع القسم VFS غير صحيح: {0}',
- 'ERR_VFSMODULE_INVALID_CONFIG' : 'إعدادات القسم VFS غير صحيحة',
- 'ERR_VFSMODULE_INVALID_CONFIG_FMT' : 'إعدادات القسم VFS إعدادات القسم: {0}',
- 'ERR_VFSMODULE_ALREADY_MOUNTED' : 'قسم VFS مركب مسبقا',
- 'ERR_VFSMODULE_ALREADY_MOUNTED_FMT': 'قسم VFS \'{0}\' مركب مسبقا',
- 'ERR_VFSMODULE_NOT_MOUNTED' : 'قسم VFS غير مركب',
- 'ERR_VFSMODULE_NOT_MOUNTED_FMT' : 'قسم VFS \'{0}\' غير مركب',
- 'ERR_VFSMODULE_EXCEPTION' : 'قسم VFS خطأ',
- 'ERR_VFSMODULE_EXCEPTION_FMT' : 'قسم VFS خطأ: {0}',
- 'ERR_VFSMODULE_NOT_FOUND_FMT' : 'لا يوجد VFS {0}. خطأ في شاكلة المسار ?',
- 'ERR_VFSMODULE_READONLY' : 'هذا VFS للقراءة فقط',
- 'ERR_VFSMODULE_READONLY_FMT' : 'هذا VFS للقراءة فقط : {0}',
- 'TOOLTIP_VFS_DOWNLOAD_NOTIFICATION': 'جاري تحميل الملف',
- 'ERR_VFSMODULE_XHR_ERROR' : 'XHR خطأ',
- 'ERR_VFSMODULE_ROOT_ID' : 'خطأ تحديد معرف root',
- 'ERR_VFSMODULE_NOSUCH' : 'ملف غير موجود',
- 'ERR_VFSMODULE_PARENT' : 'لا يوجد أب',
- 'ERR_VFSMODULE_PARENT_FMT' : 'فشل البحث عن أب: {0}',
- 'ERR_VFSMODULE_SCANDIR' : 'فشل مسح المجلد',
- 'ERR_VFSMODULE_SCANDIR_FMT' : 'فشل مسح المجلد : {0}',
- 'ERR_VFSMODULE_READ' : 'فشل قراءة الملف',
- 'ERR_VFSMODULE_READ_FMT' : 'فشل قراءة الملف: {0}',
- 'ERR_VFSMODULE_WRITE' : 'فشل الكتابة في الملف',
- 'ERR_VFSMODULE_WRITE_FMT' : 'فشل الكتابة في الملف: {0}',
- 'ERR_VFSMODULE_COPY' : 'فشل في النسخ',
- 'ERR_VFSMODULE_COPY_FMT' : 'فشل في النسخ: {0}',
- 'ERR_VFSMODULE_UNLINK' : 'فشل في حذف رابط الملف',
- 'ERR_VFSMODULE_UNLINK_FMT' : 'فشل في حذف رابط الملف: {0}',
- 'ERR_VFSMODULE_MOVE' : 'فشل في تحريك الملف',
- 'ERR_VFSMODULE_MOVE_FMT' : 'فشل في تحريك الملف: {0}',
- 'ERR_VFSMODULE_EXIST' : 'فشل في تحديد وجود الملف',
- 'ERR_VFSMODULE_EXIST_FMT' : 'فشل في تحديد وجود الملف: {0}',
- 'ERR_VFSMODULE_FILEINFO' : 'فشل في تحديد معلومات الملف',
- 'ERR_VFSMODULE_FILEINFO_FMT' : 'فشل في تحديد معلومات الملف: {0}',
- 'ERR_VFSMODULE_MKDIR' : 'فشل في إنشاء المجلد',
- 'ERR_VFSMODULE_MKDIR_FMT' : 'فشل في إنشاء المجلد: {0}',
- 'ERR_VFSMODULE_URL' : 'فشل في الحصول على رابط الملف',
- 'ERR_VFSMODULE_URL_FMT' : 'فشل في الحصول على رابط الملف: {0}',
- 'ERR_VFSMODULE_TRASH' : 'فشل في تحريك الملف إلى سلة المحذوفات',
- 'ERR_VFSMODULE_TRASH_FMT' : 'فشل في تحريك الملف إلى سلة المحذوفات: {0}',
- 'ERR_VFSMODULE_UNTRASH' : 'فشل في تحريك الملف من سلة المحذوفات',
- 'ERR_VFSMODULE_UNTRASH_FMT' : 'فشل في تحريك الملف من سلة المحذوفات: {0}',
- 'ERR_VFSMODULE_EMPTYTRASH' : 'فشل في تفريغ سلة المحذوفات',
- 'ERR_VFSMODULE_EMPTYTRASH_FMT' : 'فشل في تفريغ سلة المحذوفات: {0}',
- 'ERR_VFSMODULE_FIND' : 'فشل في البحث',
- 'ERR_VFSMODULE_FIND_FMT' : 'فشل في البحث: {0}',
- 'ERR_VFSMODULE_FREESPACE' : 'فشل في الحصول على المساحة الفارغة',
- 'ERR_VFSMODULE_FREESPACE_FMT' : 'فشل في الحصول على المساحة الفارغة: {0}',
- 'ERR_VFSMODULE_EXISTS' : 'فشل في التأكيد على الوجود',
- 'ERR_VFSMODULE_EXISTS_FMT' : 'فشل في التأكيد على الوجود: {0}',
- 'DROPBOX_NOTIFICATION_TITLE' : 'أنت الآن مسجل في Dropbox API',
- 'DROPBOX_SIGN_OUT' : 'خروج من Google API Services',
- 'ONEDRIVE_ERR_RESOLVE' : 'خطأ في تحديد المسار : لا يوجد أي عنصر',
- 'ZIP_PRELOAD_FAIL' : 'خطأ تحميل zip.js',
- 'ZIP_VENDOR_FAIL' : 'zip.js غير موجود ?',
- 'ZIP_NO_RESOURCE' : 'لا توجد أي موارد zip.',
- 'ZIP_NO_PATH' : 'لم يعطى إي مسار',
- 'SEARCH_LOADING': 'جاري البحث...',
- 'SEARCH_NO_RESULTS': 'لا توجد أي نتيجة',
- 'ERR_PACKAGE_EXISTS': 'مجلد التثبيت موجود من قبل، من المستحيل المتابعة !',
- 'ERR_FILE_APP_OPEN' : 'لا يمكن فتح الملف',
- 'ERR_FILE_APP_OPEN_FMT' : 'الملف {0} غير قابل للفتح لأن التعريف {1} غير مدعوم',
- 'ERR_FILE_APP_OPEN_ALT_FMT' : 'الملف {0} غير ممكن فتحه',
- 'ERR_FILE_APP_SAVE_ALT_FMT' : 'الملف {0} غير ممكن حفظه',
- 'ERR_GENERIC_APP_FMT' : '{0} خطأ في التطبيق',
- 'ERR_GENERIC_APP_ACTION_FMT': 'عدم التمكن من إنجاز العملية \'{0}\'',
- 'ERR_GENERIC_APP_UNKNOWN' : 'خطأ غير معروف',
- 'ERR_GENERIC_APP_REQUEST' : 'حدث خطأ أثناء إجراء العملية المطلوبة',
- 'ERR_GENERIC_APP_FATAL_FMT' : 'خطأ مميت {0}',
- 'MSG_GENERIC_APP_DISCARD' : 'إلغاء التغيرات ?',
- 'MSG_FILE_CHANGED' : 'تم تغيير الملف، هل تريد التحديث',
- 'MSG_APPLICATION_WARNING' : 'تحذير النطبيق',
- 'MSG_MIME_OVERRIDE' : 'نوع الملف "{0}" غير مدعوم, إستخدم "{1}" في مكانه.',
- 'LBL_UNKNOWN' : 'غير معروف',
- 'LBL_APPEARANCE' : 'مظهر',
- 'LBL_USER' : 'مستخدم',
- 'LBL_NAME' : 'إسم',
- 'LBL_APPLY' : 'تطبيق',
- 'LBL_FILENAME' : 'إسم الملف',
- 'LBL_PATH' : 'مسار',
- 'LBL_SIZE' : 'حجم',
- 'LBL_TYPE' : 'نوع',
- 'LBL_MIME' : 'التعريف',
- 'LBL_LOADING' : 'جاري التحميل',
- 'LBL_SETTINGS' : 'إعدادات',
- 'LBL_ADD_FILE' : 'إضافة ملفات',
- 'LBL_COMMENT' : 'تعليق',
- 'LBL_ACCOUNT' : 'حساب',
- 'LBL_CONNECT' : 'إتصال',
- 'LBL_ONLINE' : 'متصل',
- 'LBL_OFFLINE' : 'غير متصل',
- 'LBL_AWAY' : 'بعيد',
- 'LBL_BUSY' : 'مشغول',
- 'LBL_CHAT' : 'دردشة',
- 'LBL_HELP' : 'مساعدة',
- 'LBL_ABOUT' : 'عن',
- 'LBL_PANELS' : 'اللوحات',
- 'LBL_LOCALES' : 'اللغة/المنطقة',
- 'LBL_THEME' : 'القالب',
- 'LBL_COLOR' : 'اللون',
- 'LBL_PID' : 'رقم العملية',
- 'LBL_KILL' : 'إنهاء',
- 'LBL_ALIVE' : 'في الخدمة',
- 'LBL_INDEX' : 'الرقم',
- 'LBL_ADD' : 'إضافة',
- 'LBL_FONT' : 'الخط',
- 'LBL_YES' : 'نعم',
- 'LBL_NO' : 'لا',
- 'LBL_CANCEL' : 'إلغاء',
- 'LBL_TOP' : 'أعلى',
- 'LBL_LEFT' : 'اليسار',
- 'LBL_RIGHT' : 'اليمين',
- 'LBL_BOTTOM' : 'أسفل',
- 'LBL_CENTER' : 'وسط',
- 'LBL_FILE' : 'ملف',
- 'LBL_NEW' : 'جديد',
- 'LBL_OPEN' : 'فتح',
- 'LBL_SAVE' : 'حفظ',
- 'LBL_SAVEAS' : 'حفظ بإسم...',
- 'LBL_CLOSE' : 'إغلاق',
- 'LBL_MKDIR' : 'مجلد جديد',
- 'LBL_UPLOAD' : 'رفع ملف',
- 'LBL_VIEW' : 'إظهار',
- 'LBL_EDIT' : 'تغيير',
- 'LBL_RENAME' : 'إعادة تسمية',
- 'LBL_DELETE' : 'حذف',
- 'LBL_OPENWITH' : 'فتح بواسطة ...',
- 'LBL_ICONVIEW' : 'إظهار كأيقونات',
- 'LBL_TREEVIEW' : 'إظهار كشجرة',
- 'LBL_LISTVIEW' : 'إظهار كقائمة',
- 'LBL_REFRESH' : 'تحديث',
- 'LBL_VIEWTYPE' : 'نوع المظهر',
- 'LBL_BOLD' : 'غليظ',
- 'LBL_ITALIC' : 'مائل',
- 'LBL_UNDERLINE' : 'مسطر',
- 'LBL_REGULAR' : 'عادي',
- 'LBL_STRIKE' : 'مشطوب',
- 'LBL_INDENT' : 'مساحة لأمام',
- 'LBL_OUTDENT' : 'مساحة للخلف',
- 'LBL_UNDO' : 'تراجع',
- 'LBL_REDO' : 'إلى الأمام',
- 'LBL_CUT' : 'قص',
- 'LBL_UNLINK' : 'حذف الرابط',
- 'LBL_COPY' : 'نسخ',
- 'LBL_PASTE' : 'لصق',
- 'LBL_INSERT' : 'إدراج',
- 'LBL_IMAGE' : 'صورة',
- 'LBL_LINK' : 'رابط',
- 'LBL_DISCONNECT' : 'قطع الإتصال',
- 'LBL_APPLICATIONS' : 'التطبيقات',
- 'LBL_ADD_FOLDER' : 'إضافة مجلد',
- 'LBL_INFORMATION' : 'معلومات',
- 'LBL_TEXT_COLOR' : 'لون النص',
- 'LBL_BACK_COLOR' : 'خلفية النص',
- 'LBL_RESET_DEFAULT' : 'لإستعادة لإفتراضي',
- 'LBL_DOWNLOAD_COMP' : 'تحميل إلى الكمبيوتر',
- 'LBL_ORDERED_LIST' : 'ترتيب القائمة',
- 'LBL_BACKGROUND_IMAGE' : 'صورة الخلفية',
- 'LBL_BACKGROUND_COLOR' : 'لون الخلفية',
- 'LBL_UNORDERED_LIST' : 'قائمة غير مرتبة',
- 'LBL_STATUS' : 'الحالة',
- 'LBL_READONLY' : 'قراءة-فقط',
- 'LBL_CREATED' : 'تاريخ الإنشاء',
- 'LBL_MODIFIED' : 'تاريخ التغيير',
- 'LBL_SHOW_COLUMNS' : 'إظهار الأعمدة',
- 'LBL_MOVE' : 'تحريك',
- 'LBL_OPTIONS' : 'خيارات',
- 'LBL_OK' : 'موافق',
- 'LBL_DIRECTORY' : 'مجلد',
- 'LBL_CREATE' : 'إنشاء',
- 'LBL_BUGREPORT' : 'إشعار بخطأ',
- 'LBL_INSTALL' : 'تثبيت',
- 'LBL_UPDATE' : 'تحديث',
- 'LBL_REMOVE' : 'إزالة',
- 'LBL_SHOW_SIDEBAR' : 'إظهار الشريط الجانبي',
- 'LBL_SHOW_NAVIGATION' : 'إظهار شريط الإنتقال',
- 'LBL_SHOW_HIDDENFILES' : 'إظهار الملفات المخفية',
- 'LBL_SHOW_FILEEXTENSIONS' : 'إظهار لواحق الملفات',
- 'LBL_MOUNT': 'تركيب',
- 'LBL_DESCRIPTION': 'الوصف',
- 'LBL_USERNAME': 'المستخدم',
- 'LBL_PASSWORD': 'كلمة المرور',
- 'LBL_HOST': 'المستضيف',
- 'LBL_NAMESPACE': 'إسم الساحة',
- 'LBL_SEARCH': 'بحث',
- 'LBL_Theme' : 'القالب',
- 'LBL_SOUNDS' : 'أصوات',
- 'LBL_ICONS' : 'أيقونات',
- 'LBL_BACKGROUND' : 'خلفيات',
- 'LBL_DESKTOP' : 'المكتب',
- 'LBL_PANEL' : 'اللوحة',
- 'LBL_POSITION' : 'الوصعية',
- 'LBL_ONTOP' : 'في المقدمة',
- 'LBL_ITEMS' : 'العناصر',
- 'LBL_GENERAL' : 'عام',
- 'LBL_DEBUG' : 'تصحيح',
- 'LBL_AUTOHIDE' : 'إخفاء تلقائي',
- 'LBL_OPACITY' : 'الشفافية',
- 'LBL_PACKAGES' : 'الحزم',
- 'LBL_GROUPS' : 'المجموعات',
- 'LBL_VERSION' : 'الطبعة',
- 'LBL_AUTHOR' : 'الكاتب',
- 'LBL_HIDE' : 'إخفاء',
- 'LBL_APPLICATION' : 'تطبيق',
- 'LBL_SCOPE' : 'الزمرة'
- };
-})();
diff --git a/build/htdocs/dist/osjs.css b/build/htdocs/dist/osjs.css
deleted file mode 100644
index a359d7c..0000000
--- a/build/htdocs/dist/osjs.css
+++ /dev/null
@@ -1,1702 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-html, body {
- height : 100%;
- overflow : hidden;
-}
-body {
- margin : 0;
- padding : 0;
- background-color : #572a79;
-}
-body, input, button, textarea, label, select {
- font-size : 12px;
- font-family : Sans-serif, Arial;
-}
-#Login {
- background : #fff;
- width : 400px;
- height : 230px;
- padding : 20px;
- position : absolute;
- left : 50%;
- top : 50%;
- z-index : 9999;
- margin-left : -200px;
- margin-top : -155px;
- border : 4px solid rgba(0, 0, 0, .1);
- -webkit-box-shadow: 0 0 5px 4px rgba(0,0,0,0.15);
- -moz-box-shadow: 0 0 5px 4px rgba(0,0,0,0.15);
- box-shadow: 0 0 5px 4px rgba(0,0,0,0.15);
- box-sizing : border-box;
- display : none;
-}
- #LoginForm > div {
- margin-bottom : 20px;
- }
- #Login label {
- display : block;
- font-weight : bold;
- height : 30px;
- line-height : 30px;
- }
- #Login input[type=text],
- #Login input[type=password] {
- display : block;
- width : 100%;
- height : 24px;
- padding : 4px;
- line-height : 12px;
- box-sizing : border-box;
- }
- #Login input[type=submit] {
- height : 40px;
- padding : 10px;
- padding-left : 20px;
- padding-right : 20px;
- box-sizing : border-box;
- background : rgba(0, 0, 0, .1);
- border : 0 none;
- cursor : pointer;
- }
- #Login .Submit {
- text-align : right;
- }
-#LoadingScreen {
- position : absolute;
- width : 320px;
- height : 182px;
- top : 50%;
- left : 50%;
- margin-top : -91px;
- margin-left : -160px;
- z-index : 999;
-}
- #LoadingScreen span {
- color : #fff;
- font-family : sans-serif, Arial;
- font-size : 30px;
- display : block;
- }
-application-splash {
- display : block;
- position : absolute;
- top : 50%;
- left : 50%;
- width : 300px;
- height : 55px;
- margin-left : -150px;
- margin-top : -28px;
- z-index : 99999998;
-}
- application-splash > img {
- display : block;
- position : absolute;
- top : 5px;
- left : 5px;
- width : 16px;
- height : 16px;
- }
- application-splash > span {
- display : block;
- position : absolute;
- top : 5px;
- left : 26px;
- height : 16px;
- line-height : 16px;
- }
- application-splash > gui-progress-bar {
- position : absolute;
- bottom : 5px;
- left : 5px;
- right : 5px;
- }
-#LoadingScreen application-splash {
- position : absolute;
- height : 30px;
- width : auto;
- top : auto;
- left : 0;
- right : 0;
- bottom : -40px;
- margin : 0;
- background : #fff;
- z-index : 99999999;
-}
- #LoadingScreen application-splash > span {
- display : none;
- }
- #LoadingScreen application-splash > gui-progress-bar {
- top : 5px;
- left : 5px;
- right : 5px;
- bottom : 5px;
- height : auto;
- }
- #LoadingScreen application-splash > gui-progress-bar:before {
- border : 1px solid #ccc;
- background : #ddd;
- }
- #LoadingScreen application-splash > gui-progress-bar > span {
- display : none;
- }
- #LoadingScreen application-splash > gui-progress-bar > div {
- background : rgb(87, 42, 121);
- }
-body[data-attention="true"]:after {
- content : '';
- display : block;
- position : fixed;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 1;
-}
-#DebugNotice {
- position : absolute;
- bottom : 5px;
- right : 5px;
- font-size : 12px;
- color : #fff;
- text-shadow: 0 0 2px rgba(34, 34, 34, .5);
- text-align : right;
- line-height : 20px;
- z-index : 2;
- opacity : .7;
- cursor : default;
-}
- #DebugNotice a {
- color : #fff;
- text-decoration : underline;
- font-weight : normal;
- cursor : pointer;
- }
-.application-window-button-entry,
-application-window,
-application-window-top,
-application-window-content,
-application-window-icon,
-application-window-title,
-application-window-loading,
-application-window-disabled,
-application-window-loading-indicator {
- display : block;
-}
-application-window {
- position : absolute;
- top : 0;
- left : 0;
- overflow : visible;
-}
-application-window:before {
- content : '';
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
-}
-application-window-top {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- height : 20px;
- z-index : 5;
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- -webkit-flex-wrap: nowrap;
- -moz-flex-wrap: nowrap;
- -ms-flex-wrap: nowrap;
- -o-flex-wrap: nowrap;
- flex-wrap: nowrap;
-}
- application-window-top > * {
- min-width : 16px;
- min-height : 16px;
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- -webkit-flex: 0 0 auto;
- -moz-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- -o-flex: 0 0 auto;
- flex: 0 0 auto;
- }
-application-window-icon {
- text-align : center;
- position : relative;
- background-position : center center;
- background-repeat : no-repeat;
- background-size : 16px;
-}
-application-window-title {
- height : 100%;
- z-index : 1;
- overflow : hidden;
- white-space : nowrap;
- line-height : 20px;
- display : block;
- -webkit-text-overflow: ellipsis;
- -moz-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- -webkit-flex: 1 1 auto;
- -moz-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- -o-flex: 1 1 auto;
- flex: 1 1 auto;
-}
-.application-window-button-entry {
- padding : 0;
- margin : 0;
- height : 100%;
- text-align : center;
- display : inline-block;
- position : relative;
- display : none;
-}
- application-window[data-allow-maximize="true"] application-window-button-maximize {
- display : block;
- }
- application-window[data-allow-minimize="true"] application-window-button-minimize {
- display : block;
- }
- application-window[data-allow-close="true"] application-window-button-close {
- display : block;
- }
-application-window-content {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 1;
-}
-application-window-resize {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : -1;
-}
-application-window[data-allow-resize="false"] > application-window-resize {
- display : none;
- cursor : default !important;
-}
- application-window-resize-handle {
- position : absolute;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- }
- application-window-resize-handle[data-direction="n"] {
- cursor : n-resize;
- top : 0;
- height : 30px;
- left : 20px;
- right : 20px;
- }
- application-window-resize-handle[data-direction="s"] {
- cursor : s-resize;
- bottom : 0;
- height : 30px;
- left : 20px;
- right : 20px;
- }
- application-window-resize-handle[data-direction="w"] {
- cursor : w-resize;
- left : 0;
- width : 30px;
- top : 20px;
- bottom : 20px;
- }
- application-window-resize-handle[data-direction="e"] {
- cursor : e-resize;
- right : 0;
- width : 30px;
- top : 20px;
- bottom : 20px;
- }
- application-window-resize-handle[data-direction="sw"] {
- cursor : sw-resize;
- bottom : 0;
- left : 0;
- height : 30px;
- width : 30px;
- }
- application-window-resize-handle[data-direction="se"] {
- cursor : se-resize;
- bottom : 0;
- right : 0;
- height : 30px;
- width : 30px;
- }
- application-window-resize-handle[data-direction="nw"] {
- cursor : nw-resize;
- top : 0;
- left : 0;
- height : 30px;
- width : 30px;
- }
- application-window-resize-handle[data-direction="ne"] {
- cursor : ne-resize;
- top : 0;
- right : 0;
- height : 30px;
- width : 30px;
- }
-application-window-loading {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 999999;
-}
- application-window-loading-indicator {
- position : absolute;
- left : 50%;
- top : 50%;
- }
-application-window-disabled {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 999998;
-}
-application-window[data-dnd-state="true"]:after {
- content : '';
- position : absolute;
- top : 0;
- left : 0;
- bottom : 0;
- right : 0;
-}
-application-window[data-hint="resizing"] iframe,
-application-window[data-hint="moving"] iframe {
- pointer-events: none;
-}
-application-window-warning {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- height : 30px;
- line-height : 20px;
- margin : 4px;
- border : 1px solid transparent;
- z-index : 99999;
- box-sizing : border-box;
-}
- application-window-warning > div:nth-child(1) {
- position : absolute;
- top : 0;
- right : 0;
- bottom : 0;
- padding : 4px;
- box-sizing : border-box;
- }
- application-window-warning > div:nth-child(2) {
- position : absolute;
- top : 0;
- left : 0;
- right : 20px;
- bottom : 0;
- padding : 4px;
- overflow : hidden;
- box-sizing : border-box;
- }
-application-window.DialogWindow gui-label label {
- white-space : inherit;
-}
-application-window.DialogWindow gui-button-bar gui-button {
- min-width : 80px;
-}
-application-window.DialogWindow gui-label[data-id="Message"] span {
- font-weight : bold;
-}
-.IFrameApplicationWindow application-window-content {
- background : #000;
-}
-.IframeApplicationFrame {
- box-sizing : border-box;
- margin : 0;
- padding : 0;
- width : 100%;
- height : 100%;
- border : 0 none;
- outline : 0 none;
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
-}
-application-window[data-focused="false"] iframe {
- pointer-events : none;
-}
-@media all and (max-width: 800px) {
- body {
- overflow : hidden;
- }
- application-window {
- width : auto !important;
- height : auto !important;
- left : 0 !important;
- right : 0 !important;
- bottom : 0 !important;
- top : 0 !important;
- }
- application-window-button-maximize,
- application-window-button-minimize {
- display : none !important;
- }
- application-window-content {
- overflow : auto !important;
- }
-}
-
-button, div, span, p, a, img, label, .gui-element, application-window {
- cursor : default;
- -webkit-touch-callout: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.gui-bold > label,
-.gui-bold {
- font-weight : bold;
-}
-.gui-italic > label,
-.gui-italic {
- font-style : italic;
-}
-.gui-underline > label,
-.gui-underline {
- text-decoration : underline;
-}
-.gui-align-left {
- text-align : left;
-}
-.gui-align-center {
- text-align : center;
-}
-.gui-align-right {
- text-align : right;
-}
-.gui-disable-events {
- pointer-events : none;
-}
-.gui-no-overflow {
- overflow : hidden;
-}
-.gui-has-emblem {
- background-repeat : no-repeat;
- background-position : right center;
-}
-.gui-focus-element {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- display : block;
- outline : 0 none;
- resize : none;
- border : 0 none;
- background : transparent;
- color : transparent;
- position : absolute;
- margin : 0;
- padding : 0;
- left : 0;
- bottom : 0;
- top : 0;
- right : 0;
- width : 100%;
- height : 100%;
- z-index : 1;
- overflow : hidden;
- box-sizing : border-box;
-}
-.gui-flex-align-start {
- -webkit-box-align: start;
- -moz-box-align: start;
- -ms-box-align: start;
- -o-box-align: start;
- box-align: start;
- -webkit-align-self: flex-start;
- -moz-align-self: flex-start;
- -ms-align-self: flex-start;
- -o-align-self: flex-start;
- align-self: flex-start;
-}
-.gui-flex-align-end {
- -webkit-box-align: end;
- -moz-box-align: end;
- -ms-box-align: end;
- -o-box-align: end;
- box-align: end;
- -webkit-align-self: flex-end;
- -moz-align-self: flex-end;
- -ms-align-self: flex-end;
- -o-align-self: flex-end;
- align-self: flex-end;
-}
-.gui-flex-align-center {
- -webkit-box-align: center;
- -moz-box-align: center;
- -ms-box-align: center;
- -o-box-align: center;
- box-align: center;
- -webkit-align-self: center;
- -moz-align-self: center;
- -ms-align-self: center;
- -o-align-self: center;
- align-self: center;
-}
-.gui-flex {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- -webkit-box-orient: horizontal;
- -moz-box-orient: horizontal;
- -ms-box-orient: horizontal;
- -o-box-orient: horizontal;
- box-orient: horizontal;
- -webkit-flex-direction: row;
- -moz-flex-direction: row;
- -ms-flex-direction: row;
- -o-flex-direction: row;
- flex-direction: row;
-}
- .gui-flex > * {
- display : block;
- }
-.gui-flex-normal {
- -webkit-box-flex: 0 0 auto;
- -moz-box-flex: 0 0 auto;
- -ms-box-flex: 0 0 auto;
- -o-box-flex: 0 0 auto;
- -webkit-flex: 0 0 auto;
- -moz-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- -o-flex: 0 0 auto;
- flex: 0 0 auto;
-}
-.gui-flex-grow-shrink {
- -webkit-box-flex: 1 1 auto;
- -moz-box-flex: 1 1 auto;
- -ms-box-flex: 1 1 auto;
- -o-box-flex: 1 1 auto;
- -webkit-flex: 1 1 auto;
- -moz-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- -o-flex: 1 1 auto;
- flex: 1 1 auto;
-}
-.gui-flex-grow {
- -webkit-box-flex: 1 0 auto;
- -moz-box-flex: 1 0 auto;
- -ms-box-flex: 1 0 auto;
- -o-box-flex: 1 0 auto;
- -webkit-flex: 1 0 auto;
- -moz-flex: 1 0 auto;
- -ms-flex: 1 0 auto;
- -o-flex: 1 0 auto;
- flex: 1 0 auto;
-}
-.gui-flex-shrink {
- -webkit-box-flex: 0 1 auto;
- -moz-box-flex: 0 1 auto;
- -ms-box-flex: 0 1 auto;
- -o-box-flex: 0 1 auto;
- -webkit-flex: 0 1 auto;
- -moz-flex: 0 1 auto;
- -ms-flex: 0 1 auto;
- -o-flex: 0 1 auto;
- flex: 0 1 auto;
-}
-gui-container {
- display : block;
- position : relative;
- overflow : auto;
-}
-gui-hbox,
-gui-vbox {
- width : 100%;
- height : 100%;
- position : relative;
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-}
-gui-hbox {
- -webkit-box-orient: horizontal;
- -moz-box-orient: horizontal;
- -ms-box-orient: horizontal;
- -o-box-orient: horizontal;
- box-orient: horizontal;
- -webkit-flex-direction: row;
- -moz-flex-direction: row;
- -ms-flex-direction: row;
- -o-flex-direction: row;
- flex-direction: row;
-}
-gui-vbox {
- -webkit-box-orient: vertical;
- -moz-box-orient: vertical;
- -ms-box-orient: vertical;
- -o-box-orient: vertical;
- box-orient: vertical;
- -webkit-flex-direction: column;
- -moz-flex-direction: column;
- -ms-flex-direction: column;
- -o-flex-direction: column;
- flex-direction: column;
-}
- gui-hbox-container {
- height : 100%;
- }
- gui-hbox-container,
- gui-vbox-container {
- display : block;
- position : relative;
- -webkit-box-flex: 0 0 auto;
- -moz-box-flex: 0 0 auto;
- -ms-box-flex: 0 0 auto;
- -o-box-flex: 0 0 auto;
- -webkit-flex: 0 0 auto;
- -moz-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- -o-flex: 0 0 auto;
- flex: 0 0 auto;
- }
- gui-hbox-container[data-fill='true'],
- gui-vbox-container[data-fill='true'] {
- -webkit-align-items: stretch;
- -moz-align-items: stretch;
- -ms-align-items: stretch;
- -o-align-items: stretch;
- align-items: stretch;
- -webkit-align-content: stretch;
- -moz-align-content: stretch;
- -ms-align-content: stretch;
- -o-align-content: stretch;
- align-content: stretch;
- }
- gui-hbox-container[data-expand='true'] > *,
- gui-vbox-container[data-expand='true'] > * {
- display : block;
- }
- gui-hbox-container[data-fill='true'] > *,
- gui-vbox-container[data-fill='true'] > * {
- position : absolute;
- top : 0;
- left : 0;
- bottom : 0;
- right : 0;
- }
- gui-hbox-container[data-fill='true'] > gui-hbox,
- gui-hbox-container[data-fill='true'] > gui-vbox,
- gui-vbox-container[data-fill='true'] > gui-hbox,
- gui-vbox-container[data-fill='true'] > gui-vbox {
- width : 100%;
- height : 100%;
- }
- gui-hbox-container[data-fill='true'] > gui-vbox,
- gui-hbox-container[data-fill='true'] > gui-hbox,
- gui-vbox-container[data-fill='true'] > gui-vbox,
- gui-vbox-container[data-fill='true'] > gui-hbox {
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- }
-gui-scroll-view {
- display : block;
- position : relative;
- overflow : auto;
- width : 100%;
- height : 100%;
-}
-gui-paned-view {
- position : relative;
- overflow : hidden;
- width : 100%;
- height : 100%;
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- -webkit-box-orient: horizontal;
- -moz-box-orient: horizontal;
- -ms-box-orient: horizontal;
- -o-box-orient: horizontal;
- box-orient: horizontal;
- -webkit-flex-direction: row;
- -moz-flex-direction: row;
- -ms-flex-direction: row;
- -o-flex-direction: row;
- flex-direction: row;
-}
-gui-paned-view[data-orientation='vertical'] {
- -webkit-box-orient: vertical;
- -moz-box-orient: vertical;
- -ms-box-orient: vertical;
- -o-box-orient: vertical;
- box-orient: vertical;
- -webkit-flex-direction: column;
- -moz-flex-direction: column;
- -ms-flex-direction: column;
- -o-flex-direction: column;
- flex-direction: column;
-}
- gui-paned-view > * {
- display : block;
- position : relative;
- -webkit-box-flex: 1 1 auto;
- -moz-box-flex: 1 1 auto;
- -ms-box-flex: 1 1 auto;
- -o-box-flex: 1 1 auto;
- -webkit-flex: 1 1 auto;
- -moz-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- -o-flex: 1 1 auto;
- flex: 1 1 auto;
- }
- gui-paned-view > gui-paned-view-container {
- height : 100%;
- overflow : hidden;
- }
- gui-paned-view > gui-paned-view-container > * {
- height : 100%;
- display : block;
- }
- gui-paned-view > gui-paned-view-container[data-fill='true'] > * {
- position : absolute;
- top : 0;
- left : 0;
- bottom : 0;
- right : 0;
- }
- gui-paned-view > gui-paned-view-handle {
- height : 100%;
- -webkit-box-flex: 0 1 auto;
- -moz-box-flex: 0 1 auto;
- -ms-box-flex: 0 1 auto;
- -o-box-flex: 0 1 auto;
- -webkit-flex: 0 1 auto;
- -moz-flex: 0 1 auto;
- -ms-flex: 0 1 auto;
- -o-flex: 0 1 auto;
- flex: 0 1 auto;
- }
- gui-paned-view > gui-paned-view-container {
- min-width : 16px;
- min-height : auto;
- }
- gui-paned-view[data-orientation='vertical'] > gui-paned-view-container {
- min-width : auto;
- min-height : 16px;
- }
-gui-iframe {
- display : inline-block;
- position : relative;
- min-width : 16px;
- min-height : 16px;
-}
- gui-iframe > iframe {
- display : block;
- width : 100%;
- height : 100%;
- margin : 0;
- padding : 0;
- border : 0 none;
- box-sizing : border-box;
- }
-gui-toolbar,
-gui-button-bar {
- display : block;
- position : relative;
- overflow : hidden;
- font-size : 0;
- min-width : 16px;
- min-height : 16px;
-}
-gui-button-bar {
- white-space: nowrap;
-}
-gui-toolbar[data-orientation="vertical"],
-gui-button-bar[data-orientation="vertical"] {
- width : 100%;
- height : 100%;
-}
-gui-toolbar-separator {
- display : inline-block;
-}
-gui-expander {
- display : block;
- position : relative;
-}
- gui-expander-label {
- display : block !important;
- position : relative;
- }
- gui-expander[data-expanded="false"] > * {
- display : none;
- }
-gui-tabs {
- display : block;
- position : relative;
-}
- gui-tabs > ul {
- display : block;
- list-style-type : none;
- margin : 0;
- padding : 0;
- white-space: nowrap;
- }
- gui-tabs > ul > li {
- position : relative;
- display : inline-block;
- margin : 0;
- padding : 0;
- height : 100%;
- }
- gui-tabs > ul > li.gui-active:after {
- content : '';
- position : absolute;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 999999999;
- }
- gui-tabs > gui-tab-container {
- overflow : hidden;
- display : none;
- position : relative;
- }
- gui-tab-container.gui-active {
- display : block;
- }
-application-window-content > gui-tabs {
- width : 100%;
- height : 100%;
-}
-gui-grid {
- position : relative;
- display : block;
-}
- gui-grid > gui-grid-row {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- -webkit-box-orient: horizontal;
- -moz-box-orient: horizontal;
- -ms-box-orient: horizontal;
- -o-box-orient: horizontal;
- box-orient: horizontal;
- -webkit-flex-direction: row;
- -moz-flex-direction: row;
- -ms-flex-direction: row;
- -o-flex-direction: row;
- flex-direction: row;
- justify-content: space-around;
- }
- gui-grid > gui-grid-row > gui-grid-entry {
- margin: 5px;
- -webkit-box-flex: 1 0 auto;
- -moz-box-flex: 1 0 auto;
- -ms-box-flex: 1 0 auto;
- -o-box-flex: 1 0 auto;
- -webkit-flex: 1 0 auto;
- -moz-flex: 1 0 auto;
- -ms-flex: 1 0 auto;
- -o-flex: 1 0 auto;
- flex: 1 0 auto;
- height: auto;
- position: relative;
- }
- gui-grid > gui-grid-row > gui-grid-entry > * {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- width : 100%;
- height : 100%;
- margin : 0;
- box-sizing : border-box;
- overflow : hidden;
- }
- gui-grid > gui-grid-row > gui-grid-entry > * > * {
- height : 100%;
- }
- gui-grid > gui-grid-row > gui-grid-entry:before {
- content:'';
- float:left;
- padding-top:100%;
- }
-gui-label {
- display : inline-block;
- position : relative;
-}
- gui-label > label {
- display : inline;
- white-space: nowrap;
- }
-gui-button {
- position : relative;
- display : inline-block;
- box-sizing : content-box;
-}
- gui-button button {
- display : block;
- margin : 0;
- padding : 0;
- outline : 0 none;
- white-space: nowrap;
- min-width : 16px;
- min-height : 16px;
- width : 100%;
- height : 100%;
- }
- gui-button button::-moz-focus-inner {
- border : 0;
- padding : 0;
- }
- gui-button[data-icon-size="32"] {
- min-width : 32px;
- min-height : 32px;
- }
- gui-button.gui-has-image img {
- vertical-align : middle;
- }
- gui-button.gui-has-image.gui-has-label img {
- position : absolute;
- top : 50%;
- margin-top : -8px;
- left : 8px;
- }
- gui-button[data-icon-size="32"].gui-has-image.gui-has-label img {
- margin-top : -16px;
- }
-gui-radio,
-gui-checkbox {
- display : inline-block;
- position : relative;
-}
- gui-radio input,
- gui-checkbox input {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- display: inline-block;
- vertical-align : middle;
- position: relative;
- background: transparent;
- border: 0 none;
- margin : 0;
- padding : 0;
- overflow : hidden;
- outline : none;
- }
- gui-radio input:checked:after {
- display : inline;
- vertical-align: middle;
- }
- gui-checkbox input:checked:after {
- display : inline;
- vertical-align: middle;
- }
- gui-radio > label > span,
- gui-checkbox > label > span {
- vertical-align : middle;
- }
-gui-radio {
- display : inline-block;
- position : relative;
-}
-gui-select {
- display : inline-block;
- position : relative;
-}
- gui-select select {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- -ms-border-radius: 0;
- -o-border-radius: 0;
- border-radius: 0;
- display : block;
- padding : 0;
- margin : 0;
- width : 100%;
- height : 100%;
- outline : none;
- box-sizing : border-box;
- }
- gui-select:before {
- content: '';
- position: absolute;
- z-index: 99;
- pointer-events: none;
- display: block;
- }
- gui-select:after {
- position: absolute;
- z-index: 100;
- pointer-events: none;
- }
-gui-select-list {
- display : inline-block;
- position : relative;
- min-height : 32px;
-}
- gui-select-list select {
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- -webkit-border-radius: 0;
- -moz-border-radius: 0;
- -ms-border-radius: 0;
- -o-border-radius: 0;
- border-radius: 0;
- display : block;
- padding : 0;
- margin : 0;
- width : 100%;
- height : 100%;
- outline : none;
- box-sizing : border-box;
- }
-gui-slider {
- display : inline-block;
- position : relative;
-}
- gui-slider input {
- display : inline-block;
- position : relative;
- width : 100%;
- padding : 0;
- margin : 0;
- vertical-align : middle;
- outline : 0 none;
- box-sizing : border-box;
- -webkit-appearance: none;
- -moz-appearance: none;
- -ms-appearance: none;
- -o-appearance: none;
- appearance: none;
- }
- gui-slider input::-moz-range-track {
- -moz-appearance: none;
- appearance: none;
- background : transparent;
- border : 0 none;
- width : 100%;
- box-sizing : border-box;
- }
- gui-slider input::-webkit-slider-runnable-track {
- width : 100%;
- border : 0 none;
- box-sizing : border-box;
- }
- gui-slider input::-ms-track {
- width: 100%;
- border : 0 none;
- cursor: pointer;
- background: transparent;
- border-color: transparent;
- color: transparent;
- box-sizing : border-box;
- }
- gui-slider input::-moz-range-thumb {
- -moz-appearance: none;
- -moz-border-radius : 0;
- border-radius : 0;
- }
- gui-slider input::-webkit-slider-thumb {
- -webkit-appearance: none !important;
- -webkit-border-radius : 0;
- border-radius : 0;
- }
- gui-slider input::-ms-thumb {
- -ms-appearance : none !important;
- -ms-border-radius : 0;
- border-radius : 0;
- }
- gui-slider input[type=range]::-ms-fill-lower {
- border : 0 none;
- background-color : #d9d9d9;
- }
- gui-slider input[type=range]::-ms-fill-upper {
- border : 0 none;
- background-color : #d9d9d9;
- }
- gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color : #d9d9d9;
- }
- gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color : #d9d9d9;
- }
-gui-switch {
- display : inline-block;
- position : relative;
-}
- gui-switch div {
- display : inline-block;
- position : relative;
- }
- gui-switch button {
- display : inline-block;
- outline : 0 none;
- margin : 0;
- width : 50%;
- box-sizing : border-box;
- }
- gui-switch button.gui-active {
- margin-left : 50%;
- }
- gui-switch input {
- display : none;
- pointer-events : none;
- }
-gui-password,
-gui-text {
- display : inline-block;
- position : relative;
-}
- gui-password input,
- gui-text input {
- display : block;
- padding : 0;
- margin : 0;
- width : 100%;
- height : 100%;
- background : transparent;
- border : 0 none;
- outline : none;
- box-sizing : border-box;
- }
- gui-password > label > input,
- gui-text > label > input {
- display : inline-block;
- width : auto;
- }
-gui-textarea {
- display : inline-block;
- position : relative;
-}
- gui-textarea textarea {
- display : block;
- padding : 0;
- margin : 0;
- width : 100%;
- height : 100%;
- border : 0 none;
- resize : none;
- outline : none;
- box-sizing : border-box;
- }
-gui-richtext {
- display : inline-block;
- position : relative;
- min-height : 100px !important;
-}
- gui-richtext > iframe {
- display : block;
- width : 100%;
- height : 100%;
- margin : 0;
- padding : 0;
- border : 0 none;
- box-sizing : border-box;
- }
-gui-file-upload {
- display : inline-block;
- position : relative;
-}
-gui-input-modal {
- position : relative;
- display : inline-block;
-}
- gui-input-modal > div {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
- }
- gui-input-modal input {
- display : inline-block;
- padding : 0;
- margin : 0;
- border : 0 none;
- outline : none;
- -webkit-box-flex: 1 0 auto;
- -moz-box-flex: 1 0 auto;
- -ms-box-flex: 1 0 auto;
- -o-box-flex: 1 0 auto;
- -webkit-flex: 1 0 auto;
- -moz-flex: 1 0 auto;
- -ms-flex: 1 0 auto;
- -o-flex: 1 0 auto;
- flex: 1 0 auto;
- }
- gui-input-modal button {
- display : inline-block;
- -webkit-box-flex: 0 1 auto;
- -moz-box-flex: 0 1 auto;
- -ms-box-flex: 0 1 auto;
- -o-box-flex: 0 1 auto;
- -webkit-flex: 0 1 auto;
- -moz-flex: 0 1 auto;
- -ms-flex: 0 1 auto;
- -o-flex: 0 1 auto;
- flex: 0 1 auto;
- }
-gui-audio {
- display : inline-block;
- position : relative;
-}
-gui-video {
- display : inline-block;
- position : relative;
- min-width : 16px;
- min-height : 16px;
-}
-gui-image {
- display : inline-block;
- position : relative;
-}
- gui-image > img {
- border : 0 none;
- outline : 0 none;
- vertical-align : middle;
- }
-gui-canvas {
- display : inline-block;
- position : relative;
- min-width : 16px;
- min-height : 16px;
-}
-gui-color-swatch {
- display : inline-block;
- position : relative;
- min-width : 100px !important;
- min-height : 100px !important;
-}
- gui-color-swatch canvas {
- width : 100%;
- height : 100%;
- display : block;
- }
-gui-color-box {
- display : inline-block;
- position : relative;
- background-color : #fff;
-}
-gui-color-box[data-disabled="true"] {
- cursor : default !important;
-}
- gui-color-box > div {
- min-width : 16px;
- min-height : 16px;
- }
-gui-menu {
- display : inline-block;
- position : relative;
-}
-gui-menu.gui-root-menu {
- display : block;
- position : absolute;
- z-index : 99999999;
-}
- gui-menu > gui-menu-entry {
- display : block;
- position : relative;
- white-space : nowrap;
- }
- gui-menu > gui-menu-entry[data-disabled="true"] {
- pointer-events: none;
- }
- gui-menu > .gui-menu-expand:after {
- position : absolute;
- right : 0;
- top : 0;
- bottom : 0;
- }
- html[dir="rtl"] gui-menu > .gui-menu-expand:after {
- right : auto;
- left : 0;
- -webkit-transform: rotate(180deg);
- -moz-transform: rotate(180deg);
- -ms-transform: rotate(180deg);
- transform: rotate(180deg);
- }
- gui-menu > gui-menu-entry {
- background-repeat : no-repeat;
- background-position : left center;
- background-size : 16px;
- }
- gui-menu > gui-menu-entry > label {
- vertical-align : middle;
- display : inline-block;
- pointer-events : none;
- }
- gui-menu > gui-menu-entry > label > input {
- margin : 0;
- padding : 0;
- vertical-align : middle;
- margin-top : -2px;
- padding-right : 2px;
- pointer-events : none;
- }
- gui-menu > gui-menu-entry > gui-menu {
- position : absolute;
- z-index : 99999;
- }
- .gui-showing gui-menu-entry > gui-menu {
- display : none;
- }
- gui-menu > .gui-hover > gui-menu,
- gui-menu > gui-menu-entry:hover > gui-menu {
- display : inline-block;
- left : 100%;
- top : 0;
- }
- .gui-overflowing > gui-menu-entry:hover > gui-menu {
- left : auto;
- top : 0;
- }
- gui-menu.gui-root-menu > gui-menu-entry:hover > gui-menu {
- display : block;
- }
- gui-menu.gui-root-menu > gui-menu-entry[data-disabled="true"]:hover > gui-menu {
- display : none;
- }
-gui-menu-bar {
- position : relative;
- display : block;
- min-height : 16px;
-}
- gui-menu-bar-entry {
- position : relative;
- display : inline-block;
- }
- gui-menu-bar-entry > span {
- pointer-events : none;
- display : block;
- }
- gui-menu-bar-entry > gui-menu {
- display : none;
- position : absolute;
- z-index : 99999;
- }
- gui-menu-bar-entry.gui-active > gui-menu {
- display : inline-block;
- top : 100%;
- left : 0;
- }
-gui-progress-bar {
- position : relative;
- display : inline-block;
- text-align : center;
- overflow : hidden;
-}
- gui-progress-bar:before {
- content : '';
- position : absolute;
- left : 0;
- bottom : 0;
- right : 0;
- top : 0;
- z-index : -1;
- }
- gui-progress-bar > div {
- position : absolute;
- left : 1px;
- bottom : 1px;
- top : 1px;
- z-index : -1;
- }
- gui-progress-bar > span {
- display : inline-block;
- vertical-align : middle;
- position : absolute;
- top : 50%;
- left : 0;
- right : 0;
- bottom : 0;
- height : 16px;
- margin-top : -8px;
- }
-gui-statusbar {
- position : relative;
- display : block;
- min-height : 16px;
- overflow : hidden;
- white-space : nowrap;
- -webkit-text-overflow: ellipsis;
- -moz-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
-}
- gui-statusbar-label {
- display : inline-block;
- vertical-align : middle;
- }
-gui-file-view {
- position : relative;
- display : inline-block;
-}
- gui-file-view > * {
- display : block;
- width : 100%;
- height : 100%;
- }
-gui-icon-view {
- position : relative;
- display : inline-block;
- overflow : auto;
- min-width : 16px;
- min-height : 16px;
-}
- gui-icon-view-body {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 2;
- }
- gui-icon-view-entry {
- float : left;
- width : 34px;
- width : 54px;
- }
- gui-icon-view-entry > div {
- pointer-events: none;
- position : relative;
- }
- gui-icon-view-entry > div > img {
- pointer-events: none;
- width : 32px;
- height : 32px;
- }
- gui-icon-view-entry > div > span {
- pointer-events: none;
- position : absolute;
- display : block;
- left : -2px;
- right : -2px;
- top : 0;
- padding : 2px;
- z-index : 9999;
- white-space : nowrap;
- overflow: hidden;
- -webkit-text-overflow: ellipsis;
- -moz-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- }
- gui-icon-view-entry.gui-active > div > span {
- pointer-events: none;
- overflow: visible;
- white-space : pre-wrap;
- word-wrap : break-word;
- text-overflow: inherit;
- -o-text-overflow: inherit;
- }
-gui-list-view {
- position : relative;
- display : inline-block;
- overflow : auto;
- min-width : 16px;
- min-height : 16px;
-}
- gui-list-view-inner {
- display : table;
- width : 100%;
- z-index : 2;
- position : relative;
- table-layout : fixed;
- border-collapse : collapse;
- }
- gui-list-view-body {
- position : relative;
- z-index : 2;
- display : table-row-group;
- width : 100%;
- }
- gui-list-view-head {
- display : table-header-group;
- width : 100%;
- visibility : hidden;
- pointer-events: none;
- }
- gui-list-view-row {
- position : relative;
- display : table-row;
- width : 100%;
- }
- gui-list-view-column {
- position : relative;
- display : table-cell;
- background-repeat : no-repeat;
- background-position : left center;
- background-size : 16px;
- line-height : 16px;
- }
- gui-list-view[data-icon-size="32"] gui-list-view-column {
- line-height : 32px;
- background-size : 32px;
- }
- gui-list-view-column > span {
- pointer-events: none;
- white-space: nowrap;
- display : block;
- overflow : hidden;
- -webkit-text-overflow: ellipsis;
- -moz-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- }
- gui-list-view-fake-head {
- position : absolute;
- display : block;
- top : 0;
- }
- gui-list-view-fake-head gui-list-view-head {
- visibility : visible;
- }
- gui-list-view-column-resizer {
- width : 1px;
- position : absolute;
- top : 0;
- bottom : 0;
- left : 0;
- z-index : 999999999;
- pointer-events: all;
- }
- gui-list-view-column-resizer:after {
- content : '';
- background : #b2b2b2;
- position : absolute;
- top : 0;
- left : 1px;
- width : 1px;
- bottom : 0;
- }
-gui-tree-view {
- position : relative;
- display : inline-block;
- overflow : auto;
- min-width : 16px;
- min-height : 16px;
-}
- gui-tree-view-body {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 2;
- }
- gui-tree-view-entry {
- display : block;
- position : relative;
- }
- gui-tree-view-entry > div {
- pointer-events: none;
- }
- gui-tree-view-entry > div > span {
- pointer-events: none;
- background-repeat : no-repeat;
- background-position : left center;
- display : inline-block;
- vertical-align : middle;
- -webkit-text-overflow: ellipsis;
- -moz-text-overflow: ellipsis;
- -ms-text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
- text-overflow: ellipsis;
- }
- gui-tree-view-entry.gui-expandable {
- padding-left : 16px;
- }
- gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- display : block;
- position : absolute;
- left : 0;
- top : 0;
- width : 16px;
- height : 16px;
- overflow : visible;
- }
-gui-toolbar > .gui-element {
- vertical-align : middle;
-}
diff --git a/build/htdocs/dist/osjs.js b/build/htdocs/dist/osjs.js
deleted file mode 100644
index b204c85..0000000
--- a/build/htdocs/dist/osjs.js
+++ /dev/null
@@ -1,16526 +0,0 @@
-window.OSjs = window.OSjs || {};
-/**
- * @preserve OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-(function() {
- 'use strict';
- (function() {
- window.console = window.console || {};
- console.log = console.log || function() {};
- console.debug = console.debug || console.log;
- console.error = console.error || console.log;
- console.warn = console.warn || console.log;
- console.group = console.group || console.log;
- console.groupEnd = console.groupEnd || console.log;
- })();
- (['forEach', 'every', 'map']).forEach(function(n) {
- (['HTMLCollection', 'NodeList', 'FileList']).forEach(function(p) {
- if ( window[p] ) {
- window[p].prototype[n] = Array.prototype[n];
- }
- });
- });
- (function() {
- function CustomEvent(event, params) {
- params = params || { bubbles: false, cancelable: false, detail: undefined };
- var evt = document.createEvent( 'CustomEvent' );
- evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
- return evt;
- }
- if ( window.navigator.userAgent.match(/MSIE|Edge|Trident/) ) {
- CustomEvent.prototype = window.Event.prototype;
- window.CustomEvent = CustomEvent;
- }
- })();
-})();
-
-(function() {
- 'use strict';
- var handler = null;
- var loaded = false;
- var inited = false;
- var signingOut = false;
- (['Utils', 'API', 'GUI', 'Core', 'Dialogs', 'Helpers', 'Applications', 'Locales', 'VFS', 'Extensions']).forEach(function(ns) {
- OSjs[ns] = OSjs[ns] || {};
- });
- (['Elements', 'Helpers']).forEach(function(ns) {
- OSjs.GUI[ns] = OSjs.GUI[ns] || {};
- });
- (['Helpers', 'Transports']).forEach(function(ns) {
- OSjs.VFS[ns] = OSjs.VFS[ns] || {};
- });
- function checkForbiddenKeyCombo(ev) {
- return false;
- }
- var events = {
- body_contextmenu: function(ev) {
- ev.stopPropagation();
- if ( !OSjs.Utils.$isFormElement(ev) ) {
- ev.preventDefault();
- return false;
- }
- return true;
- },
- body_click: function(ev) {
- OSjs.API.blurMenu();
- if ( ev.target === document.body ) {
- var wm = OSjs.Core.getWindowManager();
- var win = wm ? wm.getCurrentWindow() : null;
- if ( win ) {
- win._blur();
- }
- }
- },
- body_touchstart: function(ev) {
- if ( ev.target.localName !== 'select' ) {
- ev.preventDefault();
- }
- },
- message: function(ev) {
- if ( ev && ev.data && typeof ev.data.message !== 'undefined' && typeof ev.data.pid === 'number' ) {
- var proc = OSjs.API.getProcess(ev.data.pid);
- if ( proc ) {
- if ( typeof proc.onPostMessage === 'function' ) {
- proc.onPostMessage(ev.data.message, ev);
- }
- if ( typeof proc._getWindow === 'function' ) {
- var win = proc._getWindow(ev.data.wid, 'wid');
- if ( win ) {
- win.onPostMessage(ev.data.message, ev);
- }
- }
- }
- }
- },
- fullscreen: function(ev) {
- var notif = OSjs.Core.getWindowManager().getNotificationIcon('_FullscreenNotification');
- if ( notif ) {
- if ( !document.fullScreen && !document.mozFullScreen && !document.webkitIsFullScreen && !document.msFullscreenElement ) {
- notif.opts._isFullscreen = false;
- notif.setImage(OSjs.API.getIcon('actions/gtk-fullscreen.png', '16x16'));
- } else {
- notif.opts._isFullscreen = true;
- notif.setImage(OSjs.API.getIcon('actions/gtk-leave-fullscreen.png', '16x16'));
- }
- }
- },
- keydown: function(ev) {
- var wm = OSjs.Core.getWindowManager();
- var win = wm ? wm.getCurrentWindow() : null;
- var accept = [122, 123];
- function checkPrevent() {
- var d = ev.srcElement || ev.target;
- var doPrevent = d.tagName === 'BODY' ? true : false;
- if ( (ev.keyCode === OSjs.Utils.Keys.BACKSPACE) && !OSjs.Utils.$isFormElement(ev) ) { // Backspace
- doPrevent = true;
- } else if ( (ev.keyCode === OSjs.Utils.Keys.TAB) && OSjs.Utils.$isFormElement(ev) ) { // Tab
- doPrevent = true;
- } else {
- if ( accept.indexOf(ev.keyCode) !== -1 ) {
- doPrevent = false;
- } else if ( checkForbiddenKeyCombo(ev) ) {
- doPrevent = true;
- }
- }
- if ( doPrevent && (!win || !win._properties.key_capture) ) {
- return true;
- }
- return false;
- }
- var reacted = (function() {
- var combination = null;
- if ( wm ) {
- combination = wm.onKeyDown(ev, win);
- if ( win && !combination ) {
- win._onKeyEvent(ev, 'keydown');
- }
- }
- return combination;
- })();
- if ( checkPrevent() || reacted ) {
- ev.preventDefault();
- }
- return true;
- },
- keypress: function(ev) {
- var wm = OSjs.Core.getWindowManager();
- if ( checkForbiddenKeyCombo(ev) ) {
- ev.preventDefault();
- }
- if ( wm ) {
- var win = wm.getCurrentWindow();
- if ( win ) {
- return win._onKeyEvent(ev, 'keypress');
- }
- }
- return true;
- },
- keyup: function(ev) {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.onKeyUp(ev, wm.getCurrentWindow());
- var win = wm.getCurrentWindow();
- if ( win ) {
- return win._onKeyEvent(ev, 'keyup');
- }
- }
- return true;
- },
- beforeunload: function(ev) {
- if ( signingOut ) {
- return;
- }
- try {
- if ( OSjs.API.getConfig('ShowQuitWarning') ) {
- return OSjs.API._('MSG_SESSION_WARNING');
- }
- } catch ( e ) {}
- },
- resize: (function() {
- var _timeout;
- function _resize(ev, wasInited) {
- var wm = OSjs.Core.getWindowManager();
- if ( !wm ) {
- return;
- }
- wm.resize(ev, wm.getWindowSpace(), wasInited);
- }
- return function(ev, wasInited) {
- if ( _timeout ) {
- clearTimeout(_timeout);
- _timeout = null;
- }
- var self = this;
- _timeout = setTimeout(function() {
- _resize.call(self, ev, wasInited);
- }, 100);
- };
- })(),
- scroll: function(ev) {
- if ( ev.target === document || ev.target === document.body ) {
- ev.preventDefault();
- ev.stopPropagation();
- return false;
- }
- document.body.scrollTop = 0;
- document.body.scrollLeft = 0;
- return true;
- },
- hashchange: function(ev) {
- var hash = window.location.hash.substr(1);
- var spl = hash.split(/^([\w\.\-_]+)\:(.*)/);
- function getArgs(q) {
- var args = {};
- q.split('&').forEach(function(a) {
- var b = a.split('=');
- var k = decodeURIComponent(b[0]);
- args[k] = decodeURIComponent(b[1] || '');
- });
- return args;
- }
- if ( spl.length === 4 ) {
- var root = spl[1];
- var args = getArgs(spl[2]);
- if ( root ) {
- OSjs.API.getProcess(root).forEach(function(p) {
- p._onMessage('hashchange', {
- hash: hash,
- args: args
- }, {source: null});
- });
- }
- }
- },
- orientationchange: function(ev) {
- var orientation = 'landscape';
- if ( window.screen && window.screen.orientation ) {
- if ( window.screen.orientation.type.indexOf('portrait') !== -1 ) {
- orientation = 'portrait';
- }
- }
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.onOrientationChange(ev, orientation);
- }
- document.body.setAttribute('data-orientation', orientation);
- }
- };
- function onError(msg) {
- OSjs.API.error(OSjs.API._('ERR_CORE_INIT_FAILED'), OSjs.API._('ERR_CORE_INIT_FAILED_DESC'), msg, null, true);
- }
- function initLayout() {
- if ( OSjs.API.getConfig('Watermark.enabled') ) {
- var ver = OSjs.API.getConfig('Version', 'unknown version');
- var html = OSjs.API.getConfig('Watermark.lines') || [];
- var el = document.createElement('div');
- el.id = 'DebugNotice';
- el.setAttribute('aria-hidden', 'true');
- el.innerHTML = html.join('
').replace(/%VERSION%/, ver);
- document.body.appendChild(el);
- }
- document.getElementById('LoadingScreen').style.display = 'none';
- }
- function initHandler(config, callback) {
- handler = new OSjs.Core.Handler();
- function _done(error) {
- if ( error ) {
- onError(error);
- return;
- }
- if ( !inited ) {
- if ( !handler.loggedIn ) {
- if ( confirm(OSjs.API._('ERR_NO_SESSION')) ) {
- handler.init(_done);
- }
- return;
- }
- }
- inited = true;
- callback();
- }
- handler.init(_done);
- }
- function initEvents() {
- document.body.addEventListener('touchstart', events.body_touchstart);
- document.body.addEventListener('contextmenu', events.body_contextmenu, false);
- document.body.addEventListener('click', events.body_click, false);
- document.addEventListener('keydown', events.keydown, true);
- document.addEventListener('keypress', events.keypress, true);
- document.addEventListener('keyup', events.keyup, true);
- window.addEventListener('orientationchange', events.orientationchange, false);
- window.addEventListener('hashchange', events.hashchange, false);
- window.addEventListener('resize', events.resize, false);
- window.addEventListener('scroll', events.scroll, false);
- window.addEventListener('fullscreenchange', events.fullscreen, false);
- window.addEventListener('mozfullscreenchange', events.fullscreen, false);
- window.addEventListener('webkitfullscreenchange', events.fullscreen, false);
- window.addEventListener('msfullscreenchange', events.fullscreen, false);
- window.addEventListener('message', events.message, false);
- window.onbeforeunload = events.beforeunload;
- events.orientationchange();
- window.onerror = function(message, url, linenumber, column, exception) {
- if ( typeof exception === 'string' ) {
- exception = null;
- }
- console.warn('window::onerror()', arguments);
- OSjs.API.error(OSjs.API._('ERR_JAVASCRIPT_EXCEPTION'),
- OSjs.API._('ERR_JAVACSRIPT_EXCEPTION_DESC'),
- OSjs.API._('BUGREPORT_MSG'),
- exception || {name: 'window::onerror()', fileName: url, lineNumber: linenumber + ':' + column, message: message},
- true );
- return false;
- };
- }
- function initPreload(config, callback) {
- var list = [];
- function flatten(a) {
- a.forEach(function(i) {
- if ( i instanceof Array ) {
- flatten(i);
- } else {
- if ( typeof i === 'string' ) {
- i = OSjs.Utils.checkdir(i);
- } else {
- i.src = OSjs.Utils.checkdir(i.src);
- }
- list.push(i);
- }
- });
- }
- flatten(config.Preloads);
- OSjs.Utils.preload(list, function(total, failed) {
- if ( failed.length ) {
- console.warn('doInitialize()', 'some preloads failed to load:', failed);
- }
- setTimeout(function() {
- callback();
- }, 0);
- });
- }
- function initExtensions(config, callback) {
- var exts = Object.keys(OSjs.Extensions);
- var manifest = OSjs.Core.getMetadata();
- OSjs.Utils.asyncs(exts, function(entry, idx, next) {
- try {
- var m = manifest[entry];
- OSjs.Extensions[entry].init(m, function() {
- next();
- });
- } catch ( e ) {
- console.warn('Extension init failed', e.stack, e);
- next();
- }
- }, function() {
- callback();
- });
- }
- function initSettingsManager(cfg, callback) {
- var pools = cfg.SettingsManager || {};
- var manager = OSjs.Core.getSettingsManager();
- Object.keys(pools).forEach(function(poolName) {
- manager.instance(poolName, pools[poolName] || {});
- });
- callback();
- }
- function initPackageManager(cfg, callback) {
- OSjs.Core.getPackageManager().load(function(result, error, pm) {
- if ( error ) {
- callback(error, result);
- return;
- }
- var list = OSjs.API.getConfig('PreloadOnBoot', []);
- OSjs.Utils.asyncs(list, function(iter, index, next) {
- var pkg = pm.getPackage(iter);
- if ( pkg && pkg.preload ) {
- OSjs.Utils.preload(pkg.preload, next);
- } else {
- next();
- }
- }, function() {
- setTimeout(function() {
- callback(false, true);
- }, 0);
- });
- });
- }
- function initVFS(config, callback) {
- OSjs.Core.getMountManager().init(callback);
- }
- function initSearch(config, callback) {
- OSjs.Core.getSearchEngine().init(callback);
- }
- function initWindowManager(config, callback) {
- if ( !config.WM || !config.WM.exec ) {
- onError(OSjs.API._('ERR_CORE_INIT_NO_WM'));
- return;
- }
- OSjs.API.launch(config.WM.exec, (config.WM.args || {}), function(app) {
- app.setup(callback);
- }, function(error, name, args, exception) {
- onError(OSjs.API._('ERR_CORE_INIT_WM_FAILED_FMT', error), exception);
- });
- }
- function initSession(config, callback) {
- OSjs.API.playSound('LOGIN');
- var list = [];
- try {
- list = config.AutoStart;
- } catch ( e ) {
- console.warn('initSession()->autostart()', 'exception', e, e.stack);
- }
- var checkMap = {};
- var skipMap = [];
- list.forEach(function(iter, idx) {
- if ( typeof iter === 'string' ) {
- iter = list[idx] = {name: iter};
- }
- if ( skipMap.indexOf(iter.name) === -1 ) {
- if ( !checkMap[iter.name] ) {
- checkMap[iter.name] = idx;
- skipMap.push(iter.name);
- }
- }
- });
- handler.getLastSession(function(err, adds) {
- if ( !err ) {
- adds.forEach(function(iter) {
- if ( typeof checkMap[iter.name] === 'undefined' ) {
- list.push(iter);
- } else {
- if ( iter.args ) {
- var refid = checkMap[iter.name];
- var ref = list[refid];
- if ( !ref.args ) {
- ref.args = {};
- }
- ref.args = OSjs.Utils.mergeObject(ref.args, iter.args);
- }
- }
- });
- }
- OSjs.API.launchList(list, null, null, callback);
- });
- }
- function initTestEnvironment(config, callback) {
- OSjs.Utils.preload([
- '/vendor/mocha/mocha.js',
- '/vendor/mocha/mocha.css',
- '/vendor/chai/chai.js'
- ], function() {
- var h1 = document.createElement('h1');
- h1.style.margin = '20px';
- h1.appendChild(document.createTextNode('OS.js Mocha Client Test Suite'));
- document.body.appendChild(h1);
- var el = document.createElement('div');
- el.id = 'mocha';
- document.body.appendChild(el);
- document.body.style.background = '#fff';
- document.body.style.overflow = 'auto';
- window.mocha.ui('bdd');
- window.mocha.reporter('html');
- (new OSjs.Core.WindowManager('MochaWM', null, {}, {}, {})).init();
- OSjs.Utils.$createCSS(OSjs.API.getThemeCSS('default'));
- OSjs.Utils.preload(['/client/test/test.js'], callback);
- });
- return true;
- }
- function init() {
- var config = OSjs.Core.getConfig();
- var splash = document.getElementById('LoadingScreen');
- var loading = OSjs.API.createSplash('OS.js', null, null, splash);
- var freeze = ['API', 'Core', 'Dialogs', 'Extensions', 'GUI', 'Helpers', 'Locales', 'Utils', 'VFS'];
- var queue = [
- initPreload,
- initHandler,
- initVFS,
- initPackageManager,
- initExtensions,
- initSettingsManager,
- initSearch,
- function(cfg, cb) {
- OSjs.Core.getMountManager().restore(cb);
- },
- function(cfg, cb) {
- return OSjs.GUI.DialogScheme.init(cb);
- }
- ];
- function _inited() {
- loading = loading.destroy();
- splash = OSjs.Utils.$remove(splash);
- var wm = OSjs.Core.getWindowManager();
- wm._fullyLoaded = true;
- OSjs.API.triggerHook('onWMInited');
- }
- function _done() {
- OSjs.API.triggerHook('onInited');
- loading.update(queue.length - 1, queue.length + 1);
- freeze.forEach(function(f) {
- if ( typeof OSjs[f] === 'object' ) {
- Object.freeze(OSjs[f]);
- }
- });
- if ( config.DEVMODE || config.MOCHAMODE ) {
- _inited();
- }
- if ( config.MOCHAMODE ) {
- window.mocha.run();
- } else {
- initWindowManager(config, function() {
- initEvents();
- _inited();
- initSession(config, function() {
- OSjs.API.triggerHook('onSessionLoaded');
- });
- });
- }
- }
- initLayout();
- if ( config.MOCHAMODE ) {
- queue.push(initTestEnvironment);
- }
- OSjs.Utils.asyncs(queue, function(entry, index, next) {
- if ( index < 1 ) {
- OSjs.API.triggerHook('onInitialize');
- }
- loading.update(index + 1, queue.length + 1);
- entry(config, next);
- }, _done);
- }
- OSjs.API.shutdown = function() {
- if ( !inited || !loaded ) {
- return;
- }
- signingOut = true;
- document.body.removeEventListener('touchstart', events.body_touchstart);
- document.body.removeEventListener('contextmenu', events.body_contextmenu, false);
- document.body.removeEventListener('click', events.body_click, false);
- document.removeEventListener('keydown', events.keydown, true);
- document.removeEventListener('keypress', events.keypress, true);
- document.removeEventListener('keyup', events.keyup, true);
- window.removeEventListener('orientationchange', events.orientationchange, false);
- window.removeEventListener('hashchange', events.hashchange, false);
- window.removeEventListener('resize', events.resize, false);
- window.removeEventListener('scroll', events.scroll, false);
- window.removeEventListener('message', events.message, false);
- window.onerror = null;
- window.onbeforeunload = null;
- OSjs.API.toggleFullscreen();
- OSjs.API.blurMenu();
- OSjs.API.killAll();
- OSjs.GUI.DialogScheme.destroy();
- var ring = OSjs.API.getServiceNotificationIcon();
- if ( ring ) {
- ring.destroy();
- }
- var handler = OSjs.Core.getHandler();
- if ( handler ) {
- handler.destroy();
- handler = null;
- }
- OSjs.API.triggerHook('onShutdown');
- console.warn('OS.js was shut down!');
- if ( OSjs.API.getConfig('Connection.Type') === 'nw' ) {
- try {
- var gui = require('nw.gui');
- var win = gui.Window.get();
- setTimeout(function() {
- win.close();
- }, 500);
- } catch ( e ) {
- }
- } else {
- if ( OSjs.API.getConfig('ReloadOnShutdown') === true ) {
- window.location.reload();
- }
- }
- Object.keys(OSjs).forEach(function(k) {
- try {
- delete OSjs[k];
- } catch ( e ) {}
- });
- };
- OSjs.Core.getConfig = OSjs.Core.getConfig || function() {
- return {};
- };
- OSjs.Core.getMetadata = OSjs.Core.getMetadata || function() {
- return {};
- };
- OSjs.API.isShuttingDown = OSjs.API.isShuttingDown || function() {
- return signingOut;
- };
- (function() {
- function onLoad() {
- if ( loaded ) {
- return;
- }
- loaded = true;
- init();
- }
- function onUnload() {
- OSjs.API.shutdown();
- }
- document.addEventListener('DOMContentLoaded', onLoad);
- document.addEventListener('load', onLoad);
- document.addEventListener('unload', onUnload);
- })();
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.getCompability = (function() {
- function _checkSupport(enabled, check, isSupported) {
- var supported = {};
- Object.keys(check).forEach(function(key) {
- var chk = check[key];
- var value = false;
- if ( chk instanceof Array ) {
- chk.forEach(function(c) {
- value = isSupported(c);
- return !value;
- });
- } else {
- value = isSupported(chk);
- }
- supported[key] = value;
- });
- return supported;
- }
- function getUpload() {
- try {
- var xhr = new XMLHttpRequest();
- return (!!(xhr && ('upload' in xhr) && ('onprogress' in xhr.upload)));
- } catch ( e ) {}
- return false;
- }
- function getCanvasSupported() {
- return document.createElement('canvas').getContext ? document.createElement('canvas') : null;
- }
- function getVideoSupported() {
- return document.createElement('video').canPlayType ? document.createElement('video') : null;
- }
- function canPlayCodec(support, check) {
- return _checkSupport(support, check, function(codec) {
- try {
- return !!support.canPlayType(codec);
- } catch ( e ) {
- }
- return false;
- });
- }
- function getVideoTypesSupported() {
- return canPlayCodec(getVideoSupported(), {
- webm : 'video/webm; codecs="vp8.0, vorbis"',
- ogg : 'video/ogg; codecs="theora"',
- h264 : [
- 'video/mp4; codecs="avc1.42E01E"',
- 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"'
- ],
- mpeg : 'video/mp4; codecs="mp4v.20.8"',
- mkv : 'video/x-matroska; codecs="theora, vorbis"'
- });
- }
- function getAudioSupported() {
- return document.createElement('audio').canPlayType ? document.createElement('audio') : null;
- }
- function getAudioTypesSupported() {
- return canPlayCodec(getAudioSupported(), {
- ogg : 'audio/ogg; codecs="vorbis',
- mp3 : 'audio/mpeg',
- wav : 'audio/wav; codecs="1"'
- });
- }
- function getAudioContext() {
- if ( window.hasOwnProperty('AudioContext') || window.hasOwnProperty('webkitAudioContext') ) {
- return true;
- }
- return false;
- }
- var getCanvasContexts = (function() {
- var cache = [];
- return function() {
- if ( !cache.length ) {
- var canvas = getCanvasSupported();
- if ( canvas ) {
- var test = ['2d', 'webgl', 'experimental-webgl', 'webkit-3d', 'moz-webgl'];
- test.forEach(function(tst, i) {
- try {
- if ( !!canvas.getContext(tst) ) {
- cache.push(tst);
- }
- } catch ( eee ) {}
- });
- }
- }
- return cache;
- };
- })();
- function getWebGL() {
- var result = false;
- var contexts = getCanvasContexts();
- try {
- result = (contexts.length > 1);
- if ( !result ) {
- if ( 'WebGLRenderingContext' in window ) {
- result = true;
- }
- }
- } catch ( e ) {}
- return result;
- }
- function detectCSSFeature(featurename) {
- var feature = false;
- var domPrefixes = 'Webkit Moz ms O'.split(' ');
- var elm = document.createElement('div');
- var featurenameCapital = null;
- featurename = featurename.toLowerCase();
- if ( elm.style[featurename] ) {
- feature = true;
- }
- if ( feature === false ) {
- featurenameCapital = featurename.charAt(0).toUpperCase() + featurename.substr(1);
- for ( var i = 0; i < domPrefixes.length; i++ ) {
- if ( elm.style[domPrefixes[i] + featurenameCapital ] !== undefined ) {
- feature = true;
- break;
- }
- }
- }
- return feature;
- }
- function getUserMedia() {
- var getMedia = false;
- if ( window.navigator ) {
- getMedia = ( navigator.getUserMedia ||
- navigator.webkitGetUserMedia ||
- navigator.mozGetUserMedia ||
- navigator.msGetUserMedia);
- }
- return !!getMedia;
- }
- function getRichText() {
- try {
- return !!document.createElement('textarea').contentEditable;
- } catch ( e ) {}
- return false;
- }
- function getTouch() {
- try {
- if ( navigator.userAgent.match(/Windows NT 6\.(2|3)/) ) {
- return false;
- }
- } catch ( e ) {}
- try {
- if ( navigator.userAgent.match(/iOS|Android|BlackBerry|IEMobile|iPad|iPhone|iPad/i) ) {
- return true;
- }
- } catch ( e ) {}
- return false;
- }
- function getDnD() {
- return !!('draggable' in document.createElement('span'));
- }
- function getSVG() {
- return (!!document.createElementNS && !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect);
- }
- function getFileSystem() {
- return (('requestFileSystem' in window) || ('webkitRequestFileSystem' in window));
- }
- var checkWindow = {
- indexedDB : 'indexedDB',
- localStorage : 'localStorage',
- sessionStorage : 'sessionStorage',
- globalStorage : 'globalStorage',
- openDatabase : 'openDatabase',
- socket : 'WebSocket',
- worker : 'Worker',
- file : 'File',
- blob : 'Blob',
- orientation : 'onorientationchange'
- };
- var compability = {
- touch : getTouch(),
- upload : getUpload(),
- getUserMedia : getUserMedia(),
- fileSystem : getFileSystem(),
- localStorage : false,
- sessionStorage : false,
- globalStorage : false,
- openDatabase : false,
- socket : false,
- worker : false,
- file : false,
- blob : false,
- orientation : false,
- dnd : getDnD(),
- css : {
- transition : detectCSSFeature('transition'),
- animation : detectCSSFeature('animation')
- },
- canvas : !!getCanvasSupported(),
- canvasContext : getCanvasContexts(),
- webgl : getWebGL(),
- audioContext : getAudioContext(),
- svg : getSVG(),
- video : !!getVideoSupported(),
- videoTypes : getVideoTypesSupported(),
- audio : !!getAudioSupported(),
- audioTypes : getAudioTypesSupported(),
- richtext : getRichText()
- };
- Object.keys(checkWindow).forEach(function(key) {
- compability[key] = (checkWindow[key] in window) && window[checkWindow[key]] !== null;
- });
- return function() {
- return compability;
- };
- })();
- OSjs.Utils.isIE = function() {
- var dm = parseInt(document.documentMode, 10);
- return dm <= 11 || !!navigator.userAgent.match(/(MSIE|Edge)/);
- };
- OSjs.Utils.getUserLocale = function() {
- var loc = ((window.navigator.userLanguage || window.navigator.language) || 'en-EN').replace('-', '_');
- var map = {
- 'nb' : 'no_NO',
- 'es' : 'es_ES',
- 'ru' : 'ru_RU',
- 'en' : 'en_EN'
- };
- var major = loc.split('_')[0] || 'en';
- var minor = loc.split('_')[1] || major.toUpperCase();
- if ( map[major] ) {
- return map[major];
- }
- return major + '_' + minor;
- };
- OSjs.Utils.getRect = function() {
- return {
- top : 0,
- left : 0,
- width : document.body.offsetWidth,
- height : document.body.offsetHeight
- };
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.Keys = (function() {
- var list = {
- F1: 112,
- F2: 113,
- F3: 114,
- F4: 115,
- F6: 118,
- F7: 119,
- F8: 120,
- F9: 121,
- F10: 122,
- F11: 123,
- F12: 124,
- TILDE: 220,
- GRAVE: 192,
- CMD: 17,
- LSUPER: 91,
- RSUPER: 92,
- DELETE: 46,
- INSERT: 45,
- HOME: 36,
- END: 35,
- PGDOWN: 34,
- PGUP: 33,
- PAUSE: 19,
- BREAK: 19,
- CAPS_LOCK: 20,
- SCROLL_LOCK:186,
- BACKSPACE: 8,
- SPACE: 32,
- TAB: 9,
- ENTER: 13,
- ESC: 27,
- LEFT: 37,
- RIGHT: 39,
- UP: 38,
- DOWN: 40
- };
- for ( var n = 33; n <= 126; n++ ) {
- list[String.fromCharCode(n).toUpperCase()] = n;
- }
- return Object.freeze(list);
- })();
- OSjs.Utils.mousePosition = function(ev) {
- if ( ev.detail && typeof ev.detail.x !== 'undefined' && typeof ev.detail.y !== 'undefined' ) {
- return {x: ev.detail.x, y: ev.detail.y};
- }
- var touch = ev.touches || ev.changedTouches;
- if ( touch && touch[0] ) {
- return {x: touch[0].clientX, y: touch[0].clientY};
- }
- return {x: ev.clientX, y: ev.clientY};
- };
- OSjs.Utils.mouseButton = function(ev) {
- if ( typeof ev.button !== 'undefined' ) {
- if ( ev.button === 0 ) {
- return 'left';
- } else if ( ev.button === 1 ) {
- return 'middle';
- }
- return 'right';
- }
- if ( ev.which === 2 || ev.which === 4 ) {
- return 'middle';
- } else if ( ev.which === 1 ) {
- return 'left';
- }
- return 'right';
- };
- OSjs.Utils.keyCombination = (function() {
- var modifiers = {
- CTRL: function(ev) {
- return ev.ctrlKey;
- },
- SHIFT: function(ev) {
- return ev.shiftKey;
- },
- ALT: function(ev) {
- return ev.altKey;
- },
- META: function(ev) {
- return ev.metaKey;
- }
- };
- function getKeyName(keyCode) {
- var result = false;
- Object.keys(OSjs.Utils.Keys).forEach(function(k) {
- if ( !result && (keyCode === OSjs.Utils.Keys[k]) ) {
- result = k;
- }
- });
- return result;
- }
- return function(ev, checkFor) {
- var checks = checkFor.toUpperCase().split('+');
- var checkMods = {CTRL: false, SHIFT: false, ALT: false};
- var checkKeys = [];
- checks.forEach(function(f) {
- if ( modifiers[f] ) {
- checkMods[f] = true;
- } else {
- checkKeys.push(f);
- }
- });
- return Object.keys(checkMods).every(function(f) {
- var fk = !!modifiers[f](ev);
- return checkMods[f] === fk;
- }) && checkKeys.every(function(f) {
- return getKeyName(ev.keyCode) === f;
- });
- };
- })();
- OSjs.Utils.$bind = (function() {
- var TOUCH_CONTEXTMENU = 1000;
- var TOUCH_CLICK_MIN = 30;
- var TOUCH_CLICK_MAX = 1000;
- var TOUCH_DBLCLICK = 400;
- function addEventHandler(el, n, t, callback, handler, useCapture, realType) {
- var args = [t, handler, useCapture];
- el.addEventListener.apply(el, args);
- el._boundEvents[n].push({
- realType: realType,
- args: args,
- callback: callback
- });
- }
- function createWheelHandler(el, n, t, callback, useCapture) {
- function _wheel(ev) {
- var pos = OSjs.Utils.mousePosition(ev);
- var direction = (ev.detail < 0 || ev.wheelDelta > 0) ? 1 : -1;
- pos.z = direction;
- return callback(ev, pos);
- }
- addEventHandler(el, n, 'mousewheel', callback, _wheel, useCapture, 'mousewheel');
- addEventHandler(el, n, 'DOMMouseScroll', callback, _wheel, useCapture, 'DOMMouseScroll');
- }
- function createGestureHandler(el, n, t, callback, useCapture) {
- var started;
- var contextTimeout;
- var dblTimeout;
- var moved = false;
- var clicks = 0;
- function _done() {
- contextTimeout = clearTimeout(contextTimeout);
- started = null;
- moved = false;
- el.removeEventListener('touchend', _touchend, false);
- el.removeEventListener('touchmove', _touchmove, false);
- el.removeEventListener('touchcancel', _touchcancel, false);
- }
- function _touchstart(ev) {
- if ( ev.target === document.body ) {
- ev.preventDefault();
- }
- contextTimeout = clearTimeout(contextTimeout);
- started = new Date();
- moved = false;
- if ( t === 'contextmenu' ) {
- contextTimeout = setTimeout(function() {
- emitTouchEvent(ev, t, {button: 2, which: 3, buttons: 2});
- _done();
- }, TOUCH_CONTEXTMENU);
- } else if ( t === 'dblclick' ) {
- if ( clicks === 0 ) {
- dblTimeout = clearTimeout(dblTimeout);
- dblTimeout = setTimeout(function() {
- clicks = 0;
- }, TOUCH_DBLCLICK);
- clicks++;
- } else {
- if ( !moved ) {
- emitTouchEvent(ev, t);
- }
- clicks = 0;
- }
- }
- el.addEventListener('touchend', _touchend, false);
- el.addEventListener('touchmove', _touchmove, false);
- el.addEventListener('touchcancel', _touchcancel, false);
- }
- function _touchend(ev) {
- contextTimeout = clearTimeout(contextTimeout);
- if ( !started ) {
- return _done();
- }
- if ( !OSjs.Utils.$isFormElement(ev) ) {
- ev.preventDefault();
- }
- var now = new Date();
- var diff = now - started;
- if ( !moved && t === 'click' ) {
- if ( (diff > TOUCH_CLICK_MIN) && (diff < TOUCH_CLICK_MAX) ) {
- ev.stopPropagation();
- emitTouchEvent(ev, t);
- }
- }
- return _done();
- }
- function _touchmove(ev) {
- if ( ev.target === document.body || !moved ) {
- ev.preventDefault();
- }
- if ( !started ) {
- return;
- }
- contextTimeout = clearTimeout(contextTimeout);
- dblTimeout = clearTimeout(dblTimeout);
- clicks = 0;
- moved = true;
- }
- function _touchcancel(ev) {
- dblTimeout = clearTimeout(dblTimeout);
- clicks = 0;
- _done();
- }
- addEventHandler(el, n, 'touchstart', callback, _touchstart, false, 'touchstart');
- }
- function emitTouchEvent(ev, type, combineWith) {
- if ( ev.target === document.body ) {
- ev.preventDefault();
- }
- if ( !ev.currentTarget || ev.changedTouches.length > 1 || (ev.type === 'touchend' && ev.changedTouches > 0) ) {
- return;
- }
- var copy = ['ctrlKey', 'altKey', 'shiftKey', 'metaKey', 'screenX', 'screenY'];
- var touch = ev.changedTouches[0];
- var evtArgs = {
- clientX: touch.clientX,
- clientY: touch.clientY,
- relatedTarget: ev.target
- };
- copy.forEach(function(k) {
- evtArgs[k] = ev[k];
- });
- if ( combineWith ) {
- Object.keys(combineWith).forEach(function(k) {
- evtArgs[k] = combineWith[k];
- });
- }
- ev.currentTarget.dispatchEvent(new MouseEvent(type, evtArgs));
- }
- var customEvents = {
- mousedown: 'touchstart',
- mouseup: 'touchend',
- mousemove: 'touchmove',
- mousewheel: createWheelHandler,
- contextmenu: createGestureHandler,
- click: createGestureHandler,
- dblclick: createGestureHandler
- };
- return function(el, evName, callback, useCapture, noBind) {
- useCapture = (useCapture === true);
- if ( arguments.length < 3 ) {
- throw new Error('$bind expects 3 or more arguments');
- }
- if ( typeof evName !== 'string' ) {
- throw new Error('Given event type was not a string');
- }
- if ( typeof callback !== 'function' ) {
- throw new Error('Given callback was not a function');
- }
- function addEvent(nsType, type) {
- addEventHandler(el, nsType, type, callback, function mouseEventHandler(ev) {
- if ( noBind ) {
- return callback(ev, OSjs.Utils.mousePosition(ev));
- }
- return callback.call(el, ev, OSjs.Utils.mousePosition(ev));
- }, useCapture);
- if ( customEvents[type] ) {
- if ( typeof customEvents[type] === 'function' ) {
- customEvents[type](el, nsType, type, callback, useCapture);
- } else {
- addEventHandler(el, nsType, customEvents[type], callback, function touchEventHandler(ev) {
- emitTouchEvent(ev, type);
- }, useCapture, customEvents[type]);
- }
- }
- }
- function initNamespace(ns) {
- if ( !el._boundEvents ) {
- el._boundEvents = {};
- }
- if ( !el._boundEvents[ns] ) {
- el._boundEvents[ns] = [];
- }
- var found = el._boundEvents[ns].filter(function(iter) {
- return iter.callback === callback;
- });
- return found.length === 0;
- }
- evName.replace(/\s/g, '').split(',').forEach(function(ns) {
- var type = ns.split(':')[0];
- if ( !initNamespace(ns) ) {
- console.warn('Utils::$bind()', 'This event was already bound, skipping');
- return;
- }
- addEvent(ns, type);
- });
- };
- })();
- OSjs.Utils.$unbind = function(el, evName, callback, param) {
- function unbindAll() {
- if ( el._boundEvents ) {
- Object.keys(el._boundEvents).forEach(function(type) {
- unbindNamed(type);
- });
- delete el._boundEvents;
- }
- }
- function unbindNamed(type) {
- if ( el._boundEvents ) {
- var list = el._boundEvents || {};
- if ( list[type] ) {
- for ( var i = 0; i < list[type].length; i++ ) {
- var iter = list[type][i];
- if ( callback && iter.callback !== callback ) {
- continue;
- }
- el.removeEventListener.apply(el, iter.args);
- list[type].splice(i, 1);
- i--;
- }
- }
- }
- }
- if ( el ) {
- if ( evName ) {
- evName.replace(/\s/g, '').split(',').forEach(function(type) {
- unbindNamed(type);
- });
- } else {
- unbindAll();
- }
- }
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.getCookie = function(k) {
- var map = {};
- document.cookie.split(/;\s+?/g).forEach(function(i) {
- var idx = i.indexOf('=');
- map[i.substr(i, idx)] = i.substr(idx + 1);
- });
- return k ? map[k] : map;
- };
- OSjs.Utils.format = function(format) {
- var args = Array.prototype.slice.call(arguments, 1);
- var sprintfRegex = /\{(\d+)\}/g;
- function sprintf(match, number) {
- return number in args ? args[number] : match;
- }
- return format.replace(sprintfRegex, sprintf);
- };
- OSjs.Utils.cleanHTML = function(html) {
- return html.replace(/\n/g, '')
- .replace(/[\t ]+[\t ]+<')
- .replace(/\>[\t ]+$/g, '>');
- };
- OSjs.Utils.parseurl = function(url, modify) {
- modify = modify || {};
- if ( !url.match(/^(\w+\:)\/\//) ) {
- url = '//' + url;
- }
- var protocol = url.split(/^(\w+\:)?\/\//);
- var splitted = (function() {
- var tmp = protocol[2].replace(/^\/\//, '').split('/');
- return {
- proto: (modify.protocol || protocol[1] || window.location.protocol || '').replace(/\:$/, ''),
- host: modify.host || tmp.shift(),
- path: modify.path || '/' + tmp.join('/')
- };
- })();
- function _parts() {
- var parts = [splitted.proto, '://'];
- if ( modify.username ) {
- var authstr = String(modify.username) + ':' + String(modify.password);
- parts.push(authstr);
- parts.push('@');
- }
- parts.push(splitted.host);
- parts.push(splitted.path);
- return parts.join('');
- }
- return {
- protocol: splitted.proto,
- host: splitted.host,
- path: splitted.path,
- url: _parts()
- };
- };
- OSjs.Utils.argumentDefaults = function(args, defaults, undef) {
- args = args || {};
- Object.keys(defaults).forEach(function(key) {
- if ( typeof defaults[key] === 'boolean' || typeof defaults[key] === 'number' ) {
- if ( typeof args[key] === 'undefined' || args[key] === null ) {
- args[key] = defaults[key];
- }
- } else {
- args[key] = args[key] || defaults[key];
- }
- });
- return args;
- };
- OSjs.Utils.mergeObject = function(obj1, obj2, opts) {
- opts = opts || {};
- for ( var p in obj2 ) {
- if ( obj2.hasOwnProperty(p) ) {
- try {
- if (opts.overwrite === false && obj1.hasOwnProperty(p)) {
- continue;
- }
- if ( obj2[p].constructor === Object ) {
- obj1[p] = OSjs.Utils.mergeObject(obj1[p], obj2[p]);
- } else {
- obj1[p] = obj2[p];
- }
- } catch (e) {
- obj1[p] = obj2[p];
- }
- }
- }
- return obj1;
- };
- OSjs.Utils.cloneObject = function(o) {
- return JSON.parse(JSON.stringify(o, function(key, value) {
- if ( value && typeof value === 'object' && value.tagName ) {
- return undefined;
- }
- return value;
- }));
- };
- OSjs.Utils.extend = function(obj, methods) {
- if ( obj && methods ) {
- Object.keys(methods).forEach(function(k) {
- obj[k] = methods[k];
- });
- }
- };
- OSjs.Utils.inherit = function(to, from, extend) {
- from.prototype = Object.create(to.prototype);
- from.constructor = to;
- if ( extend ) {
- OSjs.Utils.extend(from.prototype, extend);
- }
- return from;
- };
- OSjs.Utils.convertToRGB = function(hex) {
- var rgb = parseInt(hex.replace('#', ''), 16);
- var val = {};
- val.r = (rgb & (255 << 16)) >> 16;
- val.g = (rgb & (255 << 8)) >> 8;
- val.b = (rgb & 255);
- return val;
- };
- OSjs.Utils.convertToHEX = function(r, g, b) {
- if ( typeof r === 'object' ) {
- g = r.g;
- b = r.b;
- r = r.r;
- }
- if ( typeof r === 'undefined' || typeof g === 'undefined' || typeof b === 'undefined' ) {
- throw new Error('Invalid RGB supplied to convertToHEX()');
- }
- var hex = [
- parseInt(r, 10).toString( 16 ),
- parseInt(g, 10).toString( 16 ),
- parseInt(b, 10).toString( 16 )
- ];
- Object.keys(hex).forEach(function(i) {
- if ( hex[i].length === 1 ) {
- hex[i] = '0' + hex[i];
- }
- });
- return '#' + hex.join('').toUpperCase();
- };
- OSjs.Utils.invertHEX = function(hex) {
- var color = parseInt(hex.replace('#', ''), 16);
- color = 0xFFFFFF ^ color;
- color = color.toString(16);
- color = ('000000' + color).slice(-6);
- return '#' + color;
- };
- OSjs.Utils.asyncs = function(queue, onentry, ondone) {
- onentry = onentry || function(e, i, n) {
- return n();
- };
- ondone = ondone || function() {};
- var finished = [];
- var isdone = false;
- (function next(i) {
- if ( isdone || finished.indexOf(i) !== -1 ) {
- return;
- }
- finished.push(i);
- if ( i >= queue.length ) {
- isdone = true;
- return ondone();
- }
- try {
- onentry(queue[i], i, function() {
- next(i + 1);
- });
- } catch ( e ) {
- console.warn('Utils::asyncs()', 'Exception while stepping', e.stack, e);
- next(i + 1);
- }
- })(0);
- };
- OSjs.Utils.asyncp = function(queue, opts, onentry, ondone) {
- opts = opts || {};
- var running = 0;
- var max = opts.max || 3;
- var qleft = Object.keys(queue);
- var finished = [];
- var isdone = false;
- function spawn(i, cb) {
- function _done() {
- running--;
- cb();
- }
- if ( finished.indexOf(i) !== -1 ) {
- return;
- }
- finished.push(i);
- running++;
- try {
- onentry(queue[i], i, _done);
- } catch ( e ) {
- console.warn('Utils::asyncp()', 'Exception while stepping', e.stack, e);
- _done();
- }
- }
- (function check() {
- if ( !qleft.length ) {
- if ( running || isdone ) {
- return;
- }
- isdone = true;
- return ondone();
- }
- var d = Math.min(qleft.length, max - running);
- for ( var i = 0; i < d; i++ ) {
- spawn(qleft.shift(), check);
- }
- })();
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.$ = function(id) {
- return document.getElementById(id);
- };
- OSjs.Utils.$safeName = function(str) {
- return (str || '').replace(/[^a-zA-Z0-9]/g, '_');
- };
- OSjs.Utils.$remove = function(node) {
- if ( node && node.parentNode ) {
- node.parentNode.removeChild(node);
- }
- return null;
- };
- OSjs.Utils.$empty = function(myNode) {
- if ( myNode ) {
- while (myNode.firstChild) {
- myNode.removeChild(myNode.firstChild);
- }
- }
- };
- OSjs.Utils.$getStyle = function(oElm, strCssRule) {
- var strValue = '';
- if ( document.defaultView && document.defaultView.getComputedStyle ) {
- strValue = document.defaultView.getComputedStyle(oElm, '').getPropertyValue(strCssRule);
- } else if ( oElm.currentStyle ) {
- strCssRule = strCssRule.replace(/\-(\w)/g, function(strMatch, p1) {
- return p1.toUpperCase();
- });
- strValue = oElm.currentStyle[strCssRule];
- }
- return strValue;
- };
- OSjs.Utils.$position = function(el, parentEl) {
- if ( el ) {
- if ( parentEl ) {
- var result = {left:0, top:0, width: el.offsetWidth, height: el.offsetHeight};
- while ( true ) {
- result.left += el.offsetLeft;
- result.top += el.offsetTop;
- if ( el.offsetParent === parentEl || el.offsetParent === null ) {
- break;
- }
- el = el.offsetParent;
- }
- return result;
- }
- return el.getBoundingClientRect();
- }
- return null;
- };
- OSjs.Utils.$parent = function(el, cb) {
- var result = null;
- if ( el && cb ) {
- var current = el;
- while ( current.parentNode ) {
- if ( cb(current) ) {
- result = current;
- break;
- }
- current = current.parentNode;
- }
- }
- return result;
- };
- OSjs.Utils.$index = function(el, parentEl) {
- if ( el ) {
- parentEl = parentEl || el.parentNode;
- if ( parentEl ) {
- var nodeList = Array.prototype.slice.call(parentEl.children);
- var nodeIndex = nodeList.indexOf(el, parentEl);
- return nodeIndex;
- }
- }
- return -1;
- };
- OSjs.Utils.$selectRange = function(field, start, end) {
- if ( !field ) {
- throw new Error('Cannot select range: missing element');
- }
- if ( typeof start === 'undefined' || typeof end === 'undefined' ) {
- throw new Error('Cannot select range: mising start/end');
- }
- if ( field.createTextRange ) {
- var selRange = field.createTextRange();
- selRange.collapse(true);
- selRange.moveStart('character', start);
- selRange.moveEnd('character', end);
- selRange.select();
- field.focus();
- } else if ( field.setSelectionRange ) {
- field.focus();
- field.setSelectionRange(start, end);
- } else if ( typeof field.selectionStart !== 'undefined' ) {
- field.selectionStart = start;
- field.selectionEnd = end;
- field.focus();
- }
- };
- OSjs.Utils.$addClass = function(el, name) {
- if ( el ) {
- name.split(' ').forEach(function(n) {
- el.classList.add(n);
- });
- }
- };
- OSjs.Utils.$removeClass = function(el, name) {
- if ( el ) {
- name.split(' ').forEach(function(n) {
- el.classList.remove(n);
- });
- }
- };
- OSjs.Utils.$hasClass = function(el, name) {
- if ( el && name ) {
- return name.split(' ').every(function(n) {
- return el.classList.contains(n);
- });
- }
- return false;
- };
- OSjs.Utils.$escape = function(str) {
- var div = document.createElement('div');
- div.appendChild(document.createTextNode(str));
- return div.innerHTML;
- };
- OSjs.Utils.$create = function(tagName, properties) {
- var element = document.createElement(tagName);
- function _foreach(dict, l) {
- dict = dict || {};
- Object.keys(dict).forEach(function(name) {
- l(name.replace(/_/g, '-'), String(dict[name]));
- });
- }
- _foreach(properties.style, function(key, val) {
- element.style[key] = val;
- });
- _foreach(properties.aria, function(key, val) {
- if ( (['role']).indexOf(key) !== -1 ) {
- key = 'aria-' + key;
- }
- element.setAttribute(key, val);
- });
- _foreach(properties.data, function(key, val) {
- element.setAttribute('data-' + key, val);
- });
- _foreach(properties, function(key, val) {
- if ( (['style', 'aria', 'data']).indexOf(key) === -1 ) {
- element[key] = val;
- }
- });
- return element;
- };
- OSjs.Utils.$createCSS = function(src, onload, onerror) {
- var link = document.createElement('link');
- link.setAttribute('rel', 'stylesheet');
- link.setAttribute('type', 'text/css');
- link.onload = onload || function() {};
- link.onerror = onerror || function() {};
- link.setAttribute('href', src);
- document.getElementsByTagName('head')[0].appendChild(link);
- return link;
- };
- OSjs.Utils.$createJS = function(src, onreadystatechange, onload, onerror, attrs) {
- var res = document.createElement('script');
- res.onreadystatechange = onreadystatechange || function() {};
- res.onerror = onerror || function() {};
- res.onload = onload || function() {};
- attrs = OSjs.Utils.mergeObject({
- type: 'text/javascript',
- charset: 'utf-8',
- src: src
- }, attrs || {});
- Object.keys(attrs).forEach(function(k) {
- res[k] = String(attrs[k]);
- });
- document.getElementsByTagName('head')[0].appendChild(res);
- return res;
- };
- OSjs.Utils.$isFormElement = function(input, types) {
- types = types || ['TEXTAREA', 'INPUT', 'SELECT'];
- if ( input instanceof window.Event ) {
- input = input.srcElement || input.target;
- }
- if ( input instanceof window.Element ) {
- if ( types.indexOf(input.tagName.toUpperCase()) >= 0 ) {
- if ( !(input.readOnly || input.disabled) ) {
- return true;
- }
- }
- }
- return false;
- };
- OSjs.Utils.$css = function(el, ink, inv) {
- function rep(k) {
- return k.replace(/\-(\w)/g, function(strMatch, p1) {
- return p1.toUpperCase();
- });
- }
- var obj = {};
- if ( arguments.length === 2 ) {
- if ( typeof ink === 'string' ) {
- return el.parentNode ? OSjs.Utils.$getStyle(el, ink) : el.style[rep(ink)];
- }
- obj = ink;
- } else if ( arguments.length === 3 ) {
- obj[ink] = inv;
- }
- Object.keys(obj).forEach(function(k) {
- el.style[rep(k)] = String(obj[k]);
- });
- };
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.ajax = function(args) {
- var request;
- args = OSjs.Utils.argumentDefaults(args, {
- onerror : function() {},
- onsuccess : function() {},
- onprogress : function() {},
- oncreated : function() {},
- onfailed : function() {},
- oncanceled : function() {},
- ontimeout : function() {},
- acceptcodes : [200, 201, 304],
- method : 'GET',
- responseType : null,
- requestHeaders : {},
- body : null,
- timeout : 0,
- json : false,
- url : '',
- jsonp : false
- });
- function onReadyStateChange() {
- var result;
- function _onError(error) {
- error = OSjs.API._('ERR_UTILS_XHR_FMT', error);
- console.warn('Utils::ajax()', 'onReadyStateChange()', error);
- args.onerror(error, result, this, args.url);
- }
- if ( this.readyState === 4 ) {
- result = this.responseText;
- try {
- var ctype = this.getResponseHeader('content-type') || '';
- if ( args.json && ctype.match(/^application\/json/) ) {
- result = JSON.parse(this.responseText);
- }
- } catch (ex) {
- _onError.call(this, ex.toString());
- return;
- }
- if ( this.status === 200 || this.status === 201 ) {
- args.onsuccess(result, this, args.url);
- } else {
- _onError.call(this, String(this.status));
- }
- }
- }
- function requestJSONP() {
- var loaded = false;
- OSjs.Utils.$createJS(args.url, function() {
- if ( (this.readyState === 'complete' || this.readyState === 'loaded') && !loaded) {
- loaded = true;
- args.onsuccess();
- }
- }, function() {
- if ( loaded ) {
- return;
- }
- loaded = true;
- args.onsuccess();
- }, function() {
- if ( loaded ) {
- return;
- }
- loaded = true;
- args.onerror();
- });
- }
- function cleanup() {
- if ( request.upload ) {
- request.upload.removeEventListener('progress', args.onprogress, false);
- } else {
- request.removeEventListener('progress', args.onprogress, false);
- }
- request.removeEventListener('error', args.onfailed, false);
- request.removeEventListener('abort', args.oncanceled, false);
- request.onerror = null;
- request.onload = null;
- request.onreadystatechange = null;
- request.ontimeut = null;
- request = null;
- args = null;
- }
- function requestJSON() {
- request = new XMLHttpRequest();
- try {
- request.timeout = args.timeout;
- } catch ( e ) {}
- if ( request.upload ) {
- request.upload.addEventListener('progress', args.onprogress, false);
- } else {
- request.addEventListener('progress', args.onprogress, false);
- }
- request.ontimeout = function(evt) {
- args.ontimeout(evt);
- };
- if ( args.responseType === 'arraybuffer' ) { // Binary
- request.onerror = function(evt) {
- var error = request.response || OSjs.API._('ERR_UTILS_XHR_FATAL');
- args.onerror(error, evt, request, args.url);
- cleanup();
- };
- request.onload = function(evt) {
- if ( args.acceptcodes.indexOf(request.status) >= 0 ) {
- args.onsuccess(request.response, request, args.url);
- } else {
- OSjs.VFS.Helpers.abToText(request.response, 'text/plain', function(err, txt) {
- var error = txt || err || OSjs.API._('ERR_UTILS_XHR_FATAL');
- args.onerror(error, evt, request, args.url);
- });
- }
- cleanup();
- };
- } else {
- request.addEventListener('error', args.onfailed, false);
- request.addEventListener('abort', args.oncanceled, false);
- request.onreadystatechange = onReadyStateChange;
- }
- request.open(args.method, args.url, true);
- Object.keys(args.requestHeaders).forEach(function(h) {
- request.setRequestHeader(h, args.requestHeaders[h]);
- });
- request.responseType = args.responseType || '';
- args.oncreated(request);
- request.send(args.body);
- }
- if ( (OSjs.API.getConfig('Connection.Type') === 'standalone') ) {
- args.onerror('You are currently running locally and cannot perform this operation!', null, request, args.url);
- return;
- }
- if ( args.json && (typeof args.body !== 'string') && !(args.body instanceof FormData) ) {
- args.body = JSON.stringify(args.body);
- if ( typeof args.requestHeaders['Content-Type'] === 'undefined' ) {
- args.requestHeaders['Content-Type'] = 'application/json';
- }
- }
- return args.jsonp ? requestJSONP() : requestJSON();
- };
- OSjs.Utils.preload = (function() {
- var _LOADED = {};
- var _CACHE = {};
- function checkCache(item, args) {
- if ( item && _LOADED[item.src] === true ) {
- if ( item.force !== true && args.force !== true ) {
- return true;
- }
- }
- return false;
- }
- var preloadTypes = {
- stylesheet: function createStylesheet(item, cb) {
- var src = item.src;
- var loaded = false;
- var timeout;
- function _done(res) {
- timeout = clearTimeout(timeout);
- if ( !loaded ) {
- _LOADED[src] = true;
- loaded = true;
- cb(res, src);
- }
- }
- function _check(path) {
- var result = false;
- (document.styleSheet || []).forEach(function(iter, i) {
- if ( iter.href.indexOf(path) !== -1 ) {
- result = true;
- return false;
- }
- return true;
- });
- return result;
- }
- OSjs.Utils.$createCSS(src, function() {
- _done(true);
- }, function() {
- _done(false);
- });
- if ( typeof document.styleSheet === 'undefined' || (!loaded && _check(src)) ) {
- return _done(true);
- }
- timeout = setTimeout(function() {
- _done(false);
- }, 30000);
- },
- javascript: function createScript(item, cb) {
- var src = item.src;
- var loaded = false;
- function _done(res) {
- if ( !loaded ) {
- _LOADED[src] = true;
- loaded = true;
- cb(res, src);
- }
- }
- OSjs.Utils.$createJS(src, function() {
- if ( (this.readyState === 'complete' || this.readyState === 'loaded') ) {
- _done(true);
- }
- }, function() {
- _done(true);
- }, function() {
- _done(false);
- }, {async: false});
- },
- scheme: function createHTML(item, cb, args) {
- var scheme;
- function _cache(err, html) {
- if ( !err && html ) {
- _CACHE[item.src] = html;
- }
- }
- function _cb() {
- scheme = null;
- cb.apply(null, arguments);
- }
- if ( _CACHE[item.src] && item.force !== true && args.force !== true ) {
- scheme = new OSjs.GUI.Scheme();
- scheme.loadString(_CACHE[item.src]);
- _cb(true, item.src, scheme);
- } else {
- if ( OSjs.API.isStandalone() ) {
- scheme = new OSjs.GUI.Scheme();
- preloadTypes.javascript({
- src: OSjs.Utils.pathJoin(OSjs.Utils.dirname(item.src), '_scheme.js'),
- type: 'javascript'
- }, function() {
- var look = item.src.replace(OSjs.API.getBrowserPath(), '/').replace(/^\/?packages/, '');
- var html = OSjs.STANDALONE.SCHEMES[look];
- scheme.loadString(html);
- _cache(false, html);
- _cb(true, item.src, scheme);
- });
- } else {
- scheme = new OSjs.GUI.Scheme(item.src);
- scheme.load(function(err, res) {
- _cb(err ? false : true, item.src, scheme);
- }, function(err, html) {
- _cache(err, html);
- });
- }
- }
- }
- };
- function getType(src) {
- if ( src.match(/\.js$/i) ) {
- return 'javascript';
- } else if ( src.match(/\.css$/i) ) {
- return 'stylesheet';
- }
- return 'unknown';
- }
- function getTypeCorrected(t) {
- var typemap = {
- script: 'javascript',
- js: 'javascript',
- style: 'stylesheet',
- css: 'stylesheet'
- };
- return typemap[t] || t;
- }
- function preloadList(list, ondone, onprogress, args) {
- args = args || {};
- ondone = ondone || function() {};
- onprogress = onprogress || function() {};
- var succeeded = [];
- var failed = [];
- var len = list.length;
- var total = 0;
- list = (list || []).map(function(item) {
- if ( typeof item === 'string' ) {
- item = {src: item};
- }
- item._src = item.src;
- item.type = item.type ? getTypeCorrected(item.type) : getType(item.src);
- return item;
- });
- var data = [];
- OSjs.Utils.asyncp(list, {max: args.max || 1}, function(item, index, next) {
- function _onentryloaded(state, src, setData) {
- total++;
- (state ? succeeded : failed).push(src);
- onprogress(index, len, src, succeeded, failed, total);
- if ( setData ) {
- data.push({
- item: item,
- data: setData
- });
- }
- next();
- }
- if ( item ) {
- if ( checkCache(item, args) ) {
- return _onentryloaded(true, item.src);
- } else {
- if ( preloadTypes[item.type] ) {
- return preloadTypes[item.type](item, _onentryloaded, args);
- }
- }
- failed.push(item.src);
- }
- return next();
- }, function() {
- ondone(len, failed, succeeded, data);
- });
- }
- return preloadList;
- })();
-})();
-
-(function() {
- 'use strict';
- OSjs.Utils.getPathProtocol = function getPathProtocol(orig) {
- var tmp = document.createElement('a');
- tmp.href = orig;
- return tmp.protocol.replace(/:$/, '');
- };
- OSjs.Utils.checkdir = function(path) {
- if ( path && window.location.href.match(/^file\:\/\//) ) {
- path = path.replace(/^\//, '');
- }
- return path;
- };
- OSjs.Utils.filext = function(d) {
- var ext = OSjs.Utils.filename(d).split('.').pop();
- return ext ? ext.toLowerCase() : null;
- };
- OSjs.Utils.dirname = function(f) {
- function _parentDir(p) {
- var pstr = p.split(/^(.*)\:\/\/(.*)/).filter(function(n) {
- return n !== '';
- });
- var args = pstr.pop();
- var prot = pstr.pop();
- var result = '';
- var tmp = args.split('/').filter(function(n) {
- return n !== '';
- });
- if ( tmp.length ) {
- tmp.pop();
- }
- result = tmp.join('/');
- if ( !result.match(/^\//) ) {
- result = '/' + result;
- }
- if ( prot ) {
- result = prot + '://' + result;
- }
- return result;
- }
- return f.match(/^((.*)\:\/\/)?\/$/) ? f : _parentDir(f.replace(/\/$/, ''));
- };
- OSjs.Utils.filename = function(p) {
- return (p || '').replace(/\/$/, '').split('/').pop();
- };
- OSjs.Utils.humanFileSize = function(bytes, si) {
- var thresh = si ? 1000 : 1024;
- if (bytes < thresh) {
- return bytes + ' B';
- }
- var units = si ? ['kB','MB','GB','TB','PB','EB','ZB','YB'] : ['KiB','MiB','GiB','TiB','PiB','EiB','ZiB','YiB'];
- var u = -1;
- do {
- bytes /= thresh;
- ++u;
- } while (bytes >= thresh);
- return bytes.toFixed(1) + ' ' + units[u];
- };
- OSjs.Utils.escapeFilename = function(n) {
- return (n || '').replace(/[\|&;\$%@"<>\(\)\+,\*\/]/g, '').trim();
- };
- OSjs.Utils.replaceFileExtension = function(filename, rep) {
- var spl = filename.split('.');
- spl.pop();
- spl.push(rep);
- return spl.join('.');
- };
- OSjs.Utils.replaceFilename = function(orig, newname) {
- var spl = orig.split('/');
- spl.pop();
- spl.push(newname);
- return spl.join('/');
- };
- OSjs.Utils.pathJoin = function() {
- var parts = [];
- var prefix = '';
- var i, s;
- for ( i = 0; i < arguments.length; i++ ) {
- s = String(arguments[i]);
- if ( s.match(/^([A-z0-9\-_]+)\:\//) ) {
- prefix = s.replace(/\/+$/, '//');
- continue;
- }
- s = s.replace(/^\/+/, '').replace(/\/+$/, '');
- parts.push(s);
- }
- return prefix + '/' + parts.join('/');
- };
- OSjs.Utils.getFilenameRange = function(val) {
- val = val || '';
- var range = {min: 0, max: val.length};
- if ( val.match(/^\./) ) {
- if ( val.length >= 2 ) {
- range.min = 1;
- }
- } else {
- if ( val.match(/\.(\w+)$/) ) {
- var m = val.split(/\.(\w+)$/);
- for ( var i = m.length - 1; i >= 0; i-- ) {
- if ( m[i].length ) {
- range.max = val.length - m[i].length - 1;
- break;
- }
- }
- }
- }
- return range;
- };
- OSjs.Utils.btoaUrlsafe = function(str) {
- return (!str || !str.length) ? '' : btoa(str)
- .replace(/\+/g, '-')
- .replace(/\//g, '_')
- .replace(/=+$/, '');
- };
- OSjs.Utils.atobUrlsafe = function(str) {
- if ( str && str.length ) {
- str = (str + '===').slice(0, str.length + (str.length % 4));
- return atob(str.replace(/-/g, '+').replace(/_/g, '/'));
- }
- return '';
- };
- OSjs.Utils.btoaUtf = function(str) { // Encode
- var _unescape = window.unescape || function(s) {
- function d(x, n) {
- return String.fromCharCode(parseInt(n, 16));
- }
- return s.replace(/%([0-9A-F]{2})/i, d);
- };
- str = _unescape(encodeURIComponent(str));
- return btoa(str);
- };
- OSjs.Utils.atobUtf = function(str) { // Decode
- var _escape = window.escape || function(s) {
- function q(c) {
- c = c.charCodeAt();
- return '%' + (c < 16 ? '0' : '') + c.toString(16).toUpperCase();
- }
- return s.replace(/[\x00-),:-?[-^`{-\xFF]/g, q);
- };
- var trans = _escape(atob(str));
- return decodeURIComponent(trans);
- };
- OSjs.Utils.checkAcceptMime = function(mime, list) {
- if ( mime && list.length ) {
- var re;
- for ( var i = 0; i < list.length; i++ ) {
- re = new RegExp(list[i]);
- if ( re.test(mime) === true ) {
- return true;
- }
- }
- }
- return false;
- };
-})();
-
-(function(Utils, API) {
- 'use strict';
- var DefaultLocale = 'en_EN';
- var CurrentLocale = 'en_EN';
- var _CLIPBOARD; // Current 'clipboard' data
- var _hooks = {
- 'onInitialize': [],
- 'onInited': [],
- 'onWMInited': [],
- 'onSessionLoaded': [],
- 'onShutdown': [],
- 'onApplicationPreload': [],
- 'onApplicationLaunch': [],
- 'onApplicationLaunched': [],
- 'onBlurMenu': []
- };
- function ServiceNotificationIcon() {
- this.entries = {};
- this.size = 0;
- this.notif = null;
- this.init();
- }
- ServiceNotificationIcon.prototype.init = function() {
- var wm = OSjs.Core.getWindowManager();
- var self = this;
- function show(ev) {
- self.displayMenu(ev);
- return false;
- }
- if ( wm ) {
- this.notif = wm.createNotificationIcon('ServiceNotificationIcon', {
- image: API.getIcon('status/gtk-dialog-authentication.png'),
- onContextMenu: show,
- onClick: show,
- onInited: function(el, img) {
- self._updateIcon();
- }
- });
- this._updateIcon();
- }
- };
- ServiceNotificationIcon.prototype.destroy = function() {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.removeNotificationIcon('ServiceNotificationIcon');
- }
- this.size = 0;
- this.entries = {};
- this.notif = null;
- };
- ServiceNotificationIcon.prototype._updateIcon = function() {
- if ( this.notif ) {
- if ( this.notif.$container ) {
- this.notif.$container.style.display = this.size ? 'inline-block' : 'none';
- }
- this.notif.setTitle(API._('SERVICENOTIFICATION_TOOLTIP', this.size.toString()));
- }
- };
- ServiceNotificationIcon.prototype.displayMenu = function(ev) {
- var menu = [];
- var entries = this.entries;
- Object.keys(entries).forEach(function(name) {
- menu.push({
- title: name,
- menu: entries[name]
- });
- });
- API.createMenu(menu, ev);
- };
- ServiceNotificationIcon.prototype.add = function(name, menu) {
- if ( !this.entries[name] ) {
- this.entries[name] = menu;
- this.size++;
- this._updateIcon();
- }
- };
- ServiceNotificationIcon.prototype.remove = function(name) {
- if ( this.entries[name] ) {
- delete this.entries[name];
- this.size--;
- this._updateIcon();
- }
- };
- API._ = function _apiTranslate() {
- var s = arguments[0];
- var a = arguments;
- if ( OSjs.Locales[CurrentLocale][s] ) {
- a[0] = OSjs.Locales[CurrentLocale][s];
- } else {
- a[0] = OSjs.Locales[DefaultLocale][s] || s;
- }
- return a.length > 1 ? Utils.format.apply(null, a) : a[0];
- };
- API.__ = function _apiTranslateList() {
- var l = arguments[0];
- var s = arguments[1];
- var a = Array.prototype.slice.call(arguments, 1);
- if ( l[CurrentLocale] && l[CurrentLocale][s] ) {
- a[0] = l[CurrentLocale][s];
- } else {
- a[0] = l[DefaultLocale] ? (l[DefaultLocale][s] || s) : s;
- if ( a[0] && a[0] === s ) {
- a[0] = API._.apply(null, a);
- }
- }
- return a.length > 1 ? Utils.format.apply(null, a) : a[0];
- };
- API.getLocale = function _apiGetLocale() {
- return CurrentLocale;
- };
- API.setLocale = function _apiSetLocale(l) {
- var RTL = API.getConfig('LocaleOptions.RTL', []);
- if ( OSjs.Locales[l] ) {
- CurrentLocale = l;
- } else {
- console.warn('API::setLocale()', 'Invalid locale', l, '(Using default)');
- CurrentLocale = DefaultLocale;
- }
- var major = CurrentLocale.split('_')[0];
- var html = document.querySelector('html');
- if ( html ) {
- html.setAttribute('lang', l);
- html.setAttribute('dir', RTL.indexOf(major) !== -1 ? 'rtl' : 'ltr');
- }
- };
- API.curl = function _apiCurl(args, callback) {
- args = args || {};
- callback = callback || {};
- var opts = args.body;
- if ( typeof opts === 'object' ) {
- console.warn('DEPRECATION WARNING', 'The \'body\' wrapper is no longer needed');
- } else {
- opts = args;
- }
- API.call('curl', opts, callback, args.options);
- };
- var _CALL_INDEX = 1;
- API.call = function _apiCall(m, a, cb, options) {
- a = a || {};
- var lname = 'APICall_' + _CALL_INDEX;
- if ( typeof a.__loading === 'undefined' || a.__loading === true ) {
- API.createLoading(lname, {className: 'BusyNotification', tooltip: 'API Call'});
- }
- if ( typeof cb !== 'function' ) {
- throw new TypeError('call() expects a function as callback');
- }
- if ( options && typeof options !== 'object' ) {
- throw new TypeError('call() expects an object as options');
- }
- _CALL_INDEX++;
- var handler = OSjs.Core.getHandler();
- return handler.callAPI(m, a, function(response) {
- API.destroyLoading(lname);
- response = response || {};
- cb(response.error || false, response.result);
- }, function(err) {
- cb(err);
- }, options);
- };
- API.open = function _apiOpen(file, launchArgs) {
- launchArgs = launchArgs || {};
- if ( !file.path ) {
- throw new Error('Cannot API::open() without a path');
- }
- var settingsManager = OSjs.Core.getSettingsManager();
- var wm = OSjs.Core.getWindowManager();
- var args = {file: file};
- function getApplicationNameByFile(file, forceList, callback) {
- if ( !(file instanceof OSjs.VFS.File) ) {
- throw new Error('This function excepts a OSjs.VFS.File object');
- }
- var pacman = OSjs.Core.getPackageManager();
- var val = settingsManager.get('DefaultApplication', file.mime);
- if ( !forceList && val ) {
- if ( pacman.getPackage(val) ) {
- callback([val]);
- return;
- }
- }
- callback(pacman.getPackagesByMime(file.mime));
- }
- function setDefaultApplication(mime, app, callback) {
- callback = callback || function() {};
- settingsManager.set('DefaultApplication', mime, app);
- settingsManager.save('DefaultApplication', callback);
- }
- function _launch(name) {
- if ( name ) {
- API.launch(name, args, launchArgs.onFinished, launchArgs.onError, launchArgs.onConstructed);
- }
- }
- function _launchApp(name, ar) {
- API.launch(name, ar);
- }
- function _onDone(app) {
- if ( app.length ) {
- if ( app.length === 1 ) {
- _launch(app[0]);
- } else {
- if ( wm ) {
- API.createDialog('ApplicationChooser', {
- file: file,
- list: app
- }, function(ev, btn, result) {
- if ( btn !== 'ok' ) {
- return;
- }
- _launch(result.name);
- setDefaultApplication(file.mime, result.useDefault ? result.name : null);
- });
- } else {
- API.error(API._('ERR_FILE_OPEN'),
- API._('ERR_FILE_OPEN_FMT', file.path),
- API._('ERR_NO_WM_RUNNING') );
- }
- }
- } else {
- API.error(API._('ERR_FILE_OPEN'),
- API._('ERR_FILE_OPEN_FMT', file.path),
- API._('ERR_APP_MIME_NOT_FOUND_FMT', file.mime) );
- }
- }
- if ( file.mime === 'osjs/application' ) {
- _launchApp(Utils.filename(file.path), launchArgs);
- } else if ( file.type === 'dir' ) {
- var fm = settingsManager.instance('DefaultApplication').get('dir', 'ApplicationFileManager');
- _launchApp(fm, {path: file.path});
- } else {
- if ( launchArgs.args ) {
- Object.keys(launchArgs.args).forEach(function(i) {
- args[i] = launchArgs.args[i];
- });
- }
- getApplicationNameByFile(file, launchArgs.forceList, _onDone);
- }
- };
- API.relaunch = function _apiRelaunch(n) {
- function relaunch(p) {
- var data = null;
- var args = {};
- if ( p instanceof OSjs.Core.Application ) {
- data = p._getSessionData();
- }
- try {
- p.destroy(); // kill
- } catch ( e ) {
- console.warn('OSjs.API.relaunch()', e.stack, e);
- }
- if ( data !== null ) {
- args = data.args;
- args.__resume__ = true;
- args.__windows__ = data.windows || [];
- }
- args.__preload__ = {force: true};
- setTimeout(function() {
- API.launch(n, args);
- }, 500);
- }
- API.getProcess(n).forEach(relaunch);
- };
- API.launch = function _apiLaunch(name, args, ondone, onerror, onconstruct) {
- args = args || {};
- var err;
- var splash = null;
- var instance = null;
- var pargs = {};
- var packman = OSjs.Core.getPackageManager();
- var compability = Utils.getCompability();
- var metadata = packman.getPackage(name);
- var running = API.getProcess(name, true);
- var preloads = (function() {
- var list = (metadata.preload || []).slice(0);
- var additions = [];
- function _add(chk) {
- if ( chk && chk.preload ) {
- chk.preload.forEach(function(p) {
- additions.push(p);
- });
- }
- }
- if ( metadata.depends instanceof Array ) {
- metadata.depends.forEach(function(k) {
- if ( !OSjs.Applications[k] ) {
- _add(packman.getPackage(k));
- }
- });
- }
- var pkgs = packman.getPackages(false);
- Object.keys(pkgs).forEach(function(pn) {
- var p = pkgs[pn];
- if ( p.type === 'extension' && p.uses === name ) {
- _add(p);
- }
- });
- list = additions.concat(list);
- additions = [];
- if ( metadata.scope === 'user' ) {
- list = list.map(function(p) {
- if ( p.src.substr(0, 1) !== '/' && !p.src.match(/^(https?|ftp)/) ) {
- OSjs.VFS.url(p.src, function(error, url) {
- if ( !error ) {
- p.src = url;
- }
- });
- }
- return p;
- });
- }
- return list;
- })();
- function _createSplash() {
- API.createLoading(name, {className: 'StartupNotification', tooltip: API._('LBL_STARTING') + ' ' + name});
- if ( !OSjs.Applications[name] ) {
- if ( metadata.splash !== false ) {
- splash = API.createSplash(metadata.name, metadata.icon);
- }
- }
- }
- function _destroySplash() {
- API.destroyLoading(name);
- if ( splash ) {
- splash.destroy();
- splash = null;
- }
- }
- function _onError(err, exception) {
- _destroySplash();
- API.error(API._('ERR_APP_LAUNCH_FAILED'),
- API._('ERR_APP_LAUNCH_FAILED_FMT', name),
- err, exception, true);
- (onerror || function() {})(err, name, args, exception);
- }
- function _onFinished(skip) {
- _destroySplash();
- (ondone || function() {})(instance, metadata);
- }
- function _preLaunch(cb) {
- var isCompatible = (function() {
- var list = (metadata.compability || []).filter(function(c) {
- if ( typeof compability[c] !== 'undefined' ) {
- return !compability[c];
- }
- return false;
- });
- if ( list.length ) {
- return API._('ERR_APP_LAUNCH_COMPABILITY_FAILED_FMT', name, list.join(', '));
- }
- return true;
- })();
- if ( isCompatible !== true ) {
- throw new Error(isCompatible);
- }
- if ( metadata.singular === true && running ) {
- if ( running instanceof OSjs.Core.Application ) {
- console.warn('API::launch()', 'detected that this application is a singular and already running...');
- running._onMessage('attention', args);
- _onFinished(true);
- return; // muy importante!
- } else {
- throw new Error(API._('ERR_APP_LAUNCH_ALREADY_RUNNING_FMT', name));
- }
- }
- Utils.asyncs(_hooks.onApplicationPreload, function(qi, i, n) {
- qi(name, args, preloads, function(p) {
- if ( p && (p instanceof Array) ) {
- preloads = p;
- }
- n();
- });
- }, function() {
- _createSplash();
- cb();
- });
- API.triggerHook('onApplicationLaunch', [name, args]);
- }
- function _preload(cb) {
- Utils.preload(preloads, function(total, failed, succeeded, data) {
- if ( failed.length ) {
- cb(API._('ERR_APP_PRELOAD_FAILED_FMT', name, failed.join(',')));
- } else {
- setTimeout(function() {
- cb(false, data);
- }, 0);
- }
- }, function(index, count, src, succeeded, failed, progress) {
- if ( splash ) {
- splash.update(progress, count);
- }
- }, pargs);
- }
- function _createProcess(preloadData, cb) {
- function __onprocessinitfailed() {
- if ( instance ) {
- try {
- instance.destroy();
- instance = null;
- } catch ( ee ) {
- console.warn('Something awful happened when trying to clean up failed launch Oo', ee);
- console.warn(ee.stack);
- }
- }
- }
- if ( typeof OSjs.Applications[name] === 'undefined' ) {
- throw new Error(API._('ERR_APP_RESOURCES_MISSING_FMT', name));
- }
- if ( typeof OSjs.Applications[name] === 'function' ) {
- OSjs.Applications[name]();
- cb(false, true);
- return;
- }
- function __onschemesloaded(scheme) {
- try {
- if ( metadata.classType === 'simple' ) {
- instance = new OSjs.Core.Application(name, args, metadata);
- OSjs.Applications[name].run(instance);
- } else {
- instance = new OSjs.Applications[name].Class(args, metadata);
- }
- (onconstruct || function() {})(instance, metadata);
- } catch ( e ) {
- console.warn('Error on constructing application', e, e.stack);
- __onprocessinitfailed();
- cb(API._('ERR_APP_CONSTRUCT_FAILED_FMT', name, e), e);
- return false;
- }
- try {
- var settings = OSjs.Core.getSettingsManager().get(instance.__pname) || {};
- instance.init(settings, metadata, scheme);
- API.triggerHook('onApplicationLaunched', [{
- application: instance,
- name: name,
- args: args,
- settings: settings,
- metadata: metadata
- }]);
- } catch ( ex ) {
- console.warn('Error on init() application', ex, ex.stack);
- __onprocessinitfailed();
- cb(API._('ERR_APP_INIT_FAILED_FMT', name, ex.toString()), ex);
- return false;
- }
- return true;
- }
- var scheme = null;
- if ( preloadData ) {
- preloadData.forEach(function(f) {
- if ( !scheme && f.item.type === 'scheme' ) {
- scheme = f.data;
- }
- });
- }
- if ( __onschemesloaded(scheme) ) {
- cb(false, true);
- }
- }
- if ( !name ) {
- err = 'Cannot API::launch() witout a application name';
- _onError(err);
- throw new Error(err);
- }
- if ( !metadata ) {
- err = API._('ERR_APP_LAUNCH_MANIFEST_FAILED_FMT', name);
- _onError(err);
- throw new Error(err);
- }
- console.group('API::launch()', {
- name: name,
- args: args,
- metadata: metadata,
- preloads: preloads
- });
- if ( args.__preload__ ) { // This is for relaunch()
- pargs = args.__preload__;
- delete args.__preload__;
- }
- pargs.max = (function(p) {
- if ( p === true ) {
- p = API.getConfig('Connection.PreloadParallel');
- }
- return p;
- })(metadata.preloadParallel);
- try {
- _preLaunch(function() {
- _preload(function(err, res) {
- if ( err ) {
- _onError(err, res);
- } else {
- try {
- _createProcess(res, function(err, res) {
- if ( err ) {
- _onError(err, res);
- } else {
- try {
- _onFinished(res);
- } catch ( e ) {
- _onError(e.toString(), e);
- }
- }
- });
- } catch ( e ) {
- _onError(e.toString(), e);
- }
- }
- });
- });
- } catch ( e ) {
- _onError(e.toString());
- }
- };
- API.launchList = function _apiLaunchList(list, onSuccess, onError, onFinished) {
- list = list || [];
- onSuccess = onSuccess || function() {};
- onError = onError || function() {};
- onFinished = onFinished || function() {};
- Utils.asyncs(list, function(s, current, next) {
- if ( typeof s === 'string' ) {
- var args = {};
- var spl = s.split('@');
- var name = spl[0];
- if ( typeof spl[1] !== 'undefined' ) {
- try {
- args = JSON.parse(spl[1]);
- } catch ( e ) {}
- }
- s = {
- name: name,
- args: args
- };
- }
- var aname = s.name;
- var aargs = (typeof s.args === 'undefined') ? {} : (s.args || {});
- if ( !aname ) {
- console.warn('API::launchList() next()', 'No application name defined');
- next();
- return;
- }
- API.launch(aname, aargs, function(app, metadata) {
- onSuccess(app, metadata, aname, aargs);
- next();
- }, function(err, name, args) {
- console.warn('API::launchList() _onError()', err);
- onError(err, name, args);
- next();
- });
- }, onFinished);
- };
- API.getApplicationResource = function _apiGetAppResource(app, name, vfspath) {
- if ( name.match(/^\//) ) {
- return name;
- }
- name = name.replace(/^\.\//, '');
- function getName() {
- var appname = null;
- if ( app instanceof OSjs.Core.Process ) {
- appname = app.__pname;
- } else if ( typeof app === 'string' ) {
- appname = app;
- }
- return appname;
- }
- function getResultPath(path, userpkg) {
- path = Utils.checkdir(path);
- if ( vfspath ) {
- if ( userpkg ) {
- path = path.substr(API.getConfig('Connection.FSURI').length);
- } else {
- path = 'osjs:///' + path;
- }
- }
- return path;
- }
- return (function() {
- var pacman = OSjs.Core.getPackageManager();
- var appname = getName();
- var pkg = pacman.getPackage(appname);
- var path = '';
- if ( pkg ) {
- if ( pkg.scope === 'user' ) {
- path = API.getConfig('Connection.FSURI') + '/get/' + Utils.pathJoin(pkg.path, name);
- } else {
- path = API.getConfig('Connection.PackageURI') + '/' + pkg.path + '/' + name;
- }
- }
- return getResultPath(path, pkg.scope === 'user');
- })();
- };
- API.getThemeCSS = function _apiGetThemeCSS(name) {
- var root = API.getConfig('Connection.RootURI', '/');
- if ( name === null ) {
- return root + 'blank.css';
- }
- root = API.getConfig('Connection.ThemeURI');
- return Utils.checkdir(root + '/' + name + '.css');
- };
- API.getFileIcon = function _apiGetFileIcon(file, size, icon) {
- icon = icon || 'mimetypes/gnome-fs-regular.png';
- if ( typeof file === 'object' && !(file instanceof OSjs.VFS.File) ) {
- file = new OSjs.VFS.File(file);
- }
- if ( !file.filename ) {
- throw new Error('Filename is required for getFileIcon()');
- }
- var map = [
- {match: 'application/pdf', icon: 'mimetypes/gnome-mime-application-pdf.png'},
- {match: 'application/zip', icon: 'mimetypes/folder_tar.png'},
- {match: 'application/x-python', icon: 'mimetypes/stock_script.png'},
- {match: 'application/x-lua', icon: 'mimetypes/stock_script.png'},
- {match: 'application/javascript', icon: 'mimetypes/stock_script.png'},
- {match: 'text/html', icon: 'mimetypes/stock_script.png'},
- {match: 'text/xml', icon: 'mimetypes/stock_script.png'},
- {match: 'text/css', icon: 'mimetypes/stock_script.png'},
- {match: 'osjs/document', icon: 'mimetypes/gnome-mime-application-msword.png'},
- {match: 'osjs/draw', icon: 'mimetypes/image.png'},
- {match: /^text\//, icon: 'mimetypes/txt.png'},
- {match: /^audio\//, icon: 'mimetypes/sound.png'},
- {match: /^video\//, icon: 'mimetypes/video.png'},
- {match: /^image\//, icon: 'mimetypes/image.png'},
- {match: /^application\//, icon: 'mimetypes/binary.png'}
- ];
- if ( file.type === 'dir' ) {
- icon = 'places/folder.png';
- } else if ( file.type === 'trash' ) {
- icon = 'places/user-trash.png';
- } else {
- var mime = file.mime || 'application/octet-stream';
- map.every(function(iter) {
- var match = false;
- if ( typeof iter.match === 'string' ) {
- match = (mime === iter.match);
- } else {
- match = mime.match(iter.match);
- }
- if ( match ) {
- icon = iter.icon;
- return false;
- }
- return true;
- });
- }
- return API.getIcon(icon, size);
- };
- API.getThemeResource = function _apiGetThemeResource(name, type) {
- name = name || null;
- type = type || null;
- var root = API.getConfig('Connection.ThemeURI');
- if ( !root.match(/^\//) ) {
- root = API.getBrowserPath() + root;
- }
- function getName(str, theme) {
- if ( !str.match(/^\//) ) {
- if ( type === 'base' || type === null ) {
- str = root + '/' + theme + '/' + str;
- } else {
- str = root + '/' + theme + '/' + type + '/' + str;
- }
- }
- return str;
- }
- if ( name ) {
- var wm = OSjs.Core.getWindowManager();
- var theme = (wm ? wm.getSetting('theme') : 'default') || 'default';
- name = getName(name, theme);
- }
- return Utils.checkdir(name);
- };
- API.getSound = function _apiGetSound(name) {
- name = name || null;
- if ( name ) {
- var wm = OSjs.Core.getWindowManager();
- var theme = wm ? wm.getSoundTheme() : 'default';
- var root = API.getConfig('Connection.SoundURI');
- var compability = Utils.getCompability();
- if ( !name.match(/^\//) ) {
- var ext = 'oga';
- if ( !compability.audioTypes.ogg ) {
- ext = 'mp3';
- }
- name = root + '/' + theme + '/' + name + '.' + ext;
- }
- }
- return Utils.checkdir(name);
- };
- API.getIcon = function _apiGetIcon(name, size, app) {
- name = name || null;
- size = size || '16x16';
- app = app || null;
- var root = API.getConfig('Connection.IconURI');
- var wm = OSjs.Core.getWindowManager();
- var theme = wm ? wm.getIconTheme() : 'default';
- function checkIcon() {
- if ( name.match(/^\.\//) ) {
- name = name.replace(/^\.\//, '');
- if ( (app instanceof OSjs.Core.Application) || (typeof app === 'string') ) {
- return API.getApplicationResource(app, name);
- } else {
- if ( app !== null && typeof app === 'object' ) {
- return API.getApplicationResource(app.className, name);
- } else if ( typeof app === 'string' ) {
- return API.getApplicationResource(app, name);
- }
- }
- } else {
- if ( !name.match(/^\//) ) {
- name = root + '/' + theme + '/' + size + '/' + name;
- }
- }
- return null;
- }
- if ( name && !name.match(/^(http|\/\/)/) ) {
- var chk = checkIcon();
- if ( chk !== null ) {
- return chk;
- }
- }
- return Utils.checkdir(name);
- };
- API.getConfig = function _apiGetConfig(path, defaultValue) {
- var config = OSjs.Core.getConfig();
- if ( typeof path === 'string' ) {
- var result = config[path];
- if ( path.indexOf('.') !== -1 ) {
- var queue = path.split(/\./);
- var ns = config;
- queue.forEach(function(k, i) {
- if ( i >= queue.length - 1 ) {
- if ( ns ) {
- result = ns[k];
- }
- } else {
- ns = ns[k];
- }
- });
- }
- if ( typeof result === 'undefined' && typeof defaultValue !== 'undefined' ) {
- return defaultValue;
- }
- return typeof result === 'object' ? Utils.cloneObject(result) : result;
- }
- return config;
- };
- API.getDefaultPath = function _apiGetDefaultPath(fallback) {
- if ( fallback && fallback.match(/^\//) ) {
- fallback = null;
- }
- return API.getConfig('VFS.Home') || fallback || 'osjs:///';
- };
- API.createNotification = function _apiCreateNotification(opts) {
- var wm = OSjs.Core.getWindowManager();
- return wm.notification(opts);
- };
- API.createDialog = function _apiCreateDialog(className, args, callback, parentObj) {
- callback = callback || function() {};
- function cb() {
- if ( parentObj ) {
- if ( (parentObj instanceof OSjs.Core.Window) && parentObj._destroyed ) {
- console.warn('API::createDialog()', 'INGORED EVENT: Window was destroyed');
- return;
- }
- if ( (parentObj instanceof OSjs.Core.Process) && parentObj.__destroyed ) {
- console.warn('API::createDialog()', 'INGORED EVENT: Process was destroyed');
- return;
- }
- }
- callback.apply(null, arguments);
- }
- var win = typeof className === 'string' ? new OSjs.Dialogs[className](args, cb) : className(args, cb);
- if ( !parentObj ) {
- var wm = OSjs.Core.getWindowManager();
- wm.addWindow(win, true);
- } else if ( parentObj instanceof OSjs.Core.Window ) {
- win._on('destroy', function() {
- if ( parentObj ) {
- parentObj._focus();
- }
- });
- parentObj._addChild(win, true);
- } else if ( parentObj instanceof OSjs.Core.Application ) {
- parentObj._addWindow(win);
- }
- setTimeout(function() {
- win._focus();
- }, 10);
- return win;
- };
- API.createLoading = function _apiCreateLoading(name, opts, panelId) {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- if ( wm.createNotificationIcon(name, opts, panelId) ) {
- return name;
- }
- }
- return false;
- };
- API.destroyLoading = function _apiDestroyLoading(name, panelId) {
- var wm = OSjs.Core.getWindowManager();
- if ( name ) {
- if ( wm ) {
- if ( wm.removeNotificationIcon(name, panelId) ) {
- return true;
- }
- }
- }
- return false;
- };
- API.checkPermission = function _apiCheckPermission(group) {
- var user = OSjs.Core.getHandler().getUserData();
- var userGroups = user.groups || [];
- if ( !(group instanceof Array) ) {
- group = [group];
- }
- var result = true;
- if ( userGroups.indexOf('admin') < 0 ) {
- group.every(function(g) {
- if ( userGroups.indexOf(g) < 0 ) {
- result = false;
- }
- return result;
- });
- }
- return result;
- };
- API.createSplash = function _apiCreateSplash(name, icon, label, parentEl) {
- label = label || API._('LBL_STARTING');
- parentEl = parentEl || document.body;
- var splash = document.createElement('application-splash');
- splash.setAttribute('role', 'dialog');
- var img;
- if ( icon ) {
- img = document.createElement('img');
- img.alt = name;
- img.src = API.getIcon(icon);
- }
- var titleText = document.createElement('b');
- titleText.appendChild(document.createTextNode(name));
- var title = document.createElement('span');
- title.appendChild(document.createTextNode(label + ' '));
- title.appendChild(titleText);
- title.appendChild(document.createTextNode('...'));
- var splashBar = document.createElement('gui-progress-bar');
- OSjs.GUI.Elements['gui-progress-bar'].build(splashBar);
- if ( img ) {
- splash.appendChild(img);
- }
- splash.appendChild(title);
- splash.appendChild(splashBar);
- parentEl.appendChild(splash);
- return {
- destroy: function() {
- splash = Utils.$remove(splash);
- img = null;
- title = null;
- titleText = null;
- splashBar = null;
- },
- update: function(p, c) {
- if ( !splash || !splashBar ) {
- return;
- }
- var per = c ? 0 : 100;
- if ( c ) {
- per = (p / c) * 100;
- }
- (new OSjs.GUI.Element(splashBar)).set('value', per);
- }
- };
- };
- API.error = function _apiError(title, message, error, exception, bugreport) {
- bugreport = (function() {
- if ( API.getConfig('BugReporting.enabled') ) {
- return typeof bugreport === 'undefined' ? false : (bugreport ? true : false);
- }
- return false;
- })();
- function _dialog() {
- var wm = OSjs.Core.getWindowManager();
- if ( wm && wm._fullyLoaded ) {
- try {
- API.createDialog('Error', {
- title: title,
- message: message,
- error: error,
- exception: exception,
- bugreport: bugreport
- });
- return true;
- } catch ( e ) {
- console.warn('An error occured while creating Dialogs.Error', e);
- console.warn('stack', e.stack);
- }
- }
- return false;
- }
- API.blurMenu();
- if ( exception && (exception.message.match(/^Script Error/i) && String(exception.lineNumber).match(/^0/)) ) {
- console.error('VENDOR ERROR', {
- title: title,
- message: message,
- error: error,
- exception: exception
- });
- return;
- }
- if ( API.getConfig('MOCHAMODE') ) {
- console.error(title, message, error, exception);
- } else {
- if ( _dialog() ) {
- return;
- }
- window.alert(title + '\n\n' + message + '\n\n' + error);
- }
- };
- API.playSound = function _apiPlaySound(name, volume) {
- var compability = Utils.getCompability();
- var wm = OSjs.Core.getWindowManager();
- var filename = wm ? wm.getSoundFilename(name) : null;
- if ( !wm || !compability.audio || !wm.getSetting('enableSounds') || !filename ) {
- return false;
- }
- if ( typeof volume === 'undefined' ) {
- volume = 1.0;
- }
- var f = API.getSound(filename);
- var a = new Audio(f);
- a.volume = volume;
- a.play();
- return a;
- };
- API.setClipboard = function _apiSetClipboard(data) {
- _CLIPBOARD = data;
- };
- API.getClipboard = function _apiGetClipboard() {
- return _CLIPBOARD;
- };
- API.getServiceNotificationIcon = (function() {
- var _instance;
- return function _apiGetServiceNotificationIcon() {
- if ( !_instance ) {
- _instance = new ServiceNotificationIcon();
- }
- return _instance;
- };
- })();
- API.toggleFullscreen = (function() {
- var _prev;
- function trigger(el, state) {
- function _request() {
- if ( el.requestFullscreen ) {
- el.requestFullscreen();
- } else if ( el.mozRequestFullScreen ) {
- el.mozRequestFullScreen();
- } else if ( el.webkitRequestFullScreen ) {
- el.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
- }
- }
- function _restore() {
- if ( el.webkitCancelFullScreen ) {
- el.webkitCancelFullScreen();
- } else if ( el.mozCancelFullScreen ) {
- el.mozCancelFullScreen();
- } else if ( el.exitFullscreen ) {
- el.exitFullscreen();
- }
- }
- if ( el ) {
- if ( state ) {
- _request();
- } else {
- _restore();
- }
- }
- }
- return function _apiToggleFullscreen(el, t) {
- if ( typeof t === 'boolean' ) {
- trigger(el, t);
- } else {
- if ( _prev && _prev !== el ) {
- trigger(_prev, false);
- }
- trigger(el, _prev !== el);
- }
- _prev = el;
- };
- })();
- API.isStandalone = function _apiIsStandlone() {
- return API.getConfig('Connection.Type') === 'standalone' && window.location.protocol === 'file:';
- };
- API.getBrowserPath = function _apiGetBrowserPath() {
- return (window.location.pathname || '/').replace(/index\.(.*)$/, '');
- }
- API.signOut = function _apiSignOut() {
- var handler = OSjs.Core.getHandler();
- var wm = OSjs.Core.getWindowManager();
- function signOut(save) {
- API.playSound('LOGOUT');
- handler.logout(save, function() {
- API.shutdown();
- });
- }
- if ( wm ) {
- var user = handler.getUserData() || {name: API._('LBL_UNKNOWN')};
- API.createDialog('Confirm', {
- title: API._('DIALOG_LOGOUT_TITLE'),
- message: API._('DIALOG_LOGOUT_MSG_FMT', user.name)
- }, function(ev, btn) {
- if ( btn === 'yes' ) {
- signOut(true);
- } else if ( btn === 'no' ) {
- signOut(false);
- }
- });
- } else {
- signOut(true);
- }
- };
- API.triggerHook = function _apiTriggerHook(name, args, thisarg) {
- thisarg = thisarg || OSjs;
- args = args || [];
- if ( _hooks[name] ) {
- _hooks[name].forEach(function(hook) {
- if ( typeof hook === 'function' ) {
- try {
- hook.apply(thisarg, args);
- } catch ( e ) {
- console.warn('Error on Hook', e, e.stack);
- }
- } else {
- console.warn('No such Hook', name);
- }
- });
- }
- };
- API.addHook = function _apiAddHook(name, fn) {
- if ( typeof _hooks[name] !== 'undefined' ) {
- return _hooks[name].push(fn) - 1;
- }
- return -1;
- };
- API.removeHook = function _apiRemoveHook(name, index) {
- if ( typeof _hooks[name] !== 'undefined' ) {
- if ( _hooks[name][index] ) {
- _hooks[name][index] = null;
- return true;
- }
- }
- return false;
- };
- API.shutdown = API.shutdown || function() {}; // init.js
- API.isShuttingDown = API.isShuttingDown || function() {}; // init.js
- API.createMenu = function() {
- return OSjs.GUI.Helpers.createMenu.apply(null, arguments);
- };
- API.blurMenu = function() {
- return OSjs.GUI.Helpers.blurMenu.apply(null, arguments);
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- var _PROCS = []; // Running processes
- function _kill(pid) {
- if ( pid >= 0 && _PROCS[pid] ) {
- var res = _PROCS[pid].destroy();
- console.warn('Killing application', pid, res);
- if ( res !== false ) {
- _PROCS[pid] = null;
- return true;
- }
- }
- return false;
- }
- function doKillAllProcesses(match) {
- if ( match ) {
- var isMatching;
- if ( match instanceof RegExp && _PROCS ) {
- isMatching = function(p) {
- return p.__pname && p.__pname.match(match);
- };
- } else if ( typeof match === 'string' ) {
- isMatching = function(p) {
- return p.__pname === match;
- };
- }
- if ( isMatching ) {
- _PROCS.forEach(function(p) {
- if ( p && isMatching(p) ) {
- _kill(p.__pid);
- }
- });
- }
- return;
- }
- _PROCS.forEach(function(proc, i) {
- if ( proc ) {
- proc.destroy(true);
- }
- _PROCS[i] = null;
- });
- _PROCS = [];
- }
- function doKillProcess(pid) {
- return _kill(pid);
- }
- function doProcessMessage(msg, obj, opts) {
- opts = opts || {};
- var filter = opts.filter || function() {
- return true;
- };
- if ( typeof filter === 'string' ) {
- var s = filter;
- filter = function(p) {
- return p.__pname === s;
- };
- }
- _PROCS.forEach(function(p, i) {
- if ( p && (p instanceof OSjs.Core.Application || p instanceof OSjs.Core.Process) ) {
- if ( filter(p) ) {
- p._onMessage(msg, obj, opts);
- }
- }
- });
- }
- function doGetProcess(name, first) {
- var result = first ? null : [];
- if ( typeof name === 'number' ) {
- return _PROCS[name];
- }
- _PROCS.every(function(p, i) {
- if ( p ) {
- if ( p.__pname === name ) {
- if ( first ) {
- result = p;
- return false;
- }
- result.push(p);
- }
- }
- return true;
- });
- return result;
- }
- function doGetProcesses() {
- return _PROCS;
- }
- function Process(name, args, metadata) {
- this.__pid = _PROCS.push(this) - 1;
- this.__pname = name;
- this.__args = args || {};
- this.__metadata = metadata || {};
- this.__started = new Date();
- this.__destroyed = false;
- this.__evHandler = new OSjs.Helpers.EventHandler(name, [
- 'message', 'attention', 'hashchange', 'api', 'destroy', 'destroyWindow', 'vfs',
- 'vfs:mount', 'vfs:unmount', 'vfs:mkdir', 'vfs:write', 'vfs:move',
- 'vfs:copy', 'vfs:delete', 'vfs:upload', 'vfs:update'
- ]);
- this.__label = this.__metadata.name;
- this.__path = this.__metadata.path;
- this.__scope = this.__metadata.scope || 'system';
- this.__iter = this.__metadata.className;
- }
- Process.prototype.destroy = function() {
- if ( !this.__destroyed ) {
- this.__destroyed = true;
- this._emit('destroy', []);
- if ( this.__evHandler ) {
- this.__evHandler = this.__evHandler.destroy();
- }
- if ( this.__pid >= 0 ) {
- _PROCS[this.__pid] = null;
- }
- return true;
- }
- return false;
- };
- Process.prototype._onMessage = function(msg, obj, opts) {
- opts = opts || {};
- var sourceId = opts.source;
- if ( sourceId instanceof Process ) {
- sourceId = sourceId.__pid;
- } else if ( sourceId instanceof OSjs.Core.Window ) {
- sourceId = sourceId._app ? sourceId._app.__pid : -1;
- }
- if ( this.__evHandler && sourceId !== this.__pid ) {
- this.__evHandler.emit('message', [msg, obj, opts]);
- if ( msg.substr(0, 3) === 'vfs' ) {
- this.__evHandler.emit('vfs', [msg, obj, opts]);
- }
- this.__evHandler.emit(msg, [obj, opts, msg]);
- }
- };
- Process.prototype._emit = function(k, args) {
- return this.__evHandler.emit(k, args);
- };
- Process.prototype._on = function(k, func) {
- return this.__evHandler.on(k, func, this);
- };
- Process.prototype._off = function(k, idx) {
- return this.__evHandler.off(k, idx);
- };
- Process.prototype._api = function(method, args, callback, showLoading) {
- var self = this;
- function cb(err, res) {
- if ( self.__destroyed ) {
- console.warn('Process::_api()', 'INGORED RESPONSE: Process was closed');
- return;
- }
- callback(err, res);
- }
- this._emit('api', [method]);
- return OSjs.API.call('application', {
- application: this.__iter,
- path: this.__path,
- method: method,
- 'arguments': args, __loading: showLoading
- }, cb);
- };
- Process.prototype._getArgument = function(k) {
- return typeof this.__args[k] === 'undefined' ? null : this.__args[k];
- };
- Process.prototype._getArguments = function() {
- return this.__args;
- };
- Process.prototype._getResource = function(src) {
- return API.getApplicationResource(this, src);
- };
- Process.prototype._setArgument = function(k, v) {
- this.__args[k] = v;
- };
- OSjs.Core.Process = Object.seal(Process);
- OSjs.API.killAll = doKillAllProcesses;
- OSjs.API.kill = doKillProcess;
- OSjs.API.message = doProcessMessage;
- OSjs.API.getProcess = doGetProcess;
- OSjs.API.getProcesses = doGetProcesses;
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API, Process) {
- 'use strict';
- function Application(name, args, metadata, settings) {
- this.__inited = false;
- this.__mainwindow = null;
- this.__scheme = null;
- this.__windows = [];
- this.__settings = {};
- this.__destroying = false;
- try {
- this.__settings = OSjs.Core.getSettingsManager().instance(name, settings || {});
- } catch ( e ) {
- console.warn('Application::construct()', 'An error occured while loading application settings', e);
- console.warn(e.stack);
- this.__settings = OSjs.Core.getSettingsManager().instance(name, {});
- }
- Process.apply(this, arguments);
- }
- Application.prototype = Object.create(Process.prototype);
- Application.constructor = Process;
- Application.prototype.init = function(settings, metadata, scheme) {
- var wm = OSjs.Core.getWindowManager();
- var self = this;
- function focusLastWindow() {
- var last;
- if ( wm ) {
- self.__windows.forEach(function(win, i) {
- if ( win ) {
- wm.addWindow(win);
- last = win;
- }
- });
- }
- if ( last ) {
- last._focus();
- }
- }
- if ( !this.__inited ) {
- if ( scheme ) {
- this._setScheme(scheme);
- }
- this.__settings.set(null, settings);
- this.__inited = true;
- this.__evHandler.emit('init', [settings, metadata, scheme]);
- focusLastWindow();
- }
- };
- Application.prototype.destroy = function(sourceWid) {
- if ( this.__destroying || this.__destroyed ) { // From 'process.js'
- return true;
- }
- this.__destroying = true;
- this.__windows.forEach(function(w) {
- try {
- if ( w && w._wid !== sourceWid ) {
- w.destroy();
- }
- } catch ( e ) {
- console.warn('Application::destroy()', e, e.stack);
- }
- });
- this.__mainwindow = null;
- this.__settings = {};
- this.__windows = [];
- if ( this.__scheme ) {
- this.__scheme.destroy();
- }
- this.__scheme = null;
- var result = Process.prototype.destroy.apply(this, arguments);
- return result;
- };
- Application.prototype._onMessage = function(msg, obj, args) {
- if ( this.__destroying || this.__destroyed ) {
- return false;
- }
- if ( msg === 'destroyWindow' ) {
- if ( obj._name === this.__mainwindow ) {
- this.destroy(obj._wid);
- } else {
- this._removeWindow(obj);
- }
- } else if ( msg === 'attention' ) {
- if ( this.__windows.length && this.__windows[0] ) {
- this.__windows[0]._focus();
- }
- }
- return Process.prototype._onMessage.apply(this, arguments);
- };
- Application.prototype._loadScheme = function(s, cb) {
- var scheme = OSjs.GUI.createScheme(this._getResource(s));
- scheme.load(function __onApplicationLoadScheme(error, result) {
- if ( error ) {
- console.error('Application::_loadScheme()', error);
- }
- cb(scheme);
- });
- this._setScheme(scheme);
- };
- Application.prototype._addWindow = function(w, cb, setmain) {
- if ( !(w instanceof OSjs.Core.Window) ) {
- throw new TypeError('Application::_addWindow() expects Core.Window');
- }
- this.__windows.push(w);
- if ( setmain || this.__windows.length === 1 ) {
- this.__mainwindow = w._name;
- }
- var wm = OSjs.Core.getWindowManager();
- if ( this.__inited ) {
- if ( wm ) {
- wm.addWindow(w);
- }
- if ( w._properties.start_focused ) {
- setTimeout(function() {
- w._focus();
- }, 5);
- }
- }
- (cb || function() {})(w, wm);
- return w;
- };
- Application.prototype._removeWindow = function(w) {
- if ( !(w instanceof OSjs.Core.Window) ) {
- throw new TypeError('Application::_removeWindow() expects Core.Window');
- }
- var self = this;
- this.__windows.forEach(function(win, i) {
- if ( win ) {
- if ( win._wid === w._wid ) {
- win.destroy();
- self.__windows.splice(i, 1);
- return false;
- }
- }
- return true;
- });
- };
- Application.prototype._getWindow = function(value, key) {
- key = key || 'name';
- if ( value === null ) {
- value = this.__mainwindow;
- }
- var result = key === 'tag' ? [] : null;
- this.__windows.every(function(win, i) {
- if ( win ) {
- if ( win['_' + key] === value ) {
- if ( key === 'tag' ) {
- result.push(win);
- } else {
- result = win;
- return false;
- }
- }
- }
- return true;
- });
- return result;
- };
- Application.prototype._getWindowByName = function(name) {
- return this._getWindow(name);
- };
- Application.prototype._getWindowsByTag = function(tag) {
- return this._getWindow(tag, 'tag');
- };
- Application.prototype._getWindows = function() {
- return this.__windows;
- };
- Application.prototype._getMainWindow = function() {
- return this._getWindow(this.__mainwindow, 'name');
- };
- Application.prototype._getSetting = function(k) {
- return this.__settings.get(k);
- };
- Application.prototype._getSessionData = function() {
- var args = this.__args;
- var wins = this.__windows;
- var data = {name: this.__pname, args: args, windows: []};
- wins.forEach(function(win, i) {
- if ( win && win._properties.allow_session ) {
- data.windows.push({
- name : win._name,
- dimension : win._dimension,
- position : win._position,
- state : win._state
- });
- }
- });
- return data;
- };
- Application.prototype._getScheme = function() {
- return this.__scheme;
- };
- Application.prototype._setSetting = function(k, v, save, saveCallback) {
- save = (typeof save === 'undefined' || save === true);
- this.__settings.set(k, v, save ? (saveCallback || function() {}) : false);
- };
- Application.prototype._setScheme = function(s) {
- this.__scheme = s;
- };
- OSjs.Core.Application = Object.seal(Application);
-})(OSjs.Utils, OSjs.API, OSjs.Core.Process);
-
-(function(Utils, API, Process) {
- 'use strict';
- function Service(name, args, metadata) {
- Process.apply(this, arguments);
- }
- Service.prototype = Object.create(Process.prototype);
- Service.constructor = Process;
- Service.prototype.init = function() {
- };
- OSjs.Core.Service = Object.seal(Service);
-})(OSjs.Utils, OSjs.API, OSjs.Core.Process);
-
-(function(Utils, API, GUI, Process) {
- 'use strict';
- function _noEvent(ev) {
- OSjs.API.blurMenu();
- ev.preventDefault();
- ev.stopPropagation();
- return false;
- }
- function camelCased(str) {
- return str.replace(/_([a-z])/g, function(g) {
- return g[1].toUpperCase();
- });
- }
- var getNextZindex = (function() {
- var _lzindex = 1;
- var _ltzindex = 100000;
- return function(ontop) {
- if ( typeof ontop !== 'undefined' && ontop === true ) {
- return (_ltzindex += 2);
- }
- return (_lzindex += 2);
- };
- })();
- function stopPropagation(ev) {
- if ( ev ) {
- ev.stopPropagation();
- }
- return false;
- }
- function getWindowSpace() {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- return wm.getWindowSpace();
- }
- return Utils.getRect();
- }
- function waitForAnimation(win, cb) {
- var wm = OSjs.Core.getWindowManager();
- var anim = wm ? wm.getSetting('animations') : false;
- if ( anim ) {
- win._animationCallback = cb;
- } else {
- cb();
- }
- }
- var createMediaQueries = (function() {
- var queries;
- function _createQueries() {
- var result = {};
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- var qs = wm._settings.get('mediaQueries') || {};
- Object.keys(qs).forEach(function(k) {
- if ( qs[k] ) {
- result[k] = function(w, h, ref) {
- return w <= qs[k];
- };
- }
- });
- }
- return result;
- }
- return function() {
- if ( !queries ) {
- queries = _createQueries();
- }
- return queries;
- };
- })();
- function checkMediaQueries(win) {
- if ( !win._$element ) {
- return;
- }
- var qs = win._properties.media_queries || {};
- var w = win._dimension.w;
- var h = win._dimension.h;
- var n = '';
- var k;
- for ( k in qs ) {
- if ( qs.hasOwnProperty(k) ) {
- if ( qs[k](w, h, win) ) {
- n = k;
- break;
- }
- }
- }
- win._$element.setAttribute('data-media', n);
- }
- var Window = (function() {
- var _WID = 0;
- var _DEFAULT_WIDTH = 200;
- var _DEFAULT_HEIGHT = 200;
- var _DEFAULT_MIN_HEIGHT = 150;
- var _DEFAULT_MIN_WIDTH = 150;
- var _DEFAULT_SND_VOLUME = 1.0;
- var _NAMES = [];
- return function(name, opts, appRef, schemeRef) {
- var self = this;
- if ( _NAMES.indexOf(name) >= 0 ) {
- throw new Error(API._('ERR_WIN_DUPLICATE_FMT', name));
- }
- if ( appRef && !(appRef instanceof OSjs.Core.Application) ) {
- throw new TypeError('appRef given was not instance of Core.Application');
- }
- if ( schemeRef && !(schemeRef instanceof OSjs.GUI.Scheme) ) {
- throw new TypeError('schemeRef given was not instance of GUI.Scheme');
- }
- opts = Utils.argumentDefaults(opts, {
- icon: API.getThemeResource('wm.png', 'wm'),
- width: _DEFAULT_WIDTH,
- height: _DEFAULT_HEIGHT,
- title: name,
- tag: name
- });
- this._$element = null;
- this._$root = null;
- this._$top = null;
- this._$winicon = null;
- this._$loading = null;
- this._$disabled = null;
- this._$resize = null;
- this._$warning = null;
- this._opts = opts;
- this._app = appRef || null;
- this._scheme = schemeRef || null;
- this._destroyed = false;
- this._restored = false;
- this._loaded = false;
- this._initialized = false;
- this._disabled = true;
- this._loading = false;
- this._wid = _WID;
- this._icon = opts.icon;
- this._name = name;
- this._title = opts.title;
- this._tag = opts.tag;
- this._position = {x:opts.x, y:opts.y};
- this._dimension = {w:opts.width, h:opts.height};
- this._children = [];
- this._parent = null;
- this._origtitle = this._title;
- this._lastDimension = this._dimension;
- this._lastPosition = this._position;
- this._sound = null;
- this._soundVolume = _DEFAULT_SND_VOLUME;
- this._properties = {
- gravity : null,
- allow_move : true,
- allow_resize : true,
- allow_minimize : true,
- allow_maximize : true,
- allow_close : true,
- allow_windowlist : true,
- allow_drop : false,
- allow_iconmenu : true,
- allow_ontop : true,
- allow_hotkeys : true,
- allow_session : true,
- key_capture : false,
- start_focused : true,
- min_width : _DEFAULT_MIN_HEIGHT,
- min_height : _DEFAULT_MIN_WIDTH,
- max_width : null,
- max_height : null,
- media_queries : createMediaQueries()
- };
- this._state = {
- focused : false,
- modal : false,
- minimized : false,
- maximized : false,
- ontop : false,
- onbottom : false
- };
- this._animationCallback = null;
- this._queryTimer = null;
- this._evHandler = new OSjs.Helpers.EventHandler(name, [
- 'focus', 'blur', 'destroy', 'maximize', 'minimize', 'restore',
- 'move', 'moved', 'resize', 'resized',
- 'keydown', 'keyup', 'keypress',
- 'drop', 'drop:upload', 'drop:file'
- ]);
- Object.keys(opts).forEach(function(k) {
- if ( typeof self._properties[k] !== 'undefined' ) {
- self._properties[k] = opts[k];
- } else if ( typeof self._state[k] !== 'undefined' && k !== 'focused' ) {
- self._state[k] = opts[k];
- } else if ( ('sound', 'sound_volume').indexOf(k) !== -1 ) {
- self['_' + camelCased(k)] = opts[k];
- }
- });
- (function _initPosition(properties, position) {
- if ( !properties.gravity && (typeof position.x === 'undefined') || (typeof position.y === 'undefined') ) {
- var wm = OSjs.Core.getWindowManager();
- var np = wm ? wm.getWindowPosition() : {x:0, y:0};
- position.x = np.x;
- position.y = np.y;
- }
- })(this._properties, this._position);
- (function _initDimension(properties, dimension) {
- if ( properties.min_height && (dimension.h < properties.min_height) ) {
- dimension.h = properties.min_height;
- }
- if ( properties.max_width && (dimension.w < properties.max_width) ) {
- dimension.w = properties.max_width;
- }
- if ( properties.max_height && (dimension.h > properties.max_height) ) {
- dimension.h = properties.max_height;
- }
- if ( properties.max_width && (dimension.w > properties.max_width) ) {
- dimension.w = properties.max_width;
- }
- })(this._properties, this._dimension);
- (function _initRestore(position, dimension) {
- if ( appRef && appRef.__args && appRef.__args.__windows__ ) {
- appRef.__args.__windows__.forEach(function(restore) {
- if ( !self._restored && restore.name && restore.name === self._name ) {
- position.x = restore.position.x;
- position.y = restore.position.y;
- if ( self._properties.allow_resize ) {
- dimension.w = restore.dimension.w;
- dimension.h = restore.dimension.h;
- }
- self._restored = true;
- }
- });
- }
- })(this._position, this._dimension);
- (function _initGravity(properties, position, dimension, restored) {
- var grav = properties.gravity;
- if ( grav && !restored ) {
- if ( grav === 'center' ) {
- position.y = (window.innerHeight / 2) - (self._dimension.h / 2);
- position.x = (window.innerWidth / 2) - (self._dimension.w / 2);
- } else {
- var space = getWindowSpace();
- if ( grav.match(/^south/) ) {
- position.y = space.height - dimension.h;
- } else {
- position.y = space.top;
- }
- if ( grav.match(/west$/) ) {
- position.x = space.left;
- } else {
- position.x = space.width - dimension.w;
- }
- }
- }
- })(this._properties, this._position, this._dimension, this._restored);
- _WID++;
- };
- })();
- Window.prototype.init = function(_wm, _app, _scheme) {
- var self = this;
- if ( this._initialized || this._loaded ) {
- return this._$root;
- }
- this._$element = Utils.$create('application-window', {
- className: (function(n, t) {
- var classNames = ['Window', Utils.$safeName(n)];
- if ( t && (n !== t) ) {
- classNames.push(Utils.$safeName(t));
- }
- return classNames;
- })(this._name, this._tag).join(' '),
- style: {
- width: this._dimension.w + 'px',
- height: this._dimension.h + 'px',
- top: this._position.y + 'px',
- left: this._position.x + 'px',
- zIndex: getNextZindex(this._state.ontop)
- },
- data: {
- window_id: this._wid,
- allow_resize: this._properties.allow_resize,
- allow_minimize: this._properties.allow_minimize,
- allow_maximize: this._properties.allow_maximize,
- allow_close: this._properties.allow_close
- },
- aria: {
- role: 'application',
- live: 'polite',
- hidden: 'false'
- }
- });
- this._$root = document.createElement('application-window-content');
- this._$resize = document.createElement('application-window-resize');
- ['nw', 'n', 'ne', 'e', 'se', 's', 'sw', 'w'].forEach(function(i) {
- var h = document.createElement('application-window-resize-handle');
- h.setAttribute('data-direction', i);
- self._$resize.appendChild(h);
- h = null;
- });
- this._$loading = document.createElement('application-window-loading');
- this._$disabled = document.createElement('application-window-disabled');
- this._$top = document.createElement('application-window-top');
- this._$winicon = document.createElement('application-window-icon');
- this._$winicon.setAttribute('role', 'button');
- this._$winicon.setAttribute('aria-haspopup', 'true');
- this._$winicon.setAttribute('aria-label', 'Window Menu');
- var windowTitle = document.createElement('application-window-title');
- windowTitle.setAttribute('role', 'heading');
- Utils.$bind(this._$loading, 'mousedown', _noEvent);
- Utils.$bind(this._$disabled, 'mousedown', _noEvent);
- var preventTimeout;
- function _onanimationend(ev) {
- if ( typeof self._animationCallback === 'function') {
- clearTimeout(preventTimeout);
- preventTimeout = setTimeout(function() {
- self._animationCallback(ev);
- self._animationCallback = false;
- preventTimeout = clearTimeout(preventTimeout);
- }, 10);
- }
- }
- Utils.$bind(this._$element, 'transitionend', _onanimationend);
- Utils.$bind(this._$element, 'animationend', _onanimationend);
- Utils.$bind(this._$element, 'mousedown', function(ev) {
- self._focus();
- return stopPropagation(ev);
- });
- Utils.$bind(this._$element, 'contextmenu', function(ev) {
- var r = Utils.$isFormElement(ev);
- if ( !r ) {
- ev.preventDefault();
- ev.stopPropagation();
- }
- OSjs.API.blurMenu();
- return !!r;
- });
- Utils.$bind(this._$top, 'click', function(ev) {
- var t = ev.isTrusted ? ev.target : (ev.relatedTarget || ev.target);
- ev.preventDefault();
- if ( t ) {
- if ( t.tagName.match(/^APPLICATION\-WINDOW\-BUTTON/) ) {
- self._onWindowButtonClick(ev, t, t.getAttribute('data-action'));
- } else if ( t.tagName === 'APPLICATION-WINDOW-ICON' ) {
- ev.stopPropagation();
- self._onWindowIconClick(ev, t);
- }
- }
- }, true);
- Utils.$bind(windowTitle, 'mousedown', _noEvent);
- Utils.$bind(windowTitle, 'dblclick', function() {
- self._maximize();
- });
- (function _initDnD(properties, main, compability) {
- if ( properties.allow_drop && compability.dnd ) {
- var border = document.createElement('div');
- border.className = 'WindowDropRect';
- OSjs.GUI.Helpers.createDroppable(main, {
- onOver: function(ev, el, args) {
- main.setAttribute('data-dnd-state', 'true');
- },
- onLeave : function() {
- main.setAttribute('data-dnd-state', 'false');
- },
- onDrop : function() {
- main.setAttribute('data-dnd-state', 'false');
- },
- onItemDropped: function(ev, el, item, args) {
- main.setAttribute('data-dnd-state', 'false');
- return self._onDndEvent(ev, 'itemDrop', item, args, el);
- },
- onFilesDropped: function(ev, el, files, args) {
- main.setAttribute('data-dnd-state', 'false');
- return self._onDndEvent(ev, 'filesDrop', files, args, el);
- }
- });
- }
- })(this._properties, this._$element, Utils.getCompability());
- windowTitle.appendChild(document.createTextNode(this._title));
- this._$top.appendChild(this._$winicon);
- this._$top.appendChild(windowTitle);
- this._$top.appendChild(Utils.$create('application-window-button-minimize', {
- className: 'application-window-button-entry',
- data: {
- action: 'minimize'
- },
- aria: {
- role: 'button',
- label: 'Minimize Window'
- }
- }));
- this._$top.appendChild(Utils.$create('application-window-button-maximize', {
- className: 'application-window-button-entry',
- data: {
- action: 'maximize'
- },
- aria: {
- role: 'button',
- label: 'Maximize Window'
- }
- }));
- this._$top.appendChild(Utils.$create('application-window-button-close', {
- className: 'application-window-button-entry',
- data: {
- action: 'close'
- },
- aria: {
- role: 'button',
- label: 'Close Window'
- }
- }));
- this._$loading.appendChild(document.createElement('application-window-loading-indicator'));
- this._$element.appendChild(this._$top);
- this._$element.appendChild(this._$root);
- this._$element.appendChild(this._$resize);
- this._$element.appendChild(this._$disabled);
- document.body.appendChild(this._$element);
- this._onChange('create');
- this._toggleLoading(false);
- this._toggleDisabled(false);
- this._setIcon(API.getIcon(this._icon, null, this._app));
- this._updateMarkup();
- if ( this._sound ) {
- API.playSound(this._sound, this._soundVolume);
- }
- this._initialized = true;
- this._emit('init', [this._$root, _scheme]);
- return this._$root;
- };
- Window.prototype._inited = function() {
- if ( this._loaded ) {
- return;
- }
- this._loaded = true;
- this._onResize();
- if ( !this._restored ) {
- if ( this._state.maximized ) {
- this._maximize(true);
- } else if ( this._state.minimized ) {
- this._minimize(true);
- }
- }
- var self = this;
- var inittimeout = setTimeout(function() {
- self._emit('inited', [self._scheme]);
- inittimeout = clearTimeout(inittimeout);
- }, 10);
- if ( this._app ) {
- this._app._onMessage('initedWindow', this, {});
- }
- };
- Window.prototype.destroy = function(shutdown) {
- var self = this;
- if ( this._destroyed ) {
- return false;
- }
- this._emit('destroy');
- this._destroyed = true;
- var wm = OSjs.Core.getWindowManager();
- function _removeDOM() {
- self._setWarning(null);
- self._$root = null;
- self._$top = null;
- self._$winicon = null;
- self._$loading = null;
- self._$disabled = null;
- self._$resize = null;
- self._$warning = null;
- self._$element = Utils.$remove(self._$element);
- }
- function _destroyDOM() {
- if ( self._$element ) {
- self._$element.querySelectorAll('*').forEach(function(iter) {
- if ( iter ) {
- Utils.$unbind(iter);
- }
- });
- }
- if ( self._parent ) {
- self._parent._removeChild(self);
- }
- self._parent = null;
- self._removeChildren();
- }
- function _destroyWin() {
- if ( wm ) {
- wm.removeWindow(self);
- }
- var curWin = wm ? wm.getCurrentWindow() : null;
- if ( curWin && curWin._wid === self._wid ) {
- wm.setCurrentWindow(null);
- }
- var lastWin = wm ? wm.getLastWindow() : null;
- if ( lastWin && lastWin._wid === self._wid ) {
- wm.setLastWindow(null);
- }
- }
- function _animateClose(fn) {
- if ( API.isShuttingDown() ) {
- fn();
- } else {
- if ( self._$element ) {
- var anim = wm ? wm.getSetting('animations') : false;
- if ( anim ) {
- self._$element.setAttribute('data-hint', 'closing');
- self._animationCallback = fn;
- var animatetimeout = setTimeout(function() {
- if ( self._animationCallback ) {
- self._animationCallback();
- }
- animatetimeout = clearTimeout(animatetimeout);
- }, 1000);
- } else {
- self._$element.style.display = 'none';
- fn();
- }
- }
- }
- }
- this._onChange('close');
- _animateClose(function() {
- _removeDOM();
- });
- _destroyDOM();
- _destroyWin();
- if ( this._app ) {
- this._app._onMessage('destroyWindow', this, {});
- }
- if ( this._evHandler ) {
- this._evHandler.destroy();
- }
- this._scheme = null;
- this._app = null;
- this._evHandler = null;
- this._args = {};
- this._queryTimer = clearTimeout(this._queryTimer);
- return true;
- };
- Window.prototype._find = function(id) {
- return this._scheme ? this._scheme.find(this, id) : null;
- };
- Window.prototype._findByQuery = function(q, root, all) {
- return this._scheme ? this._scheme.findByQuery(this, q, root, all) : null;
- };
- Window.prototype._emit = function(k, args) {
- if ( !this._destroyed ) {
- if ( this._evHandler ) {
- return this._evHandler.emit(k, args);
- }
- }
- return false;
- };
- Window.prototype._on = function(k, func) {
- if ( this._evHandler ) {
- return this._evHandler.on(k, func, this);
- }
- return false;
- };
- Window.prototype._off = function(k, idx) {
- if ( this._evHandler ) {
- return this._evHandler.off(k, idx);
- }
- return false;
- };
- Window.prototype._addChild = function(w, wmAdd, wmFocus) {
- w._parent = this;
- var wm = OSjs.Core.getWindowManager();
- if ( wmAdd && wm ) {
- wm.addWindow(w, wmFocus);
- }
- this._children.push(w);
- return w;
- };
- Window.prototype._removeChild = function(w) {
- var self = this;
- this._children.forEach(function(child, i) {
- if ( child && child._wid === w._wid ) {
- child.destroy();
- self._children[i] = null;
- }
- });
- };
- Window.prototype._getChild = function(value, key) {
- key = key || 'wid';
- var result = key === 'tag' ? [] : null;
- this._children.every(function(child, i) {
- if ( child ) {
- if ( key === 'tag' ) {
- result.push(child);
- } else {
- if ( child['_' + key] === value ) {
- result = child;
- return false;
- }
- }
- }
- return true;
- });
- return result;
- };
- Window.prototype._getChildById = function(id) {
- return this._getChild(id, 'wid');
- };
- Window.prototype._getChildByName = function(name) {
- return this._getChild(name, 'name');
- };
- Window.prototype._getChildrenByTag = function(tag) {
- return this._getChild(tag, 'tag');
- };
- Window.prototype._getChildren = function() {
- return this._children;
- };
- Window.prototype._removeChildren = function() {
- if ( this._children && this._children.length ) {
- this._children.forEach(function(child, i) {
- if ( child ) {
- child.destroy();
- }
- });
- }
- this._children = [];
- };
- Window.prototype._close = function() {
- if ( this._disabled || this._destroyed ) {
- return false;
- }
- this._blur();
- this.destroy();
- return true;
- };
- Window.prototype._minimize = function(force) {
- var self = this;
- if ( !this._properties.allow_minimize || this._destroyed ) {
- return false;
- }
- if ( !force && this._state.minimized ) {
- this._restore(false, true);
- return true;
- }
- this._blur();
- this._state.minimized = true;
- this._$element.setAttribute('data-minimized', 'true');
- waitForAnimation(this, function() {
- self._$element.style.display = 'none';
- self._emit('minimize');
- });
- this._onChange('minimize');
- var wm = OSjs.Core.getWindowManager();
- var win = wm ? wm.getCurrentWindow() : null;
- if ( win && win._wid === this._wid ) {
- wm.setCurrentWindow(null);
- }
- this._updateMarkup();
- return true;
- };
- Window.prototype._maximize = function(force) {
- var self = this;
- if ( !this._properties.allow_maximize || this._destroyed || !this._$element ) {
- return false;
- }
- if ( !force && this._state.maximized ) {
- this._restore(true, false);
- return true;
- }
- this._lastPosition = {x: this._position.x, y: this._position.y};
- this._lastDimension = {w: this._dimension.w, h: this._dimension.h};
- this._state.maximized = true;
- var s = this._getMaximizedSize();
- this._$element.style.zIndex = getNextZindex(this._state.ontop);
- this._$element.style.top = (s.top) + 'px';
- this._$element.style.left = (s.left) + 'px';
- this._$element.style.width = (s.width) + 'px';
- this._$element.style.height = (s.height) + 'px';
- this._$element.setAttribute('data-maximized', 'true');
- this._dimension.w = s.width;
- this._dimension.h = s.height;
- this._position.x = s.left;
- this._position.y = s.top;
- this._focus();
- waitForAnimation(this, function() {
- self._emit('maximize');
- });
- this._onChange('maximize');
- this._onResize();
- this._updateMarkup();
- return true;
- };
- Window.prototype._restore = function(max, min) {
- var self = this;
- if ( !this._$element || this._destroyed ) {
- return;
- }
- function restoreMaximized() {
- if ( max && self._state.maximized ) {
- self._move(self._lastPosition.x, self._lastPosition.y);
- self._resize(self._lastDimension.w, self._lastDimension.h);
- self._state.maximized = false;
- self._$element.setAttribute('data-maximized', 'false');
- }
- }
- function restoreMinimized() {
- if ( min && self._state.minimized ) {
- self._$element.style.display = 'block';
- self._$element.setAttribute('data-minimized', 'false');
- self._state.minimized = false;
- }
- }
- max = (typeof max === 'undefined') ? true : (max === true);
- min = (typeof min === 'undefined') ? true : (min === true);
- restoreMaximized();
- restoreMinimized();
- waitForAnimation(this, function() {
- self._emit('restore');
- });
- this._onChange('restore');
- this._onResize();
- this._focus();
- this._updateMarkup();
- };
- Window.prototype._focus = function(force) {
- if ( !this._$element || this._destroyed ) {
- return false;
- }
- this._toggleAttentionBlink(false);
- this._$element.style.zIndex = getNextZindex(this._state.ontop);
- this._$element.setAttribute('data-focused', 'true');
- var wm = OSjs.Core.getWindowManager();
- var win = wm ? wm.getCurrentWindow() : null;
- if ( win && win._wid !== this._wid ) {
- win._blur();
- }
- if ( wm ) {
- wm.setCurrentWindow(this);
- wm.setLastWindow(this);
- }
- if ( !this._state.focused || force) {
- this._onChange('focus');
- this._emit('focus');
- }
- this._state.focused = true;
- this._updateMarkup();
- return true;
- };
- Window.prototype._blur = function(force) {
- if ( !this._$element || this._destroyed || (!force && !this._state.focused) ) {
- return false;
- }
- this._$element.setAttribute('data-focused', 'false');
- this._state.focused = false;
- this._onChange('blur');
- this._emit('blur');
- this._blurGUI();
- var wm = OSjs.Core.getWindowManager();
- var win = wm ? wm.getCurrentWindow() : null;
- if ( win && win._wid === this._wid ) {
- wm.setCurrentWindow(null);
- }
- this._updateMarkup();
- return true;
- };
- Window.prototype._blurGUI = function() {
- this._$root.querySelectorAll('input, textarea, select, iframe, button').forEach(function(el) {
- el.blur();
- });
- };
- Window.prototype._resizeTo = function(dw, dh, limit, move, container, force) {
- var self = this;
- if ( !this._$element || (dw <= 0 || dh <= 0) ) {
- return;
- }
- limit = (typeof limit === 'undefined' || limit === true);
- var dx = 0;
- var dy = 0;
- if ( container ) {
- var cpos = Utils.$position(container, this._$root);
- dx = parseInt(cpos.left, 10);
- dy = parseInt(cpos.top, 10);
- }
- var space = this._getMaximizedSize();
- var cx = this._position.x + dx;
- var cy = this._position.y + dy;
- var newW = dw;
- var newH = dh;
- var newX = null;
- var newY = null;
- function _limitTo() {
- if ( (cx + newW) > space.width ) {
- if ( move ) {
- newW = space.width;
- newX = space.left;
- } else {
- newW = (space.width - cx) + dx;
- }
- } else {
- newW += dx;
- }
- if ( (cy + newH) > space.height ) {
- if ( move ) {
- newH = space.height;
- newY = space.top;
- } else {
- newH = (space.height - cy + self._$top.offsetHeight) + dy;
- }
- } else {
- newH += dy;
- }
- }
- function _moveTo() {
- if ( newX !== null ) {
- self._move(newX, self._position.y);
- }
- if ( newY !== null ) {
- self._move(self._position.x, newY);
- }
- }
- function _resizeFinished() {
- var wm = OSjs.Core.getWindowManager();
- var anim = wm ? wm.getSetting('animations') : false;
- if ( anim ) {
- self._animationCallback = function() {
- self._emit('resized');
- };
- } else {
- self._emit('resized');
- }
- }
- if ( limit ) {
- _limitTo();
- }
- this._resize(newW, newH, force);
- _moveTo();
- _resizeFinished();
- };
- Window.prototype._resize = function(w, h, force) {
- if ( !this._$element || this._destroyed ) {
- return false;
- }
- var p = this._properties;
- if ( !force ) {
- if ( !p.allow_resize ) {
- return false;
- }
- (function() {
- if ( !isNaN(w) && w ) {
- if ( w < p.min_width ) {
- w = p.min_width;
- }
- if ( p.max_width !== null ) {
- if ( w > p.max_width ) {
- w = p.max_width;
- }
- }
- }
- })();
- (function() {
- if ( !isNaN(h) && h ) {
- if ( h < p.min_height ) {
- h = p.min_height;
- }
- if ( p.max_height !== null ) {
- if ( h > p.max_height ) {
- h = p.max_height;
- }
- }
- }
- })();
- }
- if ( !isNaN(w) && w ) {
- this._$element.style.width = w + 'px';
- this._dimension.w = w;
- }
- if ( !isNaN(h) && h ) {
- this._$element.style.height = h + 'px';
- this._dimension.h = h;
- }
- this._onResize();
- return true;
- };
- Window.prototype._moveTo = function(pos) {
- var wm = OSjs.Core.getWindowManager();
- if ( !wm ) {
- return;
- }
- var s = wm.getWindowSpace();
- var cx = this._position.x;
- var cy = this._position.y;
- if ( pos === 'left' ) {
- this._move(s.left, cy);
- } else if ( pos === 'right' ) {
- this._move((s.width - this._dimension.w), cy);
- } else if ( pos === 'top' ) {
- this._move(cx, s.top);
- } else if ( pos === 'bottom' ) {
- this._move(cx, (s.height - this._dimension.h));
- }
- };
- Window.prototype._move = function(x, y) {
- if ( !this._$element || this._destroyed || !this._properties.allow_move ) {
- return false;
- }
- if ( typeof x === 'undefined' || typeof y === 'undefined') {
- return false;
- }
- this._$element.style.top = y + 'px';
- this._$element.style.left = x + 'px';
- this._position.x = x;
- this._position.y = y;
- return true;
- };
- Window.prototype._toggleDisabled = function(t) {
- if ( this._$disabled ) {
- this._$disabled.style.display = t ? 'block' : 'none';
- }
- this._disabled = t ? true : false;
- this._updateMarkup();
- };
- Window.prototype._toggleLoading = function(t) {
- if ( this._$loading ) {
- this._$loading.style.display = t ? 'block' : 'none';
- }
- this._loading = t ? true : false;
- this._updateMarkup();
- };
- Window.prototype._updateMarkup = function(ui) {
- if ( !this._$element ) {
- return;
- }
- var t = this._loading || this._disabled;
- var d = this._disabled;
- var h = this._state.minimized;
- var f = !this._state.focused;
- this._$element.setAttribute('aria-busy', String(t));
- this._$element.setAttribute('aria-hidden', String(h));
- this._$element.setAttribute('aria-disabled', String(d));
- this._$root.setAttribute('aria-hidden', String(f));
- if ( !ui ) {
- return;
- }
- var dmax = this._properties.allow_maximize === true ? 'inline-block' : 'none';
- var dmin = this._properties.allow_minimize === true ? 'inline-block' : 'none';
- var dclose = this._properties.allow_close === true ? 'inline-block' : 'none';
- this._$top.querySelector('application-window-button-maximize').style.display = dmax;
- this._$top.querySelector('application-window-button-minimize').style.display = dmin;
- this._$top.querySelector('application-window-button-close').style.display = dclose;
- var dres = this._properties.allow_resize === true;
- this._$element.setAttribute('data-allow-resize', String(dres));
- };
- Window.prototype._toggleAttentionBlink = function(t) {
- if ( !this._$element || this._destroyed || this._state.focused ) {
- return false;
- }
- var el = this._$element;
- var self = this;
- function _blink(stat) {
- if ( el ) {
- if ( stat ) {
- Utils.$addClass(el, 'WindowAttentionBlink');
- } else {
- Utils.$removeClass(el, 'WindowAttentionBlink');
- }
- }
- self._onChange(stat ? 'attention_on' : 'attention_off');
- }
- _blink(t);
- return true;
- };
- Window.prototype._nextTabIndex = function(ev) {
- var nextElement = OSjs.GUI.Helpers.getNextElement(ev.shiftKey, document.activeElement, this._$root);
- if ( nextElement ) {
- if ( Utils.$hasClass(nextElement, 'gui-data-view') ) {
- new OSjs.GUI.ElementDataView(nextElement)._call('focus');
- } else {
- try {
- nextElement.focus();
- } catch ( e ) {}
- }
- }
- };
- Window.prototype._onDndEvent = function(ev, type, item, args, el) {
- if ( this._disabled || this._destroyed ) {
- return false;
- }
- this._emit('drop', [ev, type, item, args, el]);
- if ( item ) {
- if ( type === 'filesDrop' ) {
- this._emit('drop:upload', [ev, item, args, el]);
- } else if ( type === 'itemDrop' && item.type === 'file' && item.data ) {
- this._emit('drop:file', [ev, new OSjs.VFS.File(item.data || {}), args, el]);
- }
- }
- return true;
- };
- Window.prototype._onKeyEvent = function(ev, type) {
- if ( this._destroyed ) {
- return false;
- }
- if ( type === 'keydown' && ev.keyCode === Utils.Keys.TAB ) {
- this._nextTabIndex(ev);
- }
- this._emit(type, [ev, ev.keyCode, ev.shiftKey, ev.ctrlKey, ev.altKey]);
- return true;
- };
- Window.prototype._onResize = function() {
- clearTimeout(this._queryTimer);
- var self = this;
- this._queryTimer = setTimeout(function() {
- checkMediaQueries(self);
- self._queryTimer = clearTimeout(self._queryTimer);
- }, 20);
- };
- Window.prototype._onWindowIconClick = function(ev, el) {
- if ( !this._properties.allow_iconmenu || this._destroyed ) {
- return;
- }
- var self = this;
- var control = [
- [this._properties.allow_minimize, function() {
- return {
- title: API._('WINDOW_MINIMIZE'),
- icon: API.getIcon('actions/stock_up.png'),
- onClick: function(name, iter) {
- self._minimize();
- }
- };
- }],
- [this._properties.allow_maximize, function() {
- return {
- title: API._('WINDOW_MAXIMIZE'),
- icon: API.getIcon('actions/window_fullscreen.png'),
- onClick: function(name, iter) {
- self._maximize();
- self._focus();
- }
- };
- }],
- [this._state.maximized, function() {
- return {
- title: API._('WINDOW_RESTORE'),
- icon: API.getIcon('actions/view-restore.png'),
- onClick: function(name, iter) {
- self._restore();
- self._focus();
- }
- };
- }],
- [this._properties.allow_ontop, function() {
- if ( self._state.ontop ) {
- return {
- title: API._('WINDOW_ONTOP_OFF'),
- icon: API.getIcon('actions/window-new.png'),
- onClick: function(name, iter) {
- self._state.ontop = false;
- if ( self._$element ) {
- self._$element.style.zIndex = getNextZindex(false);
- }
- self._focus();
- }
- };
- }
- return {
- title: API._('WINDOW_ONTOP_ON'),
- icon: API.getIcon('actions/window-new.png'),
- onClick: function(name, iter) {
- self._state.ontop = true;
- if ( self._$element ) {
- self._$element.style.zIndex = getNextZindex(true);
- }
- self._focus();
- }
- };
- }],
- [this._properties.allow_close, function() {
- return {
- title: API._('WINDOW_CLOSE'),
- icon: API.getIcon('actions/window-close.png'),
- onClick: function(name, iter) {
- self._close();
- }
- };
- }]
- ];
- var list = [];
- control.forEach(function(iter) {
- if (iter[0] ) {
- list.push(iter[1]());
- }
- });
- OSjs.API.createMenu(list, ev);
- };
- Window.prototype._onWindowButtonClick = function(ev, el, btn) {
- this._blurGUI();
- if ( btn === 'close' ) {
- this._close();
- } else if ( btn === 'minimize' ) {
- this._minimize();
- } else if ( btn === 'maximize' ) {
- this._maximize();
- }
- };
- Window.prototype._onChange = function(ev, byUser) {
- ev = ev || '';
- if ( ev ) {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.eventWindow(ev, this);
- }
- }
- };
- Window.prototype._getMaximizedSize = function() {
- var s = getWindowSpace();
- if ( !this._$element || this._destroyed ) {
- return s;
- }
- var topMargin = 23;
- var borderSize = 0;
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- var theme = wm.getStyleTheme(true);
- if ( theme && theme.style && theme.style.window ) {
- topMargin = theme.style.window.margin;
- borderSize = theme.style.window.border;
- }
- }
- s.left += borderSize;
- s.top += borderSize;
- s.width -= (borderSize * 2);
- s.height -= topMargin + (borderSize * 2);
- return Object.freeze(s);
- };
- Window.prototype._getViewRect = function() {
- return this._$element ? Object.freeze(Utils.$position(this._$element)) : null;
- };
- Window.prototype._getRoot = function() {
- return this._$root;
- };
- Window.prototype._getZindex = function() {
- if ( this._$element ) {
- return parseInt(this._$element.style.zIndex, 10);
- }
- return -1;
- };
- Window.prototype._setTitle = function(t, append, delimiter) {
- if ( !this._$element || this._destroyed ) {
- return;
- }
- delimiter = delimiter || '-';
- var tel = this._$element.getElementsByTagName('application-window-title')[0];
- var text = [];
- if ( append ) {
- text = [this._origtitle, delimiter, t];
- } else {
- text = [t || this._origtitle];
- }
- this._title = text.join(' ') || this._origtitle;
- if ( tel ) {
- Utils.$empty(tel);
- tel.appendChild(document.createTextNode(this._title));
- }
- this._onChange('title');
- this._updateMarkup();
- };
- Window.prototype._setIcon = function(i) {
- if ( this._$winicon ) {
- this._$winicon.title = this._title;
- this._$winicon.style.backgroundImage = 'url(' + i + ')';
- }
- this._icon = i;
- this._onChange('icon');
- };
- Window.prototype._setWarning = function(message) {
- var self = this;
- this._$warning = Utils.$remove(this._$warning);
- if ( this._destroyed || message === null ) {
- return;
- }
- message = message || '';
- var container = document.createElement('application-window-warning');
- var close = document.createElement('div');
- close.innerHTML = 'X';
- Utils.$bind(close, 'click', function() {
- self._setWarning(null);
- });
- var msg = document.createElement('div');
- msg.appendChild(document.createTextNode(message));
- container.appendChild(close);
- container.appendChild(msg);
- this._$warning = container;
- this._$root.appendChild(this._$warning);
- };
- Window.prototype._setProperty = function(p, v) {
- if ( (v === '' || v === null) || !this._$element || (typeof this._properties[p] === 'undefined') ) {
- return;
- }
- this._properties[p] = String(v) === 'true';
- this._updateMarkup(true);
- };
- OSjs.Core.Window = Object.seal(Window);
-})(OSjs.Utils, OSjs.API, OSjs.GUI, OSjs.Core.Process);
-
-(function(Utils, API, Window) {
- 'use strict';
- function DialogWindow(className, opts, args, callback) {
- var self = this;
- opts = opts || {};
- args = args || {};
- callback = callback || function() {};
- if ( typeof callback !== 'function' ) {
- throw new TypeError('DialogWindow expects a callback Function, gave: ' + typeof callback);
- }
- Window.apply(this, [className, opts]);
- this._properties.gravity = 'center';
- this._properties.allow_resize = false;
- this._properties.allow_minimize = false;
- this._properties.allow_maximize = false;
- this._properties.allow_windowlist = false;
- this._properties.allow_session = false;
- this._state.ontop = true;
- this._tag = 'DialogWindow';
- if ( args.scheme && args.scheme instanceof OSjs.GUI.Scheme ) {
- this.scheme = args.scheme;
- delete args.scheme;
- } else {
- this.scheme = OSjs.GUI.DialogScheme.get();
- }
- this.args = args;
- this.className = className;
- this.buttonClicked = false;
- this.closeCallback = function(ev, button, result) {
- if ( self._destroyed ) {
- return;
- }
- self.buttonClicked = true;
- callback.apply(self, arguments);
- self._close();
- };
- }
- DialogWindow.prototype = Object.create(Window.prototype);
- DialogWindow.constructor = Window;
- DialogWindow.prototype.init = function() {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- root.setAttribute('role', 'dialog');
- this.scheme.render(this, this.className.replace(/Dialog$/, ''), root, 'application-dialog', function(node) {
- node.querySelectorAll('gui-label').forEach(function(el) {
- if ( el.childNodes.length && el.childNodes[0].nodeType === 3 && el.childNodes[0].nodeValue ) {
- var label = el.childNodes[0].nodeValue;
- Utils.$empty(el);
- el.appendChild(document.createTextNode(API._(label)));
- }
- });
- });
- var buttonMap = {
- ButtonOK: 'ok',
- ButtonCancel: 'cancel',
- ButtonYes: 'yes',
- ButtonNo: 'no'
- };
- var focusButtons = ['ButtonCancel', 'ButtonNo'];
- Object.keys(buttonMap).forEach(function(id) {
- if ( self.scheme.findDOM(self, id) ) {
- var btn = self.scheme.find(self, id);
- btn.on('click', function(ev) {
- self.onClose(ev, buttonMap[id]);
- });
- if ( focusButtons.indexOf(id) >= 0 ) {
- btn.focus();
- }
- }
- });
- Utils.$addClass(root, 'DialogWindow');
- return root;
- };
- DialogWindow.prototype.onClose = function(ev, button) {
- this.closeCallback(ev, button, null);
- };
- DialogWindow.prototype._close = function() {
- if ( !this.buttonClicked ) {
- this.onClose(null, 'cancel', null);
- }
- return Window.prototype._close.apply(this, arguments);
- };
- DialogWindow.prototype._onKeyEvent = function(ev) {
- Window.prototype._onKeyEvent.apply(this, arguments);
- if ( ev.keyCode === Utils.Keys.ESC ) {
- this.onClose(ev, 'cancel');
- }
- };
- DialogWindow.parseMessage = function(msg) {
- msg = Utils.$escape(msg || '').replace(/\*\*(.*)\*\*/g, '$1');
- var tmp = document.createElement('div');
- tmp.innerHTML = msg;
- var frag = document.createDocumentFragment();
- for ( var i = 0; i < tmp.childNodes.length; i++ ) {
- frag.appendChild(tmp.childNodes[i].cloneNode(true));
- }
- tmp = null;
- return frag;
- };
- OSjs.Core.DialogWindow = Object.seal(DialogWindow);
-})(OSjs.Utils, OSjs.API, OSjs.Core.Window);
-
-(function(Utils, API, Process, Window) {
- 'use strict';
- var _WM; // Running Window Manager process
- function BehaviourState(win, action, mousePosition) {
- var self = this;
- this.win = win;
- this.$element = win._$element;
- this.$top = win._$top;
- this.$handle = win._$resize;
- this.rectWorkspace = _WM.getWindowSpace(true);
- this.rectWindow = {
- x: win._position.x,
- y: win._position.y,
- w: win._dimension.w,
- h: win._dimension.h,
- r: win._dimension.w + win._position.x,
- b: win._dimension.h + win._position.y
- };
- var theme = _WM.getStyleTheme(true);
- if ( !theme.style ) {
- theme.style = {'window': {margin: 0, border: 0}};
- }
- this.theme = {
- topMargin : theme.style.window.margin || 0,
- borderSize: theme.style.window.border || 0
- };
- this.snapping = {
- cornerSize : _WM.getSetting('windowCornerSnap') || 0,
- windowSize : _WM.getSetting('windowSnap') || 0
- };
- this.action = action;
- this.moved = false;
- this.direction = null;
- this.startX = mousePosition.x;
- this.startY = mousePosition.y;
- this.minWidth = win._properties.min_width;
- this.minHeight = win._properties.min_height;
- var windowRects = [];
- _WM.getWindows().forEach(function(w) {
- if ( w && w._wid !== win._wid ) {
- var pos = w._position;
- var dim = w._dimension;
- var rect = {
- left : pos.x - self.theme.borderSize,
- top : pos.y - self.theme.borderSize,
- width: dim.w + (self.theme.borderSize * 2),
- height: dim.h + (self.theme.borderSize * 2) + self.theme.topMargin
- };
- rect.right = rect.left + rect.width;
- rect.bottom = (pos.y + dim.h) + self.theme.topMargin + self.theme.borderSize;//rect.top + rect.height;
- windowRects.push(rect);
- }
- });
- this.snapRects = windowRects;
- }
- BehaviourState.prototype.getRect = function() {
- var win = this.win;
- return {
- left: win._position.x,
- top: win._position.y,
- width: win._dimension.w,
- height: win._dimension.h
- };
- };
- BehaviourState.prototype.calculateDirection = function() {
- var dir = Utils.$position(this.$handle);
- var dirX = this.startX - dir.left;
- var dirY = this.startY - dir.top;
- var dirD = 20;
- var direction = 's';
- var checks = {
- nw: (dirX <= dirD) && (dirY <= dirD),
- n: (dirX > dirD) && (dirY <= dirD),
- w: (dirX <= dirD) && (dirY >= dirD),
- ne: (dirX >= (dir.width - dirD)) && (dirY <= dirD),
- e: (dirX >= (dir.width - dirD)) && (dirY > dirD),
- se: (dirX >= (dir.width - dirD)) && (dirY >= (dir.height - dirD)),
- sw: (dirX <= dirD) && (dirY >= (dir.height - dirD))
- };
- Object.keys(checks).forEach(function(k) {
- if ( checks[k] ) {
- direction = k;
- }
- });
- this.direction = direction;
- };
- function createWindowBehaviour(win, wm) {
- var current = null;
- var newRect = {};
- function onMouseDown(ev, action, win, mousePosition) {
- OSjs.API.blurMenu();
- ev.preventDefault();
- if ( win._state.maximized ) {
- return;
- }
- current = new BehaviourState(win, action, mousePosition);
- newRect = {};
- win._focus();
- if ( action === 'move' ) {
- current.$element.setAttribute('data-hint', 'moving');
- } else {
- current.calculateDirection();
- current.$element.setAttribute('data-hint', 'resizing');
- newRect = current.getRect();
- }
- win._emit('preop');
- Utils.$bind(document, 'mousemove:movewindow', _onMouseMove, false);
- Utils.$bind(document, 'mouseup:movewindowstop', _onMouseUp, false);
- function _onMouseMove(ev, pos) {
- if ( wm._mouselock ) {
- onMouseMove(ev, action, win, pos);
- }
- }
- function _onMouseUp(ev, pos) {
- onMouseUp(ev, action, win, pos);
- Utils.$unbind(document, 'mousemove:movewindow');
- Utils.$unbind(document, 'mouseup:movewindowstop');
- }
- }
- function onMouseUp(ev, action, win, mousePosition) {
- if ( !current ) {
- return;
- }
- if ( current.moved ) {
- if ( action === 'move' ) {
- win._onChange('move', true);
- win._emit('moved', [win._position.x, win._position.y]);
- } else if ( action === 'resize' ) {
- win._onChange('resize', true);
- win._emit('resized', [win._dimension.w, win._dimension.h]);
- }
- }
- current.$element.setAttribute('data-hint', '');
- win._emit('postop');
- current = null;
- }
- function onMouseMove(ev, action, win, mousePosition) {
- if ( !_WM.getMouseLocked() || !action || !current ) {
- return;
- }
- var result;
- var dx = mousePosition.x - current.startX;
- var dy = mousePosition.y - current.startY;
- if ( action === 'move' ) {
- result = onWindowMove(ev, mousePosition, dx, dy);
- } else {
- result = onWindowResize(ev, mousePosition, dx, dy);
- }
- if ( result ) {
- if ( result.left !== null && result.top !== null ) {
- win._move(result.left, result.top);
- win._emit('move', [result.left, result.top]);
- }
- if ( result.width !== null && result.height !== null ) {
- win._resize(result.width, result.height, true);
- win._emit('resize', [result.width, result.height]);
- }
- }
- current.moved = true;
- }
- function onWindowResize(ev, mousePosition, dx, dy) {
- if ( !current || !current.direction ) {
- return false;
- }
- var nw, nh, nl, nt;
- (function() { // North/South
- if ( current.direction.indexOf('s') !== -1 ) {
- nh = current.rectWindow.h + dy;
- newRect.height = Math.max(current.minHeight, nh);
- } else if ( current.direction.indexOf('n') !== -1 ) {
- nh = current.rectWindow.h - dy;
- nt = current.rectWindow.y + dy;
- if ( nt < current.rectWorkspace.top ) {
- nt = current.rectWorkspace.top;
- nh = newRect.height;
- } else {
- if ( nh < current.minHeight ) {
- nt = current.rectWindow.b - current.minHeight;
- }
- }
- newRect.height = Math.max(current.minHeight, nh);
- newRect.top = nt;
- }
- })();
- (function() { // East/West
- if ( current.direction.indexOf('e') !== -1 ) {
- nw = current.rectWindow.w + dx;
- newRect.width = Math.max(current.minWidth, nw);
- } else if ( current.direction.indexOf('w') !== -1 ) {
- nw = current.rectWindow.w - dx;
- nl = current.rectWindow.x + dx;
- if ( nw < current.minWidth ) {
- nl = current.rectWindow.r - current.minWidth;
- }
- newRect.width = Math.max(current.minWidth, nw);
- newRect.left = nl;
- }
- })();
- return newRect;
- }
- function onWindowMove(ev, mousePosition, dx, dy) {
- var newWidth = null;
- var newHeight = null;
- var newLeft = current.rectWindow.x + dx;
- var newTop = current.rectWindow.y + dy;
- var borderSize = current.theme.borderSize;
- var topMargin = current.theme.topMargin;
- var cornerSnapSize = current.snapping.cornerSize;
- var windowSnapSize = current.snapping.windowSize;
- if ( newTop < current.rectWorkspace.top ) {
- newTop = current.rectWorkspace.top;
- }
- var newRight = newLeft + current.rectWindow.w + (borderSize * 2);
- var newBottom = newTop + current.rectWindow.h + topMargin + (borderSize);
- if ( cornerSnapSize > 0 ) {
- if ( ((newLeft - borderSize) <= cornerSnapSize) && ((newLeft - borderSize) >= -cornerSnapSize) ) { // Left
- newLeft = borderSize;
- } else if ( (newRight >= (current.rectWorkspace.width - cornerSnapSize)) && (newRight <= (current.rectWorkspace.width + cornerSnapSize)) ) { // Right
- newLeft = current.rectWorkspace.width - current.rectWindow.w - borderSize;
- }
- if ( (newTop <= (current.rectWorkspace.top + cornerSnapSize)) && (newTop >= (current.rectWorkspace.top - cornerSnapSize)) ) { // Top
- newTop = current.rectWorkspace.top + (borderSize);
- } else if (
- (newBottom >= ((current.rectWorkspace.height + current.rectWorkspace.top) - cornerSnapSize)) &&
- (newBottom <= ((current.rectWorkspace.height + current.rectWorkspace.top) + cornerSnapSize))
- ) { // Bottom
- newTop = (current.rectWorkspace.height + current.rectWorkspace.top) - current.rectWindow.h - topMargin - borderSize;
- }
- }
- if ( windowSnapSize > 0 ) {
- current.snapRects.every(function(rect) {
- if ( newRight >= (rect.left - windowSnapSize) && newRight <= (rect.left + windowSnapSize) ) { // Left
- newLeft = rect.left - (current.rectWindow.w + (borderSize * 2));
- return false;
- }
- if ( (newLeft - borderSize) <= (rect.right + windowSnapSize) && (newLeft - borderSize) >= (rect.right - windowSnapSize) ) { // Right
- newLeft = rect.right + (borderSize * 2);
- return false;
- }
- if ( newBottom >= (rect.top - windowSnapSize) && newBottom <= (rect.top + windowSnapSize) ) { // Top
- newTop = rect.top - (current.rectWindow.h + (borderSize * 2) + topMargin);
- return false;
- }
- if ( newTop <= (rect.bottom + windowSnapSize) && newTop >= (rect.bottom - windowSnapSize) ) { // Bottom
- newTop = rect.bottom + borderSize * 2;
- return false;
- }
- return true;
- });
- }
- return {left: newLeft, top: newTop, width: newWidth, height: newHeight};
- }
- if ( win._properties.allow_move ) {
- Utils.$bind(win._$top, 'mousedown', function(ev, pos) {
- onMouseDown(ev, 'move', win, pos);
- }, true);
- }
- if ( win._properties.allow_resize ) {
- Utils.$bind(win._$resize, 'mousedown', function(ev, pos) {
- onMouseDown(ev, 'resize', win, pos);
- });
- }
- }
- function WindowManager(name, ref, args, metadata, settings) {
- this._$notifications = null;
- this._windows = [];
- this._settings = OSjs.Core.getSettingsManager().instance(name, settings);
- this._currentWin = null;
- this._lastWin = null;
- this._mouselock = true;
- this._stylesheet = null;
- this._sessionLoaded = false;
- this._fullyLoaded = false;
- this._scheme = null;
- this.__name = (name || 'WindowManager');
- this.__path = metadata.path;
- this.__iter = metadata.iter;
- Process.apply(this, [this.__name, args, metadata]);
- _WM = (ref || this);
- }
- WindowManager.prototype = Object.create(Process.prototype);
- WindowManager.prototype.destroy = function() {
- var self = this;
- this.destroyStylesheet();
- Utils.$unbind(document, 'mouseout:windowmanager');
- Utils.$unbind(document, 'mouseenter:windowmanager');
- this._windows.forEach(function(win, i) {
- if ( win ) {
- win.destroy(true);
- self._windows[i] = null;
- }
- });
- if ( this._scheme ) {
- this._scheme.destroy();
- }
- this._windows = [];
- this._currentWin = null;
- this._lastWin = null;
- this._scheme = null;
- _WM = null;
- return Process.prototype.destroy.apply(this, []);
- };
- WindowManager.prototype.init = function(metadata, settings, scheme) {
- this._scheme = scheme;
- var self = this;
- Utils.$bind(document, 'mouseout:windowmanager', function(ev) {
- self._onMouseLeave(ev);
- });
- Utils.$bind(document, 'mouseenter:windowmanager', function(ev) {
- self._onMouseLeave(ev);
- });
- };
- WindowManager.prototype.setup = function(cb) {
- };
- WindowManager.prototype.getWindow = function(name) {
- var result = null;
- this._windows.every(function(w) {
- if ( w && w._name === name ) {
- result = w;
- }
- return w ? false : true;
- });
- return result;
- };
- WindowManager.prototype.addWindow = function(w, focus) {
- if ( !(w instanceof Window) ) {
- console.warn('WindowManager::addWindow()', 'Got', w);
- throw new TypeError('given argument was not instance of Core.Window');
- }
- try {
- w.init(this, w._app, w._scheme);
- } catch ( e ) {
- console.error('WindowManager::addWindow()', '=>', 'Window::init()', e, e.stack);
- }
- createWindowBehaviour(w, this);
- this._windows.push(w);
- w._inited();
- if ( focus === true || (w instanceof OSjs.Core.DialogWindow) ) {
- setTimeout(function() {
- w._focus();
- }, 10);
- }
- return w;
- };
- WindowManager.prototype.removeWindow = function(w) {
- var self = this;
- if ( !(w instanceof Window) ) {
- console.warn('WindowManager::removeWindow()', 'Got', w);
- throw new TypeError('given argument was not instance of Core.Window');
- }
- var result = false;
- this._windows.every(function(win, i) {
- if ( win && win._wid === w._wid ) {
- self._windows[i] = null;
- result = true;
- }
- return result ? false : true;
- });
- return result;
- };
- WindowManager.prototype.applySettings = function(settings, force, save, triggerWatch) {
- settings = settings || {};
- var result = force ? settings : Utils.mergeObject(this._settings.get(), settings);
- this._settings.set(null, result, save, triggerWatch);
- return true;
- };
- WindowManager.prototype.createStylesheet = function(styles, rawStyles) {
- this.destroyStylesheet();
- var innerHTML = [];
- Object.keys(styles).forEach(function(key) {
- var rules = [];
- Object.keys(styles[key]).forEach(function(r) {
- rules.push(Utils.format(' {0}: {1};', r, styles[key][r]));
- });
- rules = rules.join('\n');
- innerHTML.push(Utils.format('{0} {\n{1}\n}', key, rules));
- });
- innerHTML = innerHTML.join('\n');
- if ( rawStyles ) {
- innerHTML += '\n' + rawStyles;
- }
- var style = document.createElement('style');
- style.type = 'text/css';
- style.id = 'WMGeneratedStyles';
- style.innerHTML = innerHTML;
- document.getElementsByTagName('head')[0].appendChild(style);
- this._stylesheet = style;
- };
- WindowManager.prototype.destroyStylesheet = function() {
- if ( this._stylesheet ) {
- if ( this._stylesheet.parentNode ) {
- this._stylesheet.parentNode.removeChild(this._stylesheet);
- }
- }
- this._stylesheet = null;
- };
- WindowManager.prototype.onKeyDown = function(ev, win) {
- };
- WindowManager.prototype.onOrientationChange = function(ev, orientation) {
- };
- WindowManager.prototype.onSessionLoaded = function() {
- if ( this._sessionLoaded ) {
- return false;
- }
- this._sessionLoaded = true;
- return true;
- };
- WindowManager.prototype.resize = function(ev, rect) {
- };
- WindowManager.prototype.notification = function() {
- };
- WindowManager.prototype.createNotificationIcon = function() {
- };
- WindowManager.prototype.removeNotificationIcon = function() {
- };
- WindowManager.prototype.eventWindow = function(ev, win) {
- };
- WindowManager.prototype.showSettings = function() {
- };
- WindowManager.prototype._onMouseEnter = function(ev) {
- this._mouselock = true;
- };
- WindowManager.prototype._onMouseLeave = function(ev) {
- var from = ev.relatedTarget || ev.toElement;
- if ( !from || from.nodeName === 'HTML' ) {
- this._mouselock = false;
- } else {
- this._mouselock = true;
- }
- };
- WindowManager.prototype.getDefaultSetting = function() {
- return null;
- };
- WindowManager.prototype.getPanel = function() {
- return null;
- };
- WindowManager.prototype.getPanels = function() {
- return [];
- };
- WindowManager.prototype.getStyleTheme = function(returnMetadata) {
- return returnMetadata ? {} : 'default';
- };
- WindowManager.prototype.getSoundTheme = function() {
- return 'default';
- };
- WindowManager.prototype.getSoundFilename = function(k) {
- return null;
- };
- WindowManager.prototype.getIconTheme = function() {
- return 'default';
- };
- WindowManager.prototype.getStyleThemes = function() {
- return API.getConfig('Styles', []);
- };
- WindowManager.prototype.getSoundThemes = function() {
- return API.getConfig('Sounds', []);
- };
- WindowManager.prototype.getIconThemes = function() {
- return API.getConfig('Icons', []);
- };
- WindowManager.prototype.setSetting = function(k, v) {
- return this._settings.set(k, v);
- };
- WindowManager.prototype.getWindowSpace = function() {
- return Utils.getRect();
- };
- WindowManager.prototype.getWindowPosition = (function() {
- var _LNEWX = 0;
- var _LNEWY = 0;
- return function() {
- if ( _LNEWY >= (window.innerHeight - 100) ) {
- _LNEWY = 0;
- }
- if ( _LNEWX >= (window.innerWidth - 100) ) {
- _LNEWX = 0;
- }
- return {x: _LNEWX += 10, y: _LNEWY += 10};
- };
- })();
- WindowManager.prototype.getSetting = function(k) {
- return this._settings.get(k);
- };
- WindowManager.prototype.getSettings = function() {
- return this._settings.get();
- };
- WindowManager.prototype.getWindows = function() {
- return this._windows;
- };
- WindowManager.prototype.getCurrentWindow = function() {
- return this._currentWin;
- };
- WindowManager.prototype.setCurrentWindow = function(w) {
- this._currentWin = w || null;
- };
- WindowManager.prototype.getLastWindow = function() {
- return this._lastWin;
- };
- WindowManager.prototype.setLastWindow = function(w) {
- this._lastWin = w || null;
- };
- WindowManager.prototype.getMouseLocked = function() {
- return this._mouselock;
- };
- OSjs.Core.WindowManager = Object.seal(WindowManager);
- OSjs.Core.getWindowManager = function() {
- return _WM;
- };
-})(OSjs.Utils, OSjs.API, OSjs.Core.Process, OSjs.Core.Window);
-
-(function(Utils, VFS, API) {
- 'use strict';
- var PackageManager = (function() {
- var blacklist = [];
- var packages = {};
- return Object.seal({
- load: function(callback) {
- var self = this;
- callback = callback || {};
- function loadMetadata(cb) {
- self._loadMetadata(function(err) {
- if ( err ) {
- callback(err, false, PackageManager);
- return;
- }
- var len = Object.keys(packages).length;
- if ( len ) {
- cb();
- return;
- }
- callback(false, 'No packages found!', PackageManager);
- });
- }
- loadMetadata(function() {
- self._loadExtensions(function() {
- callback(true, false, PackageManager);
- });
- });
- },
- _loadExtensions: function(callback) {
- var preloads = [];
- Object.keys(packages).forEach(function(k) {
- var iter = packages[k];
- if ( iter.type === 'extension' && iter.sources ) {
- iter.sources.forEach(function(p) {
- preloads.push(p);
- });
- }
- });
- if ( preloads.length ) {
- Utils.preload(preloads, function(total, failed) {
- callback();
- });
- } else {
- callback();
- }
- },
- _loadMetadata: function(callback) {
- var rootURI = API.getBrowserPath().replace(/\/$/, '/packages/'); // FIXME
- function checkEntry(key, iter, scope) {
- iter = Utils.cloneObject(iter);
- iter.type = iter.type || 'application';
- if ( scope ) {
- iter.scope = scope;
- }
- if ( iter.preload ) {
- iter.preload.forEach(function(it) {
- if ( it.src && !it.src.match(/^(\/)|(http)|(ftp)/) ) {
- if ( iter.scope === 'user' ) {
- it.src = Utils.pathJoin(iter.path, it.src);
- } else {
- it.src = Utils.pathJoin(rootURI, key, it.src);
- }
- }
- });
- }
- return iter;
- }
- if ( API.isStandalone() || API.getConfig('PackageManager.UseStaticManifest') === true ) {
- var uri = Utils.checkdir(API.getConfig('Connection.MetadataURI'));
- Utils.preload([uri], function(total, failed) {
- if ( failed.length ) {
- callback('Failed to load package manifest', failed);
- return;
- }
- packages = {};
- var list = OSjs.Core.getMetadata();
- Object.keys(list).forEach(function(name) {
- var iter = list[name];
- packages[iter.className] = checkEntry(name, iter);
- });
- callback();
- });
- return;
- }
- var paths = OSjs.Core.getSettingsManager().instance('PackageManager').get('PackagePaths', []);
- API.call('packages', {command: 'list', args: {paths: paths}}, function(err, res) {
- if ( res ) {
- packages = {};
- Object.keys(res).forEach(function(key) {
- var iter = res[key];
- if ( iter && !packages[iter.className] ) {
- packages[iter.className] = checkEntry(key, iter);
- }
- });
- }
- callback();
- });
- },
- generateUserMetadata: function(callback) {
- var self = this;
- var paths = OSjs.Core.getSettingsManager().instance('PackageManager').get('PackagePaths', []);
- API.call('packages', {command: 'cache', args: {action: 'generate', scope: 'user', paths: paths}}, function() {
- self._loadMetadata(callback);
- });
- },
- _addPackages: function(result, scope) {
- var keys = Object.keys(result);
- if ( !keys.length ) {
- return;
- }
- var currLocale = API.getLocale();
- keys.forEach(function(i) {
- var newIter = Utils.cloneObject(result[i]);
- if ( typeof newIter !== 'object' ) {
- return;
- }
- if ( typeof newIter.names !== 'undefined' && newIter.names[currLocale] ) {
- newIter.name = newIter.names[currLocale];
- }
- if ( typeof newIter.descriptions !== 'undefined' && newIter.descriptions[currLocale] ) {
- newIter.description = newIter.descriptions[currLocale];
- }
- if ( !newIter.description ) {
- newIter.description = newIter.name;
- }
- newIter.scope = scope || 'system';
- newIter.type = newIter.type || 'application';
- packages[i] = newIter;
- });
- },
- install: function(file, root, cb) {
- var self = this;
- var paths = OSjs.Core.getSettingsManager().instance('PackageManager').get('PackagePaths', []);
- if ( typeof root !== 'string' ) {
- root = paths[0];
- }
- var dest = Utils.pathJoin(root, file.filename.replace(/\.zip$/i, ''));
- API.call('packages', {command: 'install', args: {zip: file.path, dest: dest, paths: paths}}, function(e, r) {
- if ( e ) {
- cb(e);
- } else {
- self.generateUserMetadata(cb);
- }
- });
- },
- uninstall: function(file, cb) {
- var self = this;
- API.call('packages', {command: 'uninstall', args: {path: file.path}}, function(e, r) {
- if ( e ) {
- cb(e);
- } else {
- self.generateUserMetadata(cb);
- }
- });
- },
- setBlacklist: function(list) {
- blacklist = list || [];
- },
- getStorePackages: function(opts, callback) {
- var sm = OSjs.Core.getSettingsManager();
- var repos = sm.instance('PackageManager').get('Repositories', []);
- var entries = [];
- Utils.asyncs(repos, function(url, idx, next) {
- API.curl({
- url: url,
- method: 'GET'
- }, function(error, result) {
- if ( !error && result.body ) {
- var list = [];
- if ( typeof result.body === 'string' ) {
- try {
- list = JSON.parse(result.body);
- } catch ( e ) {}
- }
- entries = entries.concat(list.map(function(iter) {
- iter._repository = url;
- return iter;
- }));
- }
- next();
- });
- }, function() {
- callback(false, entries);
- });
- },
- getPackage: function(name) {
- if ( typeof packages[name] !== 'undefined' ) {
- return Object.freeze(Utils.cloneObject(packages)[name]);
- }
- return false;
- },
- getPackages: function(filtered) {
- var hidden = OSjs.Core.getSettingsManager().instance('PackageManager').get('Hidden', []);
- var p = Utils.cloneObject(packages);
- function allowed(i, iter) {
- if ( blacklist.indexOf(i) >= 0 ) {
- return false;
- }
- if ( iter && (iter.groups instanceof Array) ) {
- if ( !API.checkPermission(iter.groups) ) {
- return false;
- }
- }
- return true;
- }
- if ( typeof filtered === 'undefined' || filtered === true ) {
- var result = {};
- Object.keys(p).forEach(function(name) {
- var iter = p[name];
- if ( !allowed(name, iter) ) {
- return;
- }
- if ( iter && hidden.indexOf(name) < 0 ) {
- result[name] = iter;
- }
- });
- return Object.freeze(result);
- }
- return Object.freeze(p);
- },
- getPackagesByMime: function(mime) {
- var list = [];
- var p = Utils.cloneObject(packages);
- Object.keys(p).forEach(function(i) {
- if ( blacklist.indexOf(i) < 0 ) {
- var a = p[i];
- if ( a && a.mime ) {
- if ( Utils.checkAcceptMime(mime, a.mime) ) {
- list.push(i);
- }
- }
- }
- });
- return list;
- },
- addDummyPackage: function(n, title, icon, fn) {
- if ( packages[n] || OSjs.Applications[n] ) {
- throw new Error('A package already exists with this name!');
- }
- if ( typeof fn !== 'function' ) {
- throw new TypeError('You need to specify a function/callback!');
- }
- packages[n] = Object.seal({
- type: 'application',
- className: n,
- description: title,
- name: title,
- icon: icon,
- cateogry: 'other',
- scope: 'system'
- });
- OSjs.Applications[n] = fn;
- }
- });
- })();
- OSjs.Core.getPackageManager = function() {
- return PackageManager;
- };
-})(OSjs.Utils, OSjs.VFS, OSjs.API);
-
-(function(Utils, VFS, API) {
- 'use strict';
- var SettingsManager = {
- storage: {},
- defaults: {},
- watches: []
- };
- SettingsManager.init = function(settings) {
- this.storage = settings || {};
- };
- SettingsManager.get = function(pool, key) {
- try {
- if ( this.storage[pool] && Object.keys(this.storage[pool]).length ) {
- return key ? this.storage[pool][key] : this.storage[pool];
- }
- return key ? this.defaults[pool][key] : this.defaults[pool];
- } catch ( e ) {
- console.warn('SettingsManager::get()', 'exception', e, e.stack);
- }
- return false;
- };
- SettingsManager.set = function(pool, key, value, save, triggerWatch) {
- try {
- if ( key ) {
- if ( typeof this.storage[pool] === 'undefined' ) {
- this.storage[pool] = {};
- }
- if ( (['number', 'string']).indexOf(typeof key) >= 0 ) {
- this.storage[pool][key] = value;
- } else {
- console.warn('SettingsManager::set()', 'expects key to be a valid iter, not', key);
- }
- } else {
- this.storage[pool] = value;
- }
- } catch ( e ) {
- console.warn('SettingsManager::set()', 'exception', e, e.stack);
- }
- if ( save ) {
- this.save(pool, save);
- }
- if ( typeof triggerWatch === 'undefined' || triggerWatch === true ) {
- this.changed(pool);
- }
- return true;
- };
- SettingsManager.save = function(pool, callback) {
- if ( typeof callback !== 'function' ) {
- callback = function() {};
- }
- var handler = OSjs.Core.getHandler();
- handler.saveSettings(pool, this.storage, callback);
- };
- SettingsManager.defaults = function(pool, defaults) {
- this.defaults[pool] = defaults;
- };
- SettingsManager.instance = function(pool, defaults) {
- if ( !this.storage[pool] || (this.storage[pool] instanceof Array) ) {
- this.storage[pool] = {};
- }
- var instance = new OSjs.Helpers.SettingsFragment(this.storage[pool], pool);
- if ( arguments.length > 1 ) {
- SettingsManager.defaults(pool, defaults);
- instance.mergeDefaults(defaults);
- }
- return instance;
- };
- SettingsManager.unwatch = function(index) {
- if ( typeof this.watches[index] !== 'undefined' ) {
- delete this.watches[index];
- }
- };
- SettingsManager.watch = function(pool, callback) {
- if ( !this.storage[pool] ) {
- return false;
- }
- var index = this.watches.push({
- pool: pool,
- callback: callback
- });
- return index - 1;
- };
- SettingsManager.changed = function(pool) {
- var self = this;
- this.watches.forEach(function(watch) {
- if ( watch && watch.pool === pool ) {
- watch.callback(self.storage[pool]);
- }
- });
- return this;
- };
- SettingsManager.clear = function(pool, save) {
- save = (typeof save === 'undefined') || (save === true);
- this.set(pool, null, {}, save);
- };
- Object.seal(SettingsManager);
- OSjs.Core.getSettingsManager = function() {
- return SettingsManager;
- };
-})(OSjs.Utils, OSjs.VFS, OSjs.API);
-
-(function(Utils, VFS, API) {
- 'use strict';
- var DefaultModule = 'User';
- function createMatch(name) {
- return new RegExp('^' + name.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'));
- }
- var MountManager = (function() {
- var _queue = [];
- var _inited = false;
- var _modules = {};
- return Object.seal({
- _create: function(params) {
- var target = VFS.Transports[params.transport];
- if ( target && typeof target.defaults === 'function' ) {
- target.defaults(params);
- }
- function _checkReadOnly(name, params, args) {
- if ( params.readOnly ) {
- var restricted = ['upload', 'unlink', 'write', 'mkdir', 'move', 'trash', 'untrash', 'emptyTrash'];
- if ( name === 'copy' ) {
- var dest = MountManager.getModuleFromPath(args[1].path, false, true);
- return dest.internal !== params.internal;
- }
- if ( restricted.indexOf(name) !== -1 ) {
- return true;
- }
- }
- return false;
- }
- var mparams = (function() {
- var o = {};
- Object.keys(params).forEach(function(k) {
- if ( typeof params[k] !== 'function' ) {
- o[k] = params[k];
- }
- });
- return Object.freeze(o);
- })();
- var cfg = Utils.argumentDefaults(params, {
- request: function(name, args, callback, options) {
- callback = callback || function() {
- console.warn('NO CALLBACK FUNCTION WAS ASSIGNED IN VFS REQUEST');
- };
- if ( !target ) {
- callback(API._('ERR_VFSMODULE_INVALID_TYPE_FMT', params.transport));
- return;
- }
- if ( _checkReadOnly(name, params, args) ) {
- callback(API._('ERR_VFSMODULE_READONLY'));
- return;
- }
- var module = target.module || {};
- if ( !module[name] ) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- return;
- }
- var fargs = args || [];
- fargs.push(callback);
- fargs.push(options);
- fargs.push(mparams);
- module[name].apply(module, fargs);
- },
- unmount: function(cb) {
- (cb || function() {})(API._('ERR_VFS_UNAVAILABLE'), false);
- },
- mounted: function() {
- return true;
- },
- enabled: function() {
- return true;
- }
- });
- return cfg;
- },
- _add: function(opts, emitEvent) {
- if ( _inited ) {
- _modules[opts.name] = Object.seal(opts);
- if ( emitEvent ) {
- API.message('vfs:mount', opts.name, {source: null});
- }
- } else {
- _queue.push(arguments);
- }
- },
- init: function(callback) {
- if ( _inited ) {
- callback();
- return;
- }
- _inited = true;
- _queue.forEach(function(i) {
- var add = MountManager._create.apply(MountManager, i);
- MountManager._add(add, false);
- });
- var config = API.getConfig('VFS.Mountpoints', {});
- Object.keys(config).forEach(function(key) {
- var iter = config[key];
- if ( iter.enabled !== false ) {
- var mp = MountManager._create({
- readOnly: (typeof iter.readOnly === 'undefined') ? false : (iter.readOnly === true),
- name: key,
- transport: iter.transport || 'Internal',
- description: iter.description || key,
- icon: iter.icon || 'devices/harddrive.png',
- root: key + ':///',
- options: iter.options,
- visible: iter.visible !== false,
- internal: true,
- searchable: true,
- match: createMatch(key + '://')
- });
- MountManager._add(mp, false);
- }
- });
- _queue = [];
- callback();
- },
- restore: function(callback) {
- var sm = OSjs.Core.getSettingsManager();
- Utils.asyncs(sm.instance('VFS').get('mounts', []), function(iter, idx, next) {
- try {
- MountManager.add(iter, next);
- } catch ( e ) {
- console.warn('MountManager::restore()', e, e.stack);
- next();
- }
- }, function() {
- callback();
- });
- },
- add: function(opts, cb) {
- opts = Utils.argumentDefaults(opts, {
- description: 'My VFS Module',
- transport: 'Internal',
- name: 'MyModule',
- icon: 'places/server.png',
- searchable: false,
- visible: true,
- readOnly: false
- });
- if ( _modules[opts.name] ) {
- throw new Error(API._('ERR_VFSMODULE_ALREADY_MOUNTED_FMT', opts.name));
- }
- if ( opts.transport.toLowerCase() === 'owndrive' ) {
- opts.transport = 'WebDAV';
- }
- var modulePath = opts.name.replace(/\s/g, '-').toLowerCase() + '://';
- var moduleRoot = modulePath + '/';
- var moduleMatch = createMatch(modulePath);
- var moduleOptions = opts.options || {};
- var module = (function createMountpointModule() {
- var isMounted = true;
- return MountManager._create({
- readOnly: opts.readOnly,
- transport: opts.transport,
- name: opts.name,
- description: opts.description,
- visible: opts.visible,
- dynamic: true,
- unmount: function(cb) {
- isMounted = false;
- API.message('vfs:unmount', opts.name, {source: null});
- (cb || function() {})(false, true);
- },
- mounted: function() {
- return isMounted;
- },
- root: moduleRoot,
- icon: opts.icon,
- match: moduleMatch,
- options: moduleOptions
- });
- })();
- var validModule = (function() {
- if ( Object.keys(VFS.Transports).indexOf(opts.transport) < 0 ) {
- return 'No such transport \'' + opts.transport + '\'';
- }
- if ( opts.transport === 'WebDAV' && !moduleOptions.username ) {
- return 'Connection requires username (authorization)';
- }
- return true;
- })();
- if ( validModule !== true ) {
- throw new Error(API._('ERR_VFSMODULE_INVALID_CONFIG_FMT', validModule));
- }
- MountManager._add(module, true);
- (cb || function() {})(false, true);
- },
- remove: function(moduleName, cb) {
- if ( !_modules[moduleName] ) {
- throw new Error(API._('ERR_VFSMODULE_NOT_MOUNTED_FMT', moduleName));
- }
- _modules[moduleName].unmount(function() {
- delete _modules[moduleName];
- cb.apply(MountManager, arguments);
- });
- },
- isInternal: function isInternalModule(test) {
- test = test || '';
- var m = _modules;
- var d = null;
- if ( test !== null ) {
- Object.keys(m).forEach(function(name) {
- if ( d !== true ) {
- var i = m[name];
- if ( i.internal === true && i.match && test.match(i.match) ) {
- d = true;
- }
- }
- });
- }
- return d;
- },
- isInternalEnabled: function(module) {
- try {
- if ( API.getConfig('VFS.Internal.' + module + '.enabled') === false ) {
- return false;
- }
- } catch ( e ) {}
- return true;
- },
- getModules: function(opts) {
- opts = Utils.argumentDefaults(opts, {
- visible: true,
- special: false
- });
- var m = _modules;
- var a = [];
- Object.keys(m).forEach(function(name) {
- var iter = m[name];
- if ( !iter.enabled() || (!opts.special && iter.special) ) {
- return;
- }
- if ( opts.visible && iter.visible === opts.visible ) {
- a.push({
- name: name,
- module: iter
- });
- }
- });
- return a;
- },
- getModule: function(name) {
- return _modules[name];
- },
- getModuleFromPath: function getModuleFromPath(test, retdef, retobj) {
- retdef = typeof retdef === 'undefined' ? true : (retdef === true);
- var d = null;
- if ( typeof test === 'string' ) {
- Object.keys(_modules).forEach(function(name) {
- if ( d === null ) {
- var i = _modules[name];
- if ( i.enabled() === true && i.match && test.match(i.match) ) {
- d = name;
- }
- }
- });
- }
- var moduleName = d || (retdef ? DefaultModule : null);
- return retobj ? _modules[moduleName] : moduleName;
- },
- getRootFromPath: function getRootFromPath(path) {
- return MountManager.getModuleFromPath(path, false, true).root;
- },
- getModuleProperty: function(module, property) {
- if ( typeof module === 'string' ) {
- module = _modules[module];
- }
- return module[property];
- }
- });
- })();
- OSjs.Core.getMountManager = function() {
- return MountManager;
- };
-})(OSjs.Utils, OSjs.VFS, OSjs.API);
-
-(function(Utils, VFS, API) {
- 'use strict';
- function search(list, query) {
- var result = [];
- list.forEach(function(obj) {
- var found = false;
- obj.fields.forEach(function(s) {
- if ( found ) {
- return;
- }
- var qry = String(query).toLowerCase();
- var str = String(s).toLowerCase();
- if ( str.indexOf(qry) !== -1 ) {
- result.push(obj.value);
- found = true;
- }
- });
- });
- return result;
- }
- function SearchObject(obj) {
- var self = this;
- Object.keys(obj).forEach(function(k) {
- self[k] = obj[k];
- });
- }
- var ApplicationModule = (function() {
- function query() {
- var packages = OSjs.Core.getPackageManager().getPackages();
- return Object.keys(packages).map(function(pn) {
- var p = packages[pn];
- return new SearchObject({
- value: {
- title: p.name,
- description: p.description,
- icon: API.getIcon(p.icon, '16x16', p),
- launch: {application: pn, args: {}}
- },
- fields: [
- p.className,
- p.name,
- p.description
- ]
- });
- });
- }
- return {
- search: function(q, args, settings, cb) {
- if ( settings.applications ) {
- var results = search(query(), q);
- if ( args.limit && results.length > args.dlimit ) {
- results = results.splice(0, args.dlimit);
- }
- cb(false, results);
- } else {
- cb(false, []);
- }
- },
- reindex: function(args, cb) {
- cb(false, true);
- },
- destroy: function() {
- }
- };
- })();
- var FilesystemModule = {
- search: function(q, args, settings, cb) {
- if ( !settings.files || !settings.paths ) {
- cb(false, []);
- return;
- }
- var found = [];
- Utils.asyncs(settings.paths, function(e, i, n) {
- VFS.find(e, {query: q, limit: (args.limit ? args.dlimit : 0), recursive: args.recursive}, function(error, result) {
- if ( error ) {
- console.warn(error);
- }
- if ( result ) {
- var list = result.map(function(iter) {
- return {
- title: iter.filename,
- description: iter.path,
- icon: API.getFileIcon(new VFS.File(iter)),
- launch: {application: '', args: '', file: iter}
- };
- });
- found = found.concat(list);
- }
- n();
- });
- }, function() {
- cb(false, found);
- });
- },
- reindex: function(args, cb) {
- cb(false, true);
- },
- destroy: function() {
- }
- };
- var SearchEngine = (function() {
- var modules = [
- ApplicationModule,
- FilesystemModule
- ];
- var settings = {};
- var inited = false;
- return Object.seal({
- init: function(cb) {
- if ( inited ) {
- return;
- }
- var manager = OSjs.Core.getSettingsManager();
- settings = manager.get('SearchEngine') || {};
- inited = true;
- cb();
- },
- destroy: function() {
- modules.forEach(function(m) {
- m.destroy();
- });
- modules = [];
- settings = {};
- },
- search: function(q, args, cb) {
- var result = [];
- var errors = [];
- args = Utils.argumentDefaults(args, {
- recursive: false,
- limit: 0,
- dlimit: 0
- });
- if ( args.limit ) {
- args.dlimit = args.limit;
- }
- Utils.asyncs(modules, function(module, index, next) {
- if ( !args.limit || args.dlimit > 0 ) {
- module.search(q, args, settings, function(err, res) {
- if ( err ) {
- errors.push(err);
- } else {
- args.dlimit -= res.length;
- result = result.concat(res);
- }
- next();
- });
- } else {
- cb(errors, result);
- }
- }, function() {
- cb(errors, result);
- });
- },
- reindex: function(args, cb) {
- var errors = [];
- Utils.asyncs(modules, function(module, index, next) {
- module.reindex(args, function(err, res) {
- if ( err ) {
- errors.push(err);
- }
- next();
- });
- }, function() {
- cb(errors, true);
- });
- },
- configure: function(opts, save) {
- }
- });
- })();
- OSjs.Core.getSearchEngine = function() {
- return SearchEngine;
- };
-})(OSjs.Utils, OSjs.VFS, OSjs.API);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- GUI.Helpers = GUI.Helpers || {};
- GUI.Helpers.getWindowId = function getWindowId(el) {
- while ( el.parentNode ) {
- var attr = el.getAttribute('data-window-id');
- if ( attr !== null ) {
- return parseInt(attr, 10);
- }
- el = el.parentNode;
- }
- return null;
- };
- GUI.Helpers.getLabel = function getLabel(el) {
- var label = el.getAttribute('data-label');
- return label || '';
- };
- GUI.Helpers.getValueLabel = function getValueLabel(el, attr) {
- var label = attr ? el.getAttribute('data-label') : null;
- if ( el.childNodes.length && el.childNodes[0].nodeType === 3 && el.childNodes[0].nodeValue ) {
- label = el.childNodes[0].nodeValue;
- Utils.$empty(el);
- }
- return label || '';
- };
- GUI.Helpers.getViewNodeValue = function getViewNodeValue(el) {
- var value = el.getAttribute('data-value');
- if ( typeof value === 'string' && value.match(/^\[|\{/) ) {
- try {
- value = JSON.parse(value);
- } catch ( e ) {
- value = null;
- }
- }
- return value;
- };
- GUI.Helpers.getIcon = function getIcon(el, win) {
- var image = el.getAttribute('data-icon');
- if ( image && image !== 'undefined') {
- if ( image.match(/^stock:\/\//) ) {
- image = image.replace('stock://', '');
- var size = '16x16';
- try {
- var spl = image.split('/');
- var tmp = spl.shift();
- var siz = tmp.match(/^\d+x\d+/);
- if ( siz ) {
- size = siz[0];
- image = spl.join('/');
- }
- image = API.getIcon(image, size);
- } catch ( e ) {}
- } else if ( image.match(/^app:\/\//) ) {
- image = API.getApplicationResource(win._app, image.replace('app://', ''));
- }
- return image;
- }
- return null;
- };
- GUI.Helpers.getProperty = function getProperty(el, param, tagName) {
- tagName = tagName || el.tagName.toLowerCase();
- var isDataView = tagName.match(/^gui\-(tree|icon|list|file)\-view$/);
- if ( param === 'value' && !isDataView) {
- if ( (['gui-text', 'gui-password', 'gui-textarea', 'gui-slider', 'gui-select', 'gui-select-list']).indexOf(tagName) >= 0 ) {
- return el.querySelector('input, textarea, select').value;
- }
- if ( (['gui-checkbox', 'gui-radio', 'gui-switch']).indexOf(tagName) >= 0 ) {
- return !!el.querySelector('input').checked;
- }
- return null;
- }
- if ( (param === 'value' || param === 'selected') && isDataView ) {
- return GUI.Elements[tagName].values(el);
- }
- return el.getAttribute('data-' + param);
- };
- GUI.Helpers.setProperty = function setProperty(el, param, value, tagName) {
- tagName = tagName || el.tagName.toLowerCase();
- function _setKnownAttribute(i, k, v, a) {
- if ( v ) {
- i.setAttribute(k, k);
- } else {
- i.removeAttribute(k);
- }
- if ( a ) {
- el.setAttribute('aria-' + k, String(value === true));
- }
- }
- function _setValueAttribute(i, k, v) {
- if ( typeof v === 'object' ) {
- try {
- v = JSON.stringify(value);
- } catch ( e ) {}
- }
- i.setAttribute(k, String(v));
- }
- var inner = el.children[0];
- var accept = ['gui-slider', 'gui-text', 'gui-password', 'gui-textarea', 'gui-checkbox', 'gui-radio', 'gui-select', 'gui-select-list', 'gui-button'];
- (function() {
- var firstChild;
- var params = {
- readonly: function() {
- _setKnownAttribute(firstChild, 'readonly', value, true);
- },
- disabled: function() {
- _setKnownAttribute(firstChild, 'disabled', value, true);
- },
- value: function() {
- if ( tagName === 'gui-radio' || tagName === 'gui-checkbox' ) {
- _setKnownAttribute(firstChild, 'checked', value);
- firstChild.checked = !!value;
- }
- firstChild.value = value;
- },
- label: function() {
- el.appendChild(firstChild);
- Utils.$remove(el.querySelector('label'));
- GUI.Helpers.createInputLabel(el, tagName.replace(/^gui\-/, ''), firstChild, value);
- }
- };
- if ( accept.indexOf(tagName) >= 0 ) {
- firstChild = el.querySelector('textarea, input, select, button');
- if ( firstChild ) {
- if ( params[param] ) {
- params[param]();
- } else {
- _setValueAttribute(firstChild, param, value || '');
- }
- }
- }
- })();
- accept = ['gui-image', 'gui-audio', 'gui-video'];
- if ( (['src', 'controls', 'autoplay', 'alt']).indexOf(param) >= 0 && accept.indexOf(tagName) >= 0 ) {
- inner[param] = value;
- }
- if ( (['_id', '_class', '_style']).indexOf(param) >= 0 ) {
- inner.setAttribute(param.replace(/^_/, ''), value);
- return;
- }
- if ( param !== 'value' ) {
- _setValueAttribute(el, 'data-' + param, value);
- }
- };
- GUI.Helpers.createInputLabel = function createInputLabel(el, type, input, label) {
- label = label || GUI.Helpers.getLabel(el);
- if ( label ) {
- var lbl = document.createElement('label');
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(label));
- if ( type === 'checkbox' || type === 'radio' ) {
- lbl.appendChild(input);
- lbl.appendChild(span);
- } else {
- lbl.appendChild(span);
- lbl.appendChild(input);
- }
- el.appendChild(lbl);
- } else {
- el.appendChild(input);
- }
- };
- GUI.Helpers.createElement = function createElement(tagName, params, ignoreParams) {
- ignoreParams = ignoreParams || [];
- var el = document.createElement(tagName);
- var classMap = {
- textalign: function(v) {
- Utils.$addClass(el, 'gui-align-' + v);
- },
- className: function(v) {
- Utils.$addClass(el, v);
- }
- };
- function getValue(k, value) {
- if ( typeof value === 'boolean' ) {
- value = value ? 'true' : 'false';
- } else if ( typeof value === 'object' ) {
- try {
- value = JSON.stringify(value);
- } catch ( e ) {}
- }
- return value;
- }
- if ( typeof params === 'object' ) {
- Object.keys(params).forEach(function(k) {
- if ( ignoreParams.indexOf(k) >= 0 ) {
- return;
- }
- var value = params[k];
- if ( typeof value !== 'undefined' && typeof value !== 'function' ) {
- if ( classMap[k] ) {
- classMap[k](value);
- return;
- }
- var fvalue = getValue(k, value);
- el.setAttribute('data-' + k, fvalue);
- }
- });
- }
- return el;
- };
- GUI.Helpers.setFlexbox = function setFlexbox(el, grow, shrink, basis, checkel) {
- checkel = checkel || el;
- (function() {
- if ( typeof basis === 'undefined' || basis === null ) {
- basis = checkel.getAttribute('data-basis') || 'auto';
- }
- })();
- (function() {
- if ( typeof grow === 'undefined' || grow === null ) {
- grow = checkel.getAttribute('data-grow') || 0;
- }
- })();
- (function() {
- if ( typeof shrink === 'undefined' || shrink === null ) {
- shrink = checkel.getAttribute('data-shrink') || 0;
- }
- })();
- var flex = [grow, shrink];
- if ( basis.length ) {
- flex.push(basis);
- }
- var style = flex.join(' ');
- el.style.WebkitBoxFlex = style;
- el.style.MozBoxFlex = style;
- el.style.WebkitFlex = style;
- el.style.MozFlex = style;
- el.style.MSFlex = style;
- el.style.OFlex = style;
- el.style.flex = style;
- var align = el.getAttribute('data-align');
- Utils.$removeClass(el, 'gui-flex-align-start');
- Utils.$removeClass(el, 'gui-flex-align-end');
- if ( align ) {
- Utils.$addClass(el, 'gui-flex-align-' + align);
- }
- };
- OSjs.GUI.Helpers.createDrag = function createDrag(el, onDown, onMove, onUp) {
- onDown = onDown || function() {};
- onMove = onMove || function() {};
- onUp = onUp || function() {};
- var startX, startY, currentX, currentY;
- var dragging = false;
- function _onMouseDown(ev, pos, touchDevice) {
- ev.preventDefault();
- startX = pos.x;
- startY = pos.y;
- onDown(ev, {x: startX, y: startY});
- dragging = true;
- Utils.$bind(window, 'mouseup:guidrag', _onMouseUp, false);
- Utils.$bind(window, 'mousemove:guidrag', _onMouseMove, false);
- }
- function _onMouseMove(ev, pos, touchDevice) {
- ev.preventDefault();
- if ( dragging ) {
- currentX = pos.x;
- currentY = pos.y;
- var diffX = currentX - startX;
- var diffY = currentY - startY;
- onMove(ev, {x: diffX, y: diffY}, {x: currentX, y: currentY});
- }
- }
- function _onMouseUp(ev, pos, touchDevice) {
- onUp(ev, {x: currentX, y: currentY});
- dragging = false;
- Utils.$unbind(window, 'mouseup:guidrag');
- Utils.$unbind(window, 'mousemove:guidrag');
- }
- Utils.$bind(el, 'mousedown', _onMouseDown, false);
- };
- GUI.Helpers.getNextElement = function getNextElement(prev, current, root) {
- function getElements() {
- var ignore_roles = ['menu', 'menuitem', 'grid', 'gridcell', 'listitem'];
- var list = [];
- root.querySelectorAll('.gui-element').forEach(function(e) {
- if ( Utils.$hasClass(e, 'gui-focus-element') || ignore_roles.indexOf(e.getAttribute('role')) >= 0 || e.getAttribute('data-disabled') === 'true' ) {
- return;
- }
- if ( e.offsetParent ) {
- list.push(e);
- }
- });
- return list;
- }
- function getCurrentIndex(els, m) {
- var found = -1;
- if ( m ) {
- els.every(function(e, idx) {
- if ( e === m ) {
- found = idx;
- }
- return found === -1;
- });
- }
- return found;
- }
- function getCurrentParent(els, m) {
- if ( m ) {
- var cur = m;
- while ( cur.parentNode ) {
- if ( Utils.$hasClass(cur, 'gui-element') ) {
- return cur;
- }
- cur = cur.parentNode;
- }
- return null;
- }
- return els[0];
- }
- function getNextIndex(els, p, i) {
- if ( prev ) {
- i = (i <= 0) ? (els.length) - 1 : (i - 1);
- } else {
- i = (i >= (els.length - 1)) ? 0 : (i + 1);
- }
- return i;
- }
- function getNext(els, i) {
- var next = els[i];
- if ( next.tagName.match(/^GUI\-(BUTTON|TEXT|PASSWORD|SWITCH|CHECKBOX|RADIO|SELECT)/) ) {
- next = next.querySelectorAll('input, textarea, button, select')[0];
- }
- if ( next.tagName === 'GUI-FILE-VIEW' ) {
- next = next.children[0];
- }
- return next;
- }
- if ( root ) {
- var elements = getElements();
- if ( elements.length ) {
- var currentParent = getCurrentParent(elements, current);
- var currentIndex = getCurrentIndex(elements, currentParent);
- if ( currentIndex >= 0 ) {
- var nextIndex = getNextIndex(elements, currentParent, currentIndex);
- return getNext(elements, nextIndex);
- }
- }
- }
- return null;
- };
- GUI.Helpers.createDraggable = function createDraggable(el, args) {
- args = OSjs.Utils.argumentDefaults(args, {
- type : null,
- effect : 'move',
- data : null,
- mime : 'application/json',
- dragImage : null,
- onStart : function() {
- return true;
- },
- onEnd : function() {
- return true;
- }
- });
- if ( OSjs.Utils.isIE() ) {
- args.mime = 'text';
- }
- function _toString(mime) {
- return JSON.stringify({
- type: args.type,
- effect: args.effect,
- data: args.data,
- mime: args.mime
- });
- }
- function _dragStart(ev) {
- try {
- ev.dataTransfer.effectAllowed = args.effect;
- if ( args.dragImage && (typeof args.dragImage === 'function') ) {
- if ( ev.dataTransfer.setDragImage ) {
- var dragImage = args.dragImage(ev, el);
- if ( dragImage ) {
- var dragEl = dragImage.element;
- var dragPos = dragImage.offset;
- document.body.appendChild(dragEl);
- ev.dataTransfer.setDragImage(dragEl, dragPos.x, dragPos.y);
- }
- }
- }
- ev.dataTransfer.setData(args.mime, _toString(args.mime));
- } catch ( e ) {
- console.warn('Failed to dragstart: ' + e);
- console.warn(e.stack);
- }
- }
- el.setAttribute('draggable', 'true');
- el.setAttribute('aria-grabbed', 'false');
- Utils.$bind(el, 'dragstart', function(ev) {
- this.setAttribute('aria-grabbed', 'true');
- this.style.opacity = '0.4';
- if ( ev.dataTransfer ) {
- _dragStart(ev);
- }
- return args.onStart(ev, this, args);
- }, false);
- Utils.$bind(el, 'dragend', function(ev) {
- this.setAttribute('aria-grabbed', 'false');
- this.style.opacity = '1.0';
- return args.onEnd(ev, this, args);
- }, false);
- };
- GUI.Helpers.createDroppable = function createDroppable(el, args) {
- args = OSjs.Utils.argumentDefaults(args, {
- accept : null,
- effect : 'move',
- mime : 'application/json',
- files : true,
- onFilesDropped : function() {
- return true;
- },
- onItemDropped : function() {
- return true;
- },
- onEnter : function() {
- return true;
- },
- onOver : function() {
- return true;
- },
- onLeave : function() {
- return true;
- },
- onDrop : function() {
- return true;
- }
- });
- if ( OSjs.Utils.isIE() ) {
- args.mime = 'text';
- }
- function getParent(start, matcher) {
- if ( start === matcher ) {
- return true;
- }
- var i = 10;
- while ( start && i > 0 ) {
- if ( start === matcher ) {
- return true;
- }
- start = start.parentNode;
- i--;
- }
- return false;
- }
- function _onDrop(ev, el) {
- ev.stopPropagation();
- ev.preventDefault();
- args.onDrop(ev, el);
- if ( !ev.dataTransfer ) {
- return true;
- }
- if ( args.files ) {
- var files = ev.dataTransfer.files;
- if ( files && files.length ) {
- return args.onFilesDropped(ev, el, files, args);
- }
- }
- var data;
- try {
- data = ev.dataTransfer.getData(args.mime);
- } catch ( e ) {
- console.warn('Failed to drop: ' + e);
- }
- if ( data ) {
- var item = JSON.parse(data);
- if ( args.accept === null || args.accept === item.type ) {
- return args.onItemDropped(ev, el, item, args);
- }
- }
- return false;
- }
- el.setAttribute('aria-dropeffect', args.effect);
- Utils.$bind(el, 'drop', function(ev) {
- return _onDrop(ev, this);
- }, false);
- Utils.$bind(el, 'dragenter', function(ev) {
- return args.onEnter.call(this, ev, this, args);
- }, false);
- Utils.$bind(el, 'dragover', function(ev) {
- ev.preventDefault();
- if ( !getParent(ev.target, el) ) {
- return false;
- }
- ev.stopPropagation();
- ev.dataTransfer.dropEffect = args.effect;
- return args.onOver.call(this, ev, this, args);
- }, false);
- Utils.$bind(el, 'dragleave', function(ev) {
- return args.onLeave.call(this, ev, this, args);
- }, false);
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function parseDynamic(scheme, node, win, args) {
- args = args || {};
- var translator = args._ || API._;
- node.querySelectorAll('*[data-label]').forEach(function(el) {
- var label = translator(el.getAttribute('data-label'));
- el.setAttribute('data-label', label);
- });
- node.querySelectorAll('gui-label, gui-button, gui-list-view-column, gui-select-option, gui-select-list-option').forEach(function(el) {
- if ( !el.children.length && !el.getAttribute('data-no-translate') ) {
- var lbl = GUI.Helpers.getValueLabel(el);
- el.appendChild(document.createTextNode(translator(lbl)));
- }
- });
- node.querySelectorAll('gui-button').forEach(function(el) {
- var label = GUI.Helpers.getValueLabel(el);
- if ( label ) {
- el.appendChild(document.createTextNode(API._(label)));
- }
- });
- node.querySelectorAll('*[data-icon]').forEach(function(el) {
- var image = GUI.Helpers.getIcon(el, win);
- el.setAttribute('data-icon', image);
- });
- node.querySelectorAll('*[data-src]').forEach(function(el) {
- var old = el.getAttribute('data-src') || '';
- if ( win._app && old.match(/^app:\/\//) ) {
- var source = API.getApplicationResource(win._app, old.replace('app://', ''));
- el.setAttribute('data-src', source);
- }
- });
- }
- function addChildren(frag, root, before) {
- if ( frag ) {
- var children = frag.children;
- var i = 0;
- while ( children.length && i < 10000 ) {
- if ( before ) {
- root.parentNode.insertBefore(children[0], root);
- } else {
- root.appendChild(children[0]);
- }
- i++;
- }
- }
- }
- function resolveFragments(scheme, node) {
- function _resolve() {
- var nodes = node.querySelectorAll('gui-fragment');
- if ( nodes.length ) {
- nodes.forEach(function(el) {
- var id = el.getAttribute('data-fragment-id');
- if ( id ) {
- var frag = scheme.getFragment(id, 'application-fragment');
- if ( frag ) {
- addChildren(frag.cloneNode(true), el.parentNode);
- } else {
- console.warn('Fragment', id, 'not found');
- }
- }
- Utils.$remove(el); // Or else we'll never get out of the loop!
- });
- return true;
- }
- return false;
- }
- if ( scheme ) {
- var resolving = true;
- while ( resolving ) {
- resolving = _resolve();
- }
- }
- }
- function removeSelfClosingTags(str) {
- var split = (str || '').split('/>');
- var newhtml = '';
- for (var i = 0; i < split.length - 1;i++) {
- var edsplit = split[i].split('<');
- newhtml += split[i] + '>' + edsplit[edsplit.length - 1].split(' ')[0] + '>';
- }
- return newhtml + split[split.length - 1];
- }
- function cleanScheme(html) {
- return Utils.cleanHTML(removeSelfClosingTags(html));
- }
- function resolveExternalFragments(root, html, cb) {
- var doc = document.createElement('div');
- doc.innerHTML = html;
- var nodes = doc.querySelectorAll('gui-fragment[data-fragment-external]');
- Utils.asyncs(nodes.map(function(el) {
- return {
- element: el,
- uri: el.getAttribute('data-fragment-external')
- };
- }), function(iter, index, next) {
- var uri = iter.uri.replace(/^\//, '');
- if ( uri.length < 3 ) {
- console.warn('resolveExternalFragments()', 'invalid', iter);
- return next();
- }
- Utils.ajax({
- url: Utils.pathJoin(root, uri),
- onsuccess: function(h) {
- var tmp = document.createElement('div');
- tmp.innerHTML = cleanScheme(h);
- addChildren(tmp, iter.element, iter.element);
- tmp = next();
- },
- onerror: function() {
- next();
- }
- });
- }, function() {
- cb(doc.innerHTML);
- doc = null;
- nodes = null;
- });
- }
- function UIScheme(url) {
- this.url = url;
- this.scheme = null;
- this.triggers = {render: []};
- }
- UIScheme.prototype.destroy = function() {
- Utils.$empty(this.scheme);
- this.scheme = null;
- this.triggers = {};
- };
- UIScheme.prototype.on = function(f, fn) {
- this.triggers[f].push(fn);
- };
- UIScheme.prototype._trigger = function(f, args) {
- args = args || [];
- var self = this;
- if ( this.triggers[f] ) {
- this.triggers[f].forEach(function(fn) {
- fn.apply(self, args);
- });
- }
- };
- UIScheme.prototype._load = function(html) {
- var doc = document.createDocumentFragment();
- var wrapper = document.createElement('div');
- wrapper.innerHTML = html;
- doc.appendChild(wrapper);
- this.scheme = doc.cloneNode(true);
- wrapper = null;
- doc = null;
- };
- UIScheme.prototype.loadString = function(html, cb) {
- this._load(cleanScheme(html));
- if ( cb ) {
- cb(false, this.scheme);
- }
- };
- UIScheme.prototype.load = function(cb, cbxhr) {
- cbxhr = cbxhr || function() {};
- var self = this;
- var src = this.url;
- if ( src.substr(0, 1) !== '/' && !src.match(/^(https?|ftp)/) ) {
- src = window.location.pathname + src;
- }
- var root = Utils.dirname(src);
- Utils.ajax({
- url: src,
- onsuccess: function(html) {
- html = cleanScheme(html);
- resolveExternalFragments(root, html, function(result) {
- cbxhr(false, result);
- self._load(result);
- cb(false, self.scheme);
- });
- },
- onerror: function() {
- cb('Failed to fetch scheme');
- cbxhr(true);
- }
- });
- };
- UIScheme.prototype.getFragment = function(id, type) {
- var content = null;
- if ( id ) {
- if ( type ) {
- content = this.scheme.querySelector(type + '[data-id="' + id + '"]');
- } else {
- content = this.scheme.querySelector('application-window[data-id="' + id + '"]') ||
- this.scheme.querySelector('application-fragment[data-id="' + id + '"]');
- }
- }
- return content;
- };
- UIScheme.prototype.parse = function(id, type, win, onparse, args) {
- var content = this.getFragment(id, type);
- if ( !content ) {
- console.error('UIScheme::parse()', 'No fragment found', id + '@' + type);
- return null;
- }
- type = type || content.tagName.toLowerCase();
- if ( content ) {
- var node = content.cloneNode(true);
- UIScheme.parseNode(this, win, node, type, args, onparse, id);
- return node;
- }
- return null;
- };
- UIScheme.prototype.render = function(win, id, root, type, onparse, args) {
- root = root || win._getRoot();
- if ( root instanceof GUI.Element ) {
- root = root.$element;
- }
- function setWindowProperties(frag) {
- if ( frag ) {
- var width = parseInt(frag.getAttribute('data-width'), 10) || 0;
- var height = parseInt(frag.getAttribute('data-height'), 10) || 0;
- var allow_maximize = frag.getAttribute('data-allow_maximize');
- var allow_minimize = frag.getAttribute('data-allow_minimize');
- var allow_close = frag.getAttribute('data-allow_close');
- var allow_resize = frag.getAttribute('data-allow_resize');
- if ( (!isNaN(width) && width > 0) || (!isNaN(height) && height > 0) ) {
- win._resize(width, height);
- }
- win._setProperty('allow_maximize', allow_maximize);
- win._setProperty('allow_minimize', allow_minimize);
- win._setProperty('allow_close', allow_close);
- win._setProperty('allow_resize', allow_resize);
- }
- }
- var content = this.parse(id, type, win, onparse, args);
- addChildren(content, root);
- root.querySelectorAll('application-fragment').forEach(function(e) {
- Utils.$remove(e);
- });
- if ( !win._restored ) {
- setWindowProperties(this.getFragment(id));
- }
- this._trigger('render', [root]);
- };
- UIScheme.prototype.create = function(win, tagName, params, parentNode, applyArgs) {
- tagName = tagName || '';
- params = params || {};
- parentNode = parentNode || win._getRoot();
- if ( parentNode instanceof GUI.Element ) {
- parentNode = parentNode.$element;
- }
- var el;
- if ( GUI.Elements[tagName] && GUI.Elements[tagName].create ) {
- el = GUI.Elements[tagName].create(params);
- } else {
- el = GUI.Helpers.createElement(tagName, params);
- }
- parentNode.appendChild(el);
- GUI.Elements[tagName].build(el, applyArgs, win);
- return this.get(el);
- };
- UIScheme.prototype.find = function(win, id, root) {
- root = this._findRoot(win, root);
- var res = this._findDOM(win, id, root);
- return this.get(res.el, res.q);
- };
- UIScheme.prototype.findByQuery = function(win, query, root, all) {
- root = this._findRoot(win, root);
- var el;
- var self = this;
- if ( all ) {
- el = root.querySelectorAll(query).map(function(e) {
- return self.get(e, query);
- });
- }
- el = root.querySelector(query);
- return this.get(el, query);
- };
- UIScheme.prototype.findDOM = function(win, id, root) {
- root = this._findRoot(win, root);
- return this._findDOM(win, id, root).el;
- };
- UIScheme.prototype._findRoot = function(win, root) {
- if ( !(win instanceof OSjs.Core.Window) ) {
- throw new Error('UIScheme::_findDOM() expects a instance of Window');
- }
- return root || win._getRoot();
- };
- UIScheme.prototype._findDOM = function(win, id, root) {
- var q = '[data-id="' + id + '"]';
- return {
- q: q,
- el: root.querySelector(q)
- };
- };
- UIScheme.prototype.get = function(el, q) {
- return UIScheme.getElementInstance(el, q);
- };
- UIScheme.prototype.getHTML = function() {
- return this.scheme.firstChild.innerHTML;
- };
- UIScheme.parseNode = function(scheme, win, node, type, args, onparse, id) {
- onparse = onparse || function() {};
- args = args || {};
- type = type || 'snipplet';
- if ( args.resolve !== false ) {
- resolveFragments(scheme, node);
- }
- node.querySelectorAll('*').forEach(function(el) {
- var lcase = el.tagName.toLowerCase();
- if ( lcase.match(/^gui\-/) && !lcase.match(/(\-container|\-(h|v)box|\-columns?|\-rows?|(status|tool)bar|(button|menu)\-bar|bar\-entry)$/) ) {
- Utils.$addClass(el, 'gui-element');
- }
- });
- parseDynamic(scheme, node, win, args);
- onparse(node);
- Object.keys(GUI.Elements).forEach(function(key) {
- node.querySelectorAll(key).forEach(function(pel) {
- if ( pel._wasParsed ) {
- return;
- }
- try {
- GUI.Elements[key].build(pel);
- } catch ( e ) {
- console.warn('parseNode()', id, type, win, 'exception');
- console.warn(e, e.stack);
- }
- pel._wasParsed = true;
- });
- });
- };
- UIScheme.getElementInstance = function(el, q) {
- if ( el ) {
- var tagName = el.tagName.toLowerCase();
- if ( tagName.match(/^gui\-(list|tree|icon|file)\-view$/) || tagName.match(/^gui\-select/) ) {
- return new GUI.ElementDataView(el, q);
- }
- }
- return new GUI.Element(el, q);
- };
- var DialogScheme = (function() {
- var dialogScheme;
- return {
- get: function() {
- return dialogScheme;
- },
- destroy: function() {
- if ( dialogScheme ) {
- dialogScheme.destroy();
- }
- dialogScheme = null;
- },
- init: function(cb) {
- if ( dialogScheme ) {
- cb();
- return;
- }
- if ( OSjs.API.isStandalone() ) {
- var html = OSjs.STANDALONE.SCHEMES['/dialogs.html'];
- dialogScheme = new OSjs.GUI.Scheme();
- dialogScheme.loadString(html);
- cb();
- return;
- }
- var root = API.getConfig('Connection.RootURI');
- var url = root + 'client/dialogs.html';
- if ( API.getConfig('Connection.Dist') === 'dist' ) {
- url = root + 'dialogs.html';
- }
- dialogScheme = GUI.createScheme(url);
- dialogScheme.load(function(error) {
- if ( error ) {
- console.warn('OSjs.GUI.initDialogScheme()', 'error loading dialog schemes', error);
- }
- cb();
- });
- }
- };
- })();
- function createScheme(url) {
- return new UIScheme(url);
- }
- GUI.Scheme = Object.seal(UIScheme);
- GUI.DialogScheme = DialogScheme;
- GUI.createScheme = createScheme;
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function getFocusElement(inst) {
- var tagMap = {
- 'gui-switch': 'button',
- 'gui-list-view': 'textarea',
- 'gui-tree-view': 'textarea',
- 'gui-icon-view': 'textarea',
- 'gui-input-modal': 'button'
- };
- if ( tagMap[inst.tagName] ) {
- return inst.$element.querySelector(tagMap[inst.tagName]);
- }
- return inst.$element.firstChild || inst.$element;
- }
- function UIElement(el, q) {
- this.$element = el || null;
- this.tagName = el ? el.tagName.toLowerCase() : null;
- this.oldDisplay = null;
- if ( !el ) {
- console.error('UIElement() was constructed without a DOM element', q);
- }
- }
- UIElement.prototype.remove = function() {
- this.$element = Utils.$remove(this.$element);
- };
- UIElement.prototype.empty = function() {
- Utils.$empty(this.$element);
- return this;
- };
- UIElement.prototype.blur = function() {
- if ( this.$element ) {
- var firstChild = getFocusElement(this);
- if ( firstChild ) {
- firstChild.blur();
- }
- }
- return this;
- };
- UIElement.prototype.focus = function() {
- if ( this.$element ) {
- var firstChild = getFocusElement(this);
- if ( firstChild ) {
- firstChild.focus();
- }
- }
- return this;
- };
- UIElement.prototype.show = function() {
- if ( this.$element && !this.$element.offsetParent ) {
- if ( GUI.Elements[this.tagName] && GUI.Elements[this.tagName].show ) {
- GUI.Elements[this.tagName].show.apply(this, arguments);
- } else {
- if ( this.$element ) {
- this.$element.style.display = this.oldDisplay || '';
- }
- }
- }
- return this;
- };
- UIElement.prototype.hide = function() {
- if ( this.$element && this.$element.offsetParent ) {
- if ( !this.oldDisplay ) {
- this.oldDisplay = this.$element.style.display;
- }
- this.$element.style.display = 'none';
- }
- return this;
- };
- UIElement.prototype.on = function(evName, callback, args) {
- if ( GUI.Elements[this.tagName] && GUI.Elements[this.tagName].bind ) {
- GUI.Elements[this.tagName].bind(this.$element, evName, callback, args);
- }
- return this;
- };
- UIElement.prototype.son = function(evName, thisArg, callback, args) {
- return this.on(evName, function() {
- var args = Array.prototype.slice.call(arguments);
- args.unshift(this);
- callback.apply(thisArg, args);
- }, args);
- };
- UIElement.prototype.set = function(param, value, arg, arg2) {
- if ( this.$element ) {
- if ( GUI.Elements[this.tagName] && GUI.Elements[this.tagName].set ) {
- if ( GUI.Elements[this.tagName].set(this.$element, param, value, arg, arg2) === true ) {
- return this;
- }
- }
- GUI.Helpers.setProperty(this.$element, param, value, arg, arg2);
- }
- return this;
- };
- UIElement.prototype.get = function() {
- if ( this.$element ) {
- if ( GUI.Elements[this.tagName] && GUI.Elements[this.tagName].get ) {
- var args = ([this.$element]).concat(Array.prototype.slice.call(arguments));
- return GUI.Elements[this.tagName].get.apply(this, args);
- } else {
- return GUI.Helpers.getProperty(this.$element, arguments[0]);
- }
- }
- return null;
- };
- UIElement.prototype.fn = function(name, args, thisArg) {
- args = args || [];
- thisArg = thisArg || this;
- if ( this.$element ) {
- return GUI.Elements[this.tagName][name].apply(thisArg, args);
- }
- return null;
- };
- UIElement.prototype.append = function(el) {
- if ( el instanceof UIElement ) {
- el = el.$element;
- } else if ( typeof el === 'string' || typeof el === 'number' ) {
- el = document.createTextNode(String(el));
- }
- var outer = document.createElement('div');
- outer.appendChild(el);
- this._append(outer);
- outer = null;
- return this;
- };
- UIElement.prototype.appendHTML = function(html, scheme, win, args) {
- var el = document.createElement('div');
- el.innerHTML = html;
- return this._append(el, scheme, win, args);
- };
- UIElement.prototype._append = function(el, scheme, win, args) {
- if ( el instanceof Element ) {
- GUI.Scheme.parseNode(scheme, win, el, null, args);
- }
- while ( el.childNodes.length ) {
- this.$element.appendChild(el.childNodes[0]);
- }
- el = null;
- return this;
- };
- UIElement.prototype.querySelector = function(q, rui) {
- var el = this.$element.querySelector(q);
- if ( rui ) {
- return GUI.Scheme.getElementInstance(el, q);
- }
- return el;
- };
- UIElement.prototype.querySelectorAll = function(q, rui) {
- var el = this.$element.querySelectorAll(q);
- if ( rui ) {
- el = el.map(function(i) {
- return GUI.Scheme.getElementInstance(i, q);
- });
- }
- return el;
- };
- UIElement.prototype.css = function(k, v) {
- return Utils.$css(this.$element, k, v);
- };
- UIElement.prototype.position = function() {
- return Utils.$position(this.$element);
- };
- UIElement.prototype._call = function(method, args) {
- if ( GUI.Elements[this.tagName] && GUI.Elements[this.tagName].call ) {
- var cargs = ([this.$element, method, args]);//.concat(args);
- return GUI.Elements[this.tagName].call.apply(this, cargs);
- }
- return null;//this;
- };
- function UIElementDataView() {
- UIElement.apply(this, arguments);
- }
- UIElementDataView.prototype = Object.create(UIElement.prototype);
- UIElementDataView.constructor = UIElement;
- UIElementDataView.prototype.clear = function() {
- return this._call('clear', []);
- };
- UIElementDataView.prototype.add = function(props) {
- return this._call('add', [props]);
- };
- UIElementDataView.prototype.patch = function(props) {
- return this._call('patch', [props]);
- };
- UIElementDataView.prototype.remove = function(id, key) {
- return this._call('remove', [id, key]);
- };
- GUI.Element = Object.seal(UIElement);
- GUI.ElementDataView = Object.seal(UIElementDataView);
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- var _classMap = { // Defaults to (foo-bar)-entry
- 'gui-list-view': 'gui-list-view-row'
- };
- function getEntryTagName(type) {
- if ( typeof type !== 'string' ) {
- type = type.tagName.toLowerCase();
- }
- var className = _classMap[type];
- if ( !className ) {
- className = type + '-entry';
- }
- return className;
- }
- function getEntryFromEvent(ev) {
- var t = ev.isTrusted ? ev.target : (ev.relatedTarget || ev.target);
- var tn = t.tagName.toLowerCase();
- if ( tn.match(/(view|textarea|body)$/) ) {
- return null;
- } else if ( tn === 'gui-list-view-column' ) {
- return t.parentNode;
- }
- return t;
- }
- function handleItemSelection(ev, item, idx, className, selected, root, multipleSelect) {
- root = root || item.parentNode;
- if ( idx === -1 ) {
- root.querySelectorAll(getEntryTagName(root)).forEach(function(e) {
- Utils.$removeClass(e, 'gui-active');
- });
- selected = [];
- } else {
- if ( !multipleSelect || !ev.shiftKey ) {
- root.querySelectorAll(className).forEach(function(i) {
- Utils.$removeClass(i, 'gui-active');
- });
- selected = [];
- }
- var findex = selected.indexOf(idx);
- if ( findex >= 0 ) {
- selected.splice(findex, 1);
- Utils.$removeClass(item, 'gui-active');
- } else {
- selected.push(idx);
- Utils.$addClass(item, 'gui-active');
- }
- }
- selected.sort(function(a, b) {
- return a - b;
- });
- return selected;
- }
- function getSelected(el) {
- return GUI.Elements[el.tagName.toLowerCase()].values(el);
- }
- function handleKeyPress(el, ev) {
- var map = {};
- var key = ev.keyCode;
- var type = el.tagName.toLowerCase();
- var className = getEntryTagName(type);
- var root = el.querySelector(type + '-body');
- var entries = root.querySelectorAll(className);
- var count = entries.length;
- if ( !count ) {
- return;
- }
- if ( key === Utils.Keys.ENTER ) {
- el.dispatchEvent(new CustomEvent('_activate', {detail: {entries: getSelected(el)}}));
- return;
- }
- map[Utils.Keys.C] = function(ev) {
- if ( ev.ctrlKey ) {
- var selected = getSelected(el);
- if ( selected && selected.length ) {
- var data = [];
- selected.forEach(function(s) {
- if ( s && s.data ) {
- data.push(new VFS.File(s.data.path, s.data.mime));
- }
- });
- API.setClipboard(data);
- }
- }
- };
- var selected = el._selected.concat() || [];
- var first = selected.length ? selected[0] : 0;
- var last = selected.length > 1 ? selected[selected.length - 1] : first;
- var current = 0;
- function select() {
- var item = entries[current];
- if ( item ) {
- el._selected = handleItemSelection(ev, item, current, className, selected, root, ev.shiftKey);
- GUI.Elements._dataview.scrollIntoView(el, item);
- }
- }
- function getRowSize() {
- var d = 0;
- var lastTop = -1;
- entries.forEach(function(e) {
- if ( lastTop === -1 ) {
- lastTop = e.offsetTop;
- }
- if ( lastTop !== e.offsetTop ) {
- return false;
- }
- lastTop = e.offsetTop;
- d++;
- return true;
- });
- return d;
- }
- function handleKey() {
- function next() {
- current = Math.min(last + 1, count);
- select();
- }
- function prev() {
- current = Math.max(0, first - 1);
- select();
- }
- if ( type === 'gui-tree-view' || type === 'gui-list-view' ) {
- map[Utils.Keys.UP] = prev;
- map[Utils.Keys.DOWN] = next;
- } else {
- map[Utils.Keys.UP] = function() {
- current = Math.max(0, first - getRowSize());
- select();
- };
- map[Utils.Keys.DOWN] = function() {
- current = Math.max(last, last + getRowSize());
- select();
- };
- map[Utils.Keys.LEFT] = prev;
- map[Utils.Keys.RIGHT] = next;
- }
- if ( map[key] ) {
- map[key](ev);
- }
- }
- handleKey();
- }
- function getValueParameter(r) {
- var value = r.getAttribute('data-value');
- try {
- return JSON.parse(value);
- } catch ( e ) {}
- return value;
- }
- function matchValueByKey(r, val, key, idx) {
- var value = r.getAttribute('data-value');
- if ( !key && (val === idx || val === value) ) {
- return r;
- } else {
- try {
- var json = JSON.parse(value);
- if ( typeof json[key] === 'object' ? json[key] === val : String(json[key]) === String(val) ) {
- return r;
- }
- } catch ( e ) {}
- }
- return false;
- }
- GUI.Elements._dataview = {
- clear: function(el, body) {
- body = body || el;
- el.querySelectorAll(getEntryTagName(el)).forEach(function(row) {
- Utils.$unbind(row);
- });
- Utils.$empty(body);
- body.scrollTop = 0;
- el._selected = [];
- },
- add: function(el, args, oncreate) {
- var entries = args[0];
- if ( !(entries instanceof Array) ) {
- entries = [entries];
- }
- entries.forEach(oncreate);
- return this;
- },
- patch: function(el, args, className, body, oncreate, oninit) {
- var self = this;
- var entries = args[0];
- var single = false;
- if ( !(entries instanceof Array) ) {
- entries = [entries];
- single = true;
- }
- var inView = {};
- body.querySelectorAll(className).forEach(function(row) {
- var id = row.getAttribute('data-id');
- if ( id !== null ) {
- inView[id] = row;
- }
- });
- entries.forEach(function(entry) {
- var insertBefore;
- if ( typeof entry.id !== 'undefined' && entry.id !== null ) {
- if ( inView[entry.id] ) {
- insertBefore = inView[entry.id];
- delete inView[entry.id];
- }
- var row = oncreate(entry);
- if ( row ) {
- if ( insertBefore ) {
- if ( Utils.$hasClass(insertBefore, 'gui-active') ) {
- Utils.$addClass(row, 'gui-active');
- }
- body.insertBefore(row, insertBefore);
- self.remove(el, null, className, insertBefore);
- } else {
- body.appendChild(row);
- }
- oninit(el, row);
- }
- }
- });
- if ( !single ) {
- Object.keys(inView).forEach(function(k) {
- self.remove(el, null, className, inView[k]);
- });
- }
- inView = {};
- this.updateActiveSelection(el, className);
- return this;
- },
- remove: function(el, args, className, target, parentEl) {
- function remove(cel) {
- Utils.$remove(cel);
- }
- parentEl = parentEl || el;
- if ( target ) {
- remove(target);
- return;
- }
- if ( typeof args[1] === 'undefined' && typeof args[0] === 'number' ) {
- remove(parentEl.querySelectorAll(className)[args[0]]);
- } else {
- var findId = args[0];
- var findKey = args[1] || 'id';
- var q = 'data-' + findKey + '="' + findId + '"';
- parentEl.querySelectorAll(className + '[' + q + ']').forEach(remove);
- }
- this.updateActiveSelection(el, className);
- return this;
- },
- updateActiveSelection: function(el, className) {
- var active = [];
- el.querySelectorAll(className + '.gui-active').forEach(function(cel) {
- active.push(Utils.$index(cel));
- });
- el._active = active;
- },
- scrollIntoView: function(el, element) {
- var pos = Utils.$position(element, el);
- var marginTop = 0;
- if ( el.tagName.toLowerCase() === 'gui-list-view' ) {
- var header = el.querySelector('gui-list-view-head');
- if ( header ) {
- marginTop = header.offsetHeight;
- }
- }
- var scrollSpace = (el.scrollTop + el.offsetHeight) - marginTop;
- var scrollTop = el.scrollTop + marginTop;
- var elTop = pos.top - marginTop;
- if ( pos !== null && (elTop > scrollSpace || elTop < scrollTop) ) {
- el.scrollTop = elTop;
- return true;
- }
- return false;
- },
- bindEntryEvents: function(el, row, className) {
- function createDraggable() {
- var value = row.getAttribute('data-value');
- if ( value !== null ) {
- try {
- value = JSON.parse(value);
- } catch ( e ) {}
- }
- var source = row.getAttribute('data-draggable-source');
- if ( source === null ) {
- source = GUI.Helpers.getWindowId(el);
- if ( source !== null ) {
- source = {wid: source};
- }
- }
- GUI.Helpers.createDraggable(row, {
- type : el.getAttribute('data-draggable-type') || row.getAttribute('data-draggable-type'),
- source : source,
- data : value
- });
- var tooltip = row.getAttribute('data-tooltip');
- if ( tooltip && !row.getAttribute('title') ) {
- row.setAttribute('title', tooltip);
- }
- }
- el.dispatchEvent(new CustomEvent('_render', {detail: {
- element: row,
- data: GUI.Helpers.getViewNodeValue(row)
- }}));
- if ( el.getAttribute('data-draggable') === 'true' ) {
- createDraggable();
- }
- },
- getSelected: function(el, entries) {
- var selected = [];
- entries.forEach(function(iter, idx) {
- if ( Utils.$hasClass(iter, 'gui-active') ) {
- selected.push({
- index: idx,
- data: GUI.Helpers.getViewNodeValue(iter)
- });
- }
- });
- return selected;
- },
- getEntry: function(el, entries, val, key, asValue) {
- if ( val ) {
- var result = null;
- entries.forEach(function(r, idx) {
- if ( !result && matchValueByKey(r, val, key, idx) ) {
- result = r;
- }
- });
- return (asValue && result) ? getValueParameter(result) : result;
- }
- return !asValue ? entries : (entries || []).map(function(iter) {
- return getValueParameter(iter);
- });
- },
- setSelected: function(el, body, entries, val, key, opts) {
- var self = this;
- var select = [];
- var scrollIntoView = false;
- if ( typeof opts === 'object' ) {
- scrollIntoView = opts.scroll === true;
- }
- function sel(r, idx) {
- select.push(idx);
- Utils.$addClass(r, 'gui-active');
- if ( scrollIntoView ) {
- self.scrollIntoView(el, r);
- }
- }
- entries.forEach(function(r, idx) {
- Utils.$removeClass(r, 'gui-active');
- if ( matchValueByKey(r, val, key, idx) ) {
- sel(r, idx);
- }
- });
- el._selected = select;
- },
- build: function(el, applyArgs) {
- el._selected = [];
- el.scrollTop = 0;
- Utils.$addClass(el, 'gui-data-view');
- var singleClick = el.getAttribute('data-single-click') === 'true';
- var multipleSelect = el.getAttribute('data-multiple');
- multipleSelect = multipleSelect === null || multipleSelect === 'true';
- function select(ev) {
- ev.stopPropagation();
- API.blurMenu();
- var row = getEntryFromEvent(ev);
- var className = row ? row.tagName.toLowerCase() : null;
- if ( className === 'gui-tree-view-expander' ) {
- OSjs.GUI.Elements[el.tagName.toLowerCase()].call(el, 'expand', {ev: ev, entry: row.parentNode});
- return;
- }
- var idx = Utils.$index(row);
- el._selected = handleItemSelection(ev, row, idx, className, el._selected, el, multipleSelect);
- el.dispatchEvent(new CustomEvent('_select', {detail: {entries: getSelected(el)}}));
- }
- function activate(ev) {
- ev.stopPropagation();
- API.blurMenu();
- if ( singleClick ) {
- select(ev);
- }
- el.dispatchEvent(new CustomEvent('_activate', {detail: {entries: getSelected(el)}}));
- }
- function context(ev) {
- select(ev);
- el.dispatchEvent(new CustomEvent('_contextmenu', {detail: {entries: getSelected(el), x: ev.clientX, y: ev.clientY}}));
- }
- if ( !el.querySelector('textarea.gui-focus-element') && !el.getAttribute('no-selection') ) {
- var underlay = document.createElement('textarea');
- underlay.setAttribute('aria-label', '');
- underlay.setAttribute('aria-hidden', 'true');
- underlay.setAttribute('readonly', 'true');
- underlay.className = 'gui-focus-element';
- Utils.$bind(underlay, 'focus', function(ev) {
- ev.preventDefault();
- Utils.$addClass(el, 'gui-element-focused');
- });
- Utils.$bind(underlay, 'blur', function(ev) {
- ev.preventDefault();
- Utils.$removeClass(el, 'gui-element-focused');
- });
- Utils.$bind(underlay, 'keydown', function(ev) {
- ev.preventDefault();
- handleKeyPress(el, ev);
- });
- Utils.$bind(underlay, 'keypress', function(ev) {
- ev.preventDefault();
- });
- if ( singleClick ) {
- Utils.$bind(el, 'click', activate, true);
- } else {
- Utils.$bind(el, 'click', select, true);
- Utils.$bind(el, 'dblclick', activate, true);
- }
- Utils.$bind(el, 'contextmenu', function(ev) {
- ev.preventDefault();
- context(ev);
- return false;
- }, true);
- this.bind(el, 'select', function(ev) {
- if ( Utils.$hasClass(el, 'gui-element-focused') ) {
- return;
- }
- var oldTop = el.scrollTop;
- underlay.focus();
- el.scrollTop = oldTop;
- setTimeout(function() {
- el.scrollTop = oldTop;
- }, 2);
- }, true);
- el.appendChild(underlay);
- }
- },
- focus: function(el) {
- try {
- var underlay = el.querySelector('.gui-focus-element');
- underlay.focus();
- } catch ( e ) {
- console.warn(e, e.stack);
- }
- },
- blur: function(el) {
- try {
- var underlay = el.querySelector('.gui-focus-element');
- underlay.blur();
- } catch ( e ) {
- console.warn(e, e.stack);
- }
- },
- bind: function(el, evName, callback, params) {
- if ( (['activate', 'select', 'expand', 'contextmenu', 'render', 'drop']).indexOf(evName) !== -1 ) {
- evName = '_' + evName;
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- GUI.Elements['gui-color-box'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('div');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- set: function(el, param, value) {
- if ( param === 'value' ) {
- el.firstChild.style.backgroundColor = value;
- return true;
- }
- return false;
- },
- build: function(el) {
- var inner = document.createElement('div');
- el.appendChild(inner);
- }
- };
- GUI.Elements['gui-color-swatch'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('canvas');
- if ( evName === 'select' || evName === 'change' ) {
- evName = '_change';
- }
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var cv = document.createElement('canvas');
- cv.width = 100;
- cv.height = 100;
- var ctx = cv.getContext('2d');
- var gradient = ctx.createLinearGradient(0, 0, ctx.canvas.width, 0);
- function getColor(ev) {
- var pos = OSjs.Utils.$position(cv);
- var cx = typeof ev.offsetX === 'undefined' ? (ev.clientX - pos.left) : ev.offsetX;
- var cy = typeof ev.offsetY === 'undefined' ? (ev.clientY - pos.top) : ev.offsetY;
- if ( isNaN(cx) || isNaN(cy) ) {
- return null;
- }
- var data = ctx.getImageData(cx, cy, 1, 1).data;
- return {
- r: data[0],
- g: data[1],
- b: data[2],
- hex: Utils.convertToHEX(data[0], data[1], data[2])
- };
- }
- gradient.addColorStop(0, 'rgb(255, 0, 0)');
- gradient.addColorStop(0.15, 'rgb(255, 0, 255)');
- gradient.addColorStop(0.33, 'rgb(0, 0, 255)');
- gradient.addColorStop(0.49, 'rgb(0, 255, 255)');
- gradient.addColorStop(0.67, 'rgb(0, 255, 0)');
- gradient.addColorStop(0.84, 'rgb(255, 255, 0)');
- gradient.addColorStop(1, 'rgb(255, 0, 0)');
- ctx.fillStyle = gradient;
- ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
- gradient = ctx.createLinearGradient(0, 0, 0, ctx.canvas.height);
- gradient.addColorStop(0, 'rgba(255, 255, 255, 1)');
- gradient.addColorStop(0.5, 'rgba(255, 255, 255, 0)');
- gradient.addColorStop(0.5, 'rgba(0, 0, 0, 0)');
- gradient.addColorStop(1, 'rgba(0, 0, 0, 1)');
- ctx.fillStyle = gradient;
- ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
- Utils.$bind(cv, 'click', function(ev) {
- var c = getColor(ev);
- if ( c ) {
- cv.dispatchEvent(new CustomEvent('_change', {detail: c}));
- }
- }, false);
- el.appendChild(cv);
- }
- };
- GUI.Elements['gui-iframe'] = (function() {
- var tagName = 'iframe';
- if ( (['nw', 'electron', 'x11']).indexOf(API.getConfig('Connection.Type')) >= 0 ) {
- tagName = 'webview';
- }
- return {
- set: function(el, key, val) {
- if ( key === 'src' ) {
- el.querySelector(tagName).src = val;
- }
- },
- build: function(el) {
- var src = el.getAttribute('data-src') || 'about:blank';
- var iframe = document.createElement(tagName);
- iframe.src = src;
- iframe.setAttribute('border', 0);
- el.appendChild(iframe);
- }
- };
- })();
- GUI.Elements['gui-progress-bar'] = {
- set: function(el, param, value) {
- el.setAttribute('data-' + param, value);
- if ( param === 'progress' || param === 'value' ) {
- value = parseInt(value, 10);
- value = Math.max(0, Math.min(100, value));
- el.setAttribute('aria-label', String(value));
- el.setAttribute('aria-valuenow', String(value));
- el.querySelector('div').style.width = value.toString() + '%';
- el.querySelector('span').innerHTML = value + '%';
- return true;
- }
- return false;
- },
- build: function(el) {
- var p = (el.getAttribute('data-progress') || 0);
- p = Math.max(0, Math.min(100, p));
- var percentage = p.toString() + '%';
- var progress = document.createElement('div');
- progress.style.width = percentage;
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(percentage));
- el.setAttribute('role', 'progressbar');
- el.setAttribute('aria-valuemin', 0);
- el.setAttribute('aria-valuemax', 100);
- el.setAttribute('aria-label', 0);
- el.setAttribute('aria-valuenow', 0);
- el.appendChild(progress);
- el.appendChild(span);
- }
- };
- GUI.Elements['gui-statusbar'] = {
- set: function(el, param, value) {
- if ( param === 'label' || param === 'value' ) {
- var span = el.getElementsByTagName('gui-statusbar-label')[0];
- if ( span ) {
- Utils.$empty(span);
- span.innerHTML = value;
- }
- return true;
- }
- return false;
- },
- build: function(el) {
- var span = document.createElement('gui-statusbar-label');
- var lbl = el.getAttribute('data-label') || el.getAttribute('data-value');
- if ( !lbl ) {
- lbl = (function() {
- var textNodes = [];
- var node, value;
- for ( var i = 0; i < el.childNodes.length; i++ ) {
- node = el.childNodes[i];
- if ( node.nodeType === Node.TEXT_NODE ) {
- value = node.nodeValue.replace(/\s+/g, '').replace(/^\s+/g, '');
- if ( value.length > 0 ) {
- textNodes.push(value);
- }
- el.removeChild(node);
- i++;
- }
- }
- return textNodes.join(' ');
- })();
- }
- span.innerHTML = lbl;
- el.setAttribute('role', 'log');
- el.appendChild(span);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- var lastMenu;
- function blurMenu(ev) {
- if ( lastMenu ) {
- lastMenu(ev);
- }
- lastMenu = null;
- API.triggerHook('onBlurMenu');
- }
- function bindIngores(el) {
- Utils.$bind(el, 'touchstart', function(ev) {
- ev.preventDefault();
- }, true);
- }
- function clickWrapper(ev, pos, onclick, original) {
- var t = ev.isTrusted ? ev.target : (ev.relatedTarget || ev.target);
- ev.preventDefault();
- if ( t && t.tagName === 'GUI-MENU-ENTRY' ) {
- var isExpander = !!t.querySelector('gui-menu');
- var hasInput = t.querySelector('input');
- if ( hasInput || isExpander ) {
- ev.stopPropagation();
- }
- onclick(ev, pos, t, original);
- }
- }
- function onEntryClick(ev, pos, target, original) {
- var isExpander = !!target.querySelector('gui-menu');
- if ( !isExpander ) {
- blurMenu(ev);
- var hasInput = target.querySelector('input');
- if ( hasInput ) {
- if ( !Utils.isIE() && window.MouseEvent ) {
- hasInput.dispatchEvent(new MouseEvent('click', {
- clientX: pos.x,
- clientY: pos.y
- }));
- } else {
- var nev = document.createEvent('MouseEvent');
- nev.initMouseEvent('click', true, true, window, 0, 0, 0, pos.x, pos.y, ev.ctrlKey, ev.altKey, ev.shiftKey, ev.metaKey, ev.button, hasInput);
- }
- }
- var dispatcher = (original || target).querySelector('label');
- dispatcher.dispatchEvent(new CustomEvent('_select', {detail: getSelectionEventAttribs(target, true)}));
- }
- }
- function clampSubmenuPositions(r) {
- function _clamp(rm) {
- rm.querySelectorAll('gui-menu-entry').forEach(function(srm) {
- var sm = srm.querySelector('gui-menu');
- if ( sm ) {
- sm.style.left = String(-parseInt(sm.offsetWidth, 10)) + 'px';
- _clamp(sm);
- }
- });
- }
- var pos = Utils.$position(r);
- if ( pos && (window.innerWidth - pos.right) < r.offsetWidth ) {
- Utils.$addClass(r, 'gui-overflowing');
- _clamp(r);
- }
- Utils.$addClass(r, 'gui-showing');
- }
- function runChildren(pel, level, winRef, cb) {
- level = level || 0;
- cb = cb || function() {};
- (pel.children || []).forEach(function(child, i) {
- if ( child && child.tagName.toLowerCase() === 'gui-menu-entry') {
- GUI.Elements['gui-menu-entry'].build(child, null, winRef);
- cb(child, level);
- }
- });
- }
- function getSelectionEventAttribs(mel, didx) {
- var id = mel.getAttribute('data-id');
- var idx = Utils.$index(mel)
- if ( !didx ) {
- idx = parseInt(mel.getAttribute('data-index'), 10);
- }
- var result = {index: idx, id: id};
- Array.prototype.slice.call(mel.attributes).forEach(function(item) {
- if ( item.name.match(/^data\-/) ) {
- var an = item.name.replace(/^data\-/, '');
- if ( typeof result[an] === 'undefined' ) {
- result[an] = item.value;
- }
- }
- });
- return result;
- }
- GUI.Elements['gui-menu-entry'] = (function() {
- function createTyped(child, par) {
- var type = child.getAttribute('data-type');
- var value = child.getAttribute('data-checked') === 'true';
- var input = null;
- if ( type ) {
- var group = child.getAttribute('data-group');
- input = document.createElement('input');
- input.type = type;
- input.name = group ? group + '[]' : '';
- if ( value ) {
- input.setAttribute('checked', 'checked');
- }
- par.setAttribute('role', 'menuitem' + type);
- par.appendChild(input);
- }
- }
- return {
- bind: function(el, evName, callback, params) {
- if ( evName === 'select' ) {
- evName = '_select';
- }
- var target = el.querySelector('gui-menu-entry > label');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(child, arg, winRef) {
- if ( arguments.length < 3 ) {
- return;
- }
- child.setAttribute('role', 'menuitem' + (child.getAttribute('data-type') || ''));
- var label = GUI.Helpers.getLabel(child);
- var icon = GUI.Helpers.getIcon(child, winRef);
- child.setAttribute('aria-label', label);
- var span = document.createElement('label');
- if ( icon ) {
- child.style.backgroundImage = 'url(' + icon + ')';
- Utils.$addClass(span, 'gui-has-image');
- }
- child.appendChild(span);
- createTyped(child, span);
- if ( child.getAttribute('data-labelhtml') === 'true' ) {
- span.innerHTML = label;
- } else {
- span.appendChild(document.createTextNode(label));
- }
- if ( child.querySelector('gui-menu') ) {
- Utils.$addClass(child, 'gui-menu-expand');
- child.setAttribute('aria-haspopup', 'true');
- } else {
- child.setAttribute('aria-haspopup', 'false');
- }
- }
- };
- })();
- GUI.Elements['gui-menu'] = {
- bind: function(el, evName, callback, params) {
- if ( evName === 'select' ) {
- evName = '_select';
- }
- el.querySelectorAll('gui-menu-entry > label').forEach(function(target) {
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- });
- },
- show: function(ev) {
- ev.stopPropagation();
- ev.preventDefault();
- var newNode = this.$element.cloneNode(true);
- var el = this.$element;
- OSjs.GUI.Helpers.createMenu(null, ev, newNode);
- Utils.$bind(newNode, 'click', function(ev, pos) {
- clickWrapper(ev, pos, onEntryClick, el);
- }, true);
- },
- set: function(el, param, value, arg) {
- if ( param === 'checked' ) {
- var found = el.querySelector('gui-menu-entry[data-id="' + value + '"]');
- if ( found ) {
- var input = found.querySelector('input');
- if ( input ) {
- if ( arg ) {
- input.setAttribute('checked', 'checked');
- } else {
- input.removeAttribute('checked');
- }
- }
- }
- return true;
- }
- return false;
- },
- build: function(el, customMenu, winRef) {
- el.setAttribute('role', 'menu');
- runChildren(el, 0, winRef, function(child, level) {
- if ( customMenu ) {
- if ( child ) {
- child.getElementsByTagName('gui-menu').forEach(function(sub) {
- if ( sub ) {
- runChildren(sub, level + 1, winRef);
- }
- });
- }
- }
- });
- if ( !customMenu ) {
- Utils.$bind(el, 'click', function(ev, pos) {
- clickWrapper(ev, pos, onEntryClick);
- }, true);
- }
- }
- };
- GUI.Elements['gui-menu-bar'] = {
- bind: function(el, evName, callback, params) {
- if ( evName === 'select' ) {
- evName = '_select';
- }
- el.querySelectorAll('gui-menu-bar-entry').forEach(function(target) {
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- });
- },
- build: function(el) {
- el.setAttribute('role', 'menubar');
- function updateChildren(sm, level) {
- if ( sm && sm.children ) {
- var children = sm.children;
- var child;
- for ( var i = 0; i < children.length; i++ ) {
- child = children[i];
- if ( child.tagName === 'GUI-MENU-ENTRY' ) {
- child.setAttribute('aria-haspopup', String(!!child.firstChild));
- updateChildren(child.firstChild, level + 1);
- }
- }
- }
- }
- function _onClick(ev, mel) {
- blurMenu();
- ev.preventDefault();
- ev.stopPropagation();
- var submenu = mel.querySelector('gui-menu');
- mel.querySelectorAll('gui-menu-entry').forEach(function(c) {
- Utils.$removeClass(c, 'gui-hover');
- });
- if ( submenu ) {
- lastMenu = function(ev) {
- if ( ev ) {
- ev.stopPropagation();
- }
- Utils.$removeClass(mel, 'gui-active');
- };
- }
- if ( Utils.$hasClass(mel, 'gui-active') ) {
- if ( submenu ) {
- Utils.$removeClass(mel, 'gui-active');
- }
- } else {
- if ( submenu ) {
- Utils.$addClass(mel, 'gui-active');
- }
- mel.dispatchEvent(new CustomEvent('_select', {detail: getSelectionEventAttribs(mel)}));
- }
- }
- el.querySelectorAll('gui-menu-bar-entry').forEach(function(mel, idx) {
- var label = GUI.Helpers.getLabel(mel);
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(label));
- mel.setAttribute('role', 'menuitem');
- mel.insertBefore(span, mel.firstChild);
- var submenu = mel.querySelector('gui-menu');
- clampSubmenuPositions(submenu);
- mel.setAttribute('aria-haspopup', String(!!submenu));
- mel.setAttribute('data-index', String(idx));
- updateChildren(submenu, 2);
- });
- Utils.$bind(el, 'click', function(ev) {
- var t = ev.isTrusted ? ev.target : (ev.relatedTarget || ev.target);
- if ( t && t.tagName === 'GUI-MENU-BAR-ENTRY' ) {
- _onClick(ev, t);
- }
- }, true);
- bindIngores(el);
- }
- };
- OSjs.GUI.Helpers.blurMenu = blurMenu;
- OSjs.GUI.Helpers.createMenu = function(items, ev, customInstance) {
- items = items || [];
- blurMenu();
- var root = customInstance;
- var callbackMap = [];
- function resolveItems(arr, par) {
- arr.forEach(function(iter) {
- var props = {label: iter.title, icon: iter.icon, disabled: iter.disabled, labelHTML: iter.titleHTML, type: iter.type, checked: iter.checked};
- var entry = GUI.Helpers.createElement('gui-menu-entry', props);
- if ( iter.menu ) {
- var nroot = GUI.Helpers.createElement('gui-menu', {});
- resolveItems(iter.menu, nroot);
- entry.appendChild(nroot);
- }
- if ( iter.onClick ) {
- var index = callbackMap.push(iter.onClick);
- entry.setAttribute('data-callback-id', String(index - 1));
- }
- par.appendChild(entry);
- });
- }
- if ( !root ) {
- root = GUI.Helpers.createElement('gui-menu', {});
- resolveItems(items || [], root);
- GUI.Elements['gui-menu'].build(root, true);
- Utils.$bind(root, 'click', function(ev, pos) {
- clickWrapper(ev, pos, function(ev, pos, t) {
- var index = parseInt(t.getAttribute('data-callback-id'), 10);
- if ( callbackMap[index] ) {
- callbackMap[index](ev, pos);
- blurMenu(ev); // !last!
- }
- });
- }, true);
- bindIngores(root);
- }
- if ( root.$element ) {
- root = root.$element;
- }
- var wm = OSjs.Core.getWindowManager();
- var space = wm.getWindowSpace(true);
- var pos = Utils.mousePosition(ev);
- Utils.$addClass(root, 'gui-root-menu');
- root.style.left = pos.x + 'px';
- root.style.top = pos.y + 'px';
- document.body.appendChild(root);
- setTimeout(function() {
- var pos = Utils.$position(root);
- if ( pos ) {
- if ( pos.right > space.width ) {
- var newLeft = Math.round(space.width - pos.width);
- root.style.left = Math.max(0, newLeft) + 'px';
- }
- if ( pos.bottom > space.height ) {
- var newTop = Math.round(space.height - pos.height);
- root.style.top = Math.max(0, newTop) + 'px';
- }
- }
- clampSubmenuPositions(root);
- }, 1);
- lastMenu = function() {
- callbackMap = null;
- if ( root ) {
- root.querySelectorAll('gui-menu-entry').forEach(function(el) {
- Utils.$unbind(el);
- });
- Utils.$unbind(root);
- }
- root = Utils.$remove(root);
- };
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function toggleActive(el, eidx, idx) {
- Utils.$removeClass(el, 'gui-active');
- if ( eidx === idx ) {
- Utils.$addClass(el, 'gui-active');
- }
- }
- GUI.Elements['gui-tabs'] = {
- bind: function(el, evName, callback, params) {
- if ( (['select', 'activate']).indexOf(evName) !== -1 ) {
- evName = 'change';
- }
- if ( evName === 'change' ) {
- evName = '_' + evName;
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- get: function(el, param, value) {
- if ( param === 'current' || param === 'selected' ) {
- var cur = el.querySelector('ul > li[class="gui-active"]');
- return Utils.$index(cur);
- }
- return GUI.Helpers.getProperty(el, param);
- },
- build: function(el) {
- var tabs = document.createElement('ul');
- var lastTab;
- function selectTab(ev, idx, tab) {
- if ( lastTab ) {
- Utils.$removeClass(lastTab, 'gui-active');
- }
- tabs.querySelectorAll('li').forEach(function(tel, eidx) {
- toggleActive(tel, eidx, idx);
- });
- el.querySelectorAll('gui-tab-container').forEach(function(tel, eidx) {
- toggleActive(tel, eidx, idx);
- });
- lastTab = tab;
- Utils.$addClass(tab, 'gui-active');
- el.dispatchEvent(new CustomEvent('_change', {detail: {index: idx}}));
- }
- el.querySelectorAll('gui-tab-container').forEach(function(tel, idx) {
- var tab = document.createElement('li');
- var label = GUI.Helpers.getLabel(tel);
- Utils.$bind(tab, 'click', function(ev) {
- selectTab(ev, idx, tab);
- }, false);
- tab.setAttribute('role', 'tab');
- tab.setAttribute('aria-label', label);
- tel.setAttribute('role', 'tabpanel');
- tab.appendChild(document.createTextNode(label));
- tabs.appendChild(tab);
- });
- tabs.setAttribute('role', 'tablist');
- el.setAttribute('role', 'navigation');
- if ( el.children.length ) {
- el.insertBefore(tabs, el.children[0]);
- } else {
- el.appendChild(tabs);
- }
- var currentTab = parseInt(el.getAttribute('data-selected-index'), 10) || 0;
- selectTab(null, currentTab);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- var _buttonCount = 0;
- function createInputOfType(el, type) {
- var group = el.getAttribute('data-group');
- var placeholder = el.getAttribute('data-placeholder');
- var disabled = String(el.getAttribute('data-disabled')) === 'true';
- var value = el.childNodes.length ? el.childNodes[0].nodeValue : null;
- Utils.$empty(el);
- var input = document.createElement(type === 'textarea' ? 'textarea' : 'input');
- var attribs = {
- value: null,
- type: type,
- tabindex: -1,
- placeholder: placeholder,
- disabled: disabled ? 'disabled' : null,
- name: group ? group + '[]' : null
- };
- (['autocomplete', 'autocorrect', 'autocapitalize', 'spellcheck']).forEach(function(a) {
- attribs[a] = el.getAttribute('data-' + a) || 'false';
- });
- function _bindDefaults() {
- if ( ['range', 'slider'].indexOf(type) >= 0 ) {
- attribs.min = el.getAttribute('data-min');
- attribs.max = el.getAttribute('data-max');
- attribs.step = el.getAttribute('data-step');
- } else if ( ['radio', 'checkbox'].indexOf(type) >= 0 ) {
- if ( el.getAttribute('data-value') === 'true' ) {
- attribs.checked = 'checked';
- }
- } else if ( ['text', 'password', 'textarea'].indexOf(type) >= 0 ) {
- attribs.value = value || '';
- }
- Object.keys(attribs).forEach(function(a) {
- if ( attribs[a] !== null ) {
- if ( a === 'value' ) {
- input.value = attribs[a];
- } else {
- input.setAttribute(a, attribs[a]);
- }
- }
- });
- }
- function _bindEvents() {
- if ( type === 'text' || type === 'password' || type === 'textarea' ) {
- Utils.$bind(input, 'keydown', function(ev) {
- if ( ev.keyCode === Utils.Keys.ENTER ) {
- input.dispatchEvent(new CustomEvent('_enter', {detail: input.value}));
- } else if ( ev.keyCode === Utils.Keys.C && ev.ctrlKey ) {
- API.setClipboard(input.value);
- }
- if ( type === 'textarea' && ev.keyCode === Utils.Keys.TAB ) {
- ev.preventDefault();
- input.value += '\t';
- }
- }, false);
- }
- }
- function _create() {
- _bindDefaults();
- _bindEvents();
- GUI.Helpers.createInputLabel(el, type, input);
- var rolemap = {
- 'TEXTAREA': function() {
- return 'textbox';
- },
- 'INPUT': function(i) {
- var typemap = {
- 'range': 'slider',
- 'text': 'textbox',
- 'password': 'textbox'
- };
- return typemap[i.type] || i.type;
- }
- };
- if ( rolemap[el.tagName] ) {
- input.setAttribute('role', rolemap[el.tagName](input));
- }
- input.setAttribute('aria-label', el.getAttribute('title') || '');
- el.setAttribute('role', 'region');
- el.setAttribute('aria-disabled', String(disabled));
- Utils.$bind(input, 'change', function(ev) {
- var value = input.value;
- if ( type === 'radio' || type === 'checkbox' ) {
- value = input.checked; //input.value === 'on';
- }
- input.dispatchEvent(new CustomEvent('_change', {detail: value}));
- }, false);
- }
- _create();
- }
- function bindInputEvents(el, evName, callback, params) {
- if ( evName === 'enter' ) {
- evName = '_enter';
- } else if ( evName === 'change' ) {
- evName = '_change';
- }
- var target = el.querySelector('textarea, input, select');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- }
- function addToSelectBox(el, entries) {
- var target = el.querySelector('select');
- if ( !(entries instanceof Array) ) {
- entries = [entries];
- }
- entries.forEach(function(e) {
- var opt = document.createElement('option');
- opt.setAttribute('role', 'option');
- opt.setAttribute('value', e.value);
- opt.appendChild(document.createTextNode(e.label));
- target.appendChild(opt);
- });
- }
- function removeFromSelectBox(el, what) {
- var target = el.querySelector('select');
- target.querySelectorAll('option').forEach(function(opt) {
- if ( String(opt.value) === String(what) ) {
- Utils.$remove(opt);
- return false;
- }
- return true;
- });
- }
- function callSelectBox(el, method, args) {
- if ( method === 'add' ) {
- addToSelectBox(el, args[0]);
- } else if ( method === 'remove' ) {
- removeFromSelectBox(el, args[0]);
- } else if ( method === 'clear' ) {
- var target = el.querySelector('select');
- Utils.$empty(target);
- }
- }
- function createSelectInput(el, multiple) {
- var disabled = el.getAttribute('data-disabled') !== null;
- var selected = el.getAttribute('data-selected');
- var select = document.createElement('select');
- if ( multiple ) {
- select.setAttribute('size', el.getAttribute('data-size') || 2);
- multiple = el.getAttribute('data-multiple') === 'true';
- }
- if ( multiple ) {
- select.setAttribute('multiple', 'multiple');
- }
- if ( disabled ) {
- select.setAttribute('disabled', 'disabled');
- }
- if ( selected !== null ) {
- select.selectedIndex = selected;
- }
- el.querySelectorAll('gui-select-option').forEach(function(sel) {
- var value = sel.getAttribute('data-value') || '';
- var label = sel.childNodes.length ? sel.childNodes[0].nodeValue : '';
- var option = document.createElement('option');
- option.setAttribute('role', 'option');
- option.setAttribute('value', value);
- option.appendChild(document.createTextNode(label));
- if ( sel.getAttribute('selected') ) {
- option.setAttribute('selected', 'selected');
- }
- select.appendChild(option);
- sel.parentNode.removeChild(sel);
- });
- Utils.$bind(select, 'change', function(ev) {
- select.dispatchEvent(new CustomEvent('_change', {detail: select.value}));
- }, false);
- select.setAttribute('role', 'listbox');
- select.setAttribute('aria-label', el.getAttribute('title') || '');
- el.setAttribute('aria-disabled', String(disabled));
- el.setAttribute('role', 'region');
- el.appendChild(select);
- }
- function setSwitchValue(val, input, button) {
- if ( val !== true ) {
- input.removeAttribute('checked');
- Utils.$removeClass(button, 'gui-active');
- button.innerHTML = '0';
- } else {
- input.setAttribute('checked', 'checked');
- Utils.$addClass(button, 'gui-active');
- button.innerHTML = '1';
- }
- }
- var guiSelect = {
- bind: bindInputEvents,
- call: function() {
- callSelectBox.apply(this, arguments);
- return this;
- },
- build: function(el) {
- var multiple = (el.tagName.toLowerCase() === 'gui-select-list');
- createSelectInput(el, multiple);
- }
- };
- GUI.Elements['gui-label'] = {
- set: function(el, param, value, isHTML) {
- if ( param === 'value' || param === 'label' ) {
- el.setAttribute('data-label', String(value));
- var lbl = el.querySelector('label');
- Utils.$empty(lbl);
- if ( isHTML ) {
- lbl.innerHTML = value;
- } else {
- lbl.appendChild(document.createTextNode(value));
- }
- return true;
- }
- return false;
- },
- build: function(el) {
- var label = GUI.Helpers.getValueLabel(el, true);
- var lbl = document.createElement('label');
- lbl.appendChild(document.createTextNode(label));
- el.setAttribute('role', 'heading');
- el.setAttribute('data-label', String(label));
- el.appendChild(lbl);
- }
- };
- GUI.Elements['gui-textarea'] = {
- bind: bindInputEvents,
- build: function(el) {
- createInputOfType(el, 'textarea');
- },
- set: function(el, param, value) {
- if ( el && param === 'scrollTop' ) {
- if ( typeof value !== 'number' ) {
- value = el.firstChild.scrollHeight;
- }
- el.firstChild.scrollTop = value;
- return true;
- }
- return false;
- }
- };
- GUI.Elements['gui-text'] = {
- bind: bindInputEvents,
- build: function(el) {
- createInputOfType(el, 'text');
- }
- };
- GUI.Elements['gui-password'] = {
- bind: bindInputEvents,
- build: function(el) {
- createInputOfType(el, 'password');
- }
- };
- GUI.Elements['gui-file-upload'] = {
- bind: bindInputEvents,
- build: function(el) {
- var input = document.createElement('input');
- input.setAttribute('role', 'button');
- input.setAttribute('type', 'file');
- input.onchange = function(ev) {
- input.dispatchEvent(new CustomEvent('_change', {detail: input.files[0]}));
- };
- el.appendChild(input);
- }
- };
- GUI.Elements['gui-radio'] = {
- bind: bindInputEvents,
- build: function(el) {
- createInputOfType(el, 'radio');
- }
- };
- GUI.Elements['gui-checkbox'] = {
- bind: bindInputEvents,
- build: function(el) {
- createInputOfType(el, 'checkbox');
- }
- };
- GUI.Elements['gui-switch'] = {
- bind: bindInputEvents,
- set: function(el, param, value) {
- if ( param === 'value' ) {
- var input = el.querySelector('input');
- var button = el.querySelector('button');
- setSwitchValue(value, input, button);
- return true;
- }
- return false;
- },
- build: function(el) {
- var input = document.createElement('input');
- input.type = 'checkbox';
- el.appendChild(input);
- var inner = document.createElement('div');
- var button = document.createElement('button');
- inner.appendChild(button);
- GUI.Helpers.createInputLabel(el, 'switch', inner);
- function toggleValue(v) {
- var val = false;
- if ( typeof v === 'undefined' ) {
- val = !!input.checked;
- val = !val;
- } else {
- val = v;
- }
- setSwitchValue(val, input, button);
- }
- Utils.$bind(inner, 'click', function(ev) {
- ev.preventDefault();
- var disabled = el.getAttribute('data-disabled') !== null;
- if ( !disabled ) {
- toggleValue();
- }
- }, false);
- toggleValue(false);
- }
- };
- GUI.Elements['gui-button'] = {
- set: function(el, param, value, isHTML) {
- if ( param === 'value' || param === 'label' ) {
- var lbl = el.querySelector('button');
- Utils.$empty(lbl);
- if ( isHTML ) {
- lbl.innerHTML = value;
- } else {
- lbl.appendChild(document.createTextNode(value));
- }
- lbl.setAttribute('aria-label', value);
- return true;
- }
- return false;
- },
- create: function(params) {
- var label = params.label;
- if ( params.label ) {
- delete params.label;
- }
- var el = GUI.Helpers.createElement('gui-button', params);
- if ( label ) {
- el.appendChild(document.createTextNode(label));
- }
- return el;
- },
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('button');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var icon = el.getAttribute('data-icon');
- var disabled = el.getAttribute('data-disabled') !== null;
- var group = el.getAttribute('data-group');
- var label = GUI.Helpers.getValueLabel(el);
- var input = document.createElement('button');
- function setGroup(g) {
- if ( g ) {
- input.setAttribute('name', g + '[' + _buttonCount + ']');
- Utils.$bind(input, 'click', function() {
- var root = el;
- while ( root.parentNode ) {
- if ( root.tagName.toLowerCase() === 'application-window-content' ) {
- break;
- }
- root = root.parentNode;
- }
- Utils.$addClass(input, 'gui-active');
- root.querySelectorAll('gui-button[data-group="' + g + '"] > button').forEach(function(b) {
- if ( b.name === input.name ) {
- return;
- }
- Utils.$removeClass(b, 'gui-active');
- });
- });
- }
- }
- function setImage() {
- if ( icon && icon !== 'null' ) {
- var img = document.createElement('img');
- img.src = icon;
- img.alt = el.getAttribute('data-tooltip') || '';
- img.title = el.getAttribute('data-tooltip') || '';
- if ( input.firstChild ) {
- input.insertBefore(img, input.firstChild);
- } else {
- input.appendChild(img);
- }
- Utils.$addClass(el, 'gui-has-image');
- }
- }
- function setLabel() {
- if ( label ) {
- Utils.$addClass(el, 'gui-has-label');
- }
- input.appendChild(document.createTextNode(label));
- input.setAttribute('aria-label', label);
- }
- if ( disabled ) {
- input.setAttribute('disabled', 'disabled');
- }
- setLabel();
- setImage();
- setGroup(group);
- _buttonCount++;
- el.setAttribute('role', 'navigation');
- el.appendChild(input);
- }
- };
- GUI.Elements['gui-select'] = guiSelect;
- GUI.Elements['gui-select-list'] = guiSelect;
- GUI.Elements['gui-slider'] = {
- bind: bindInputEvents,
- get: function(el, param) {
- var val = GUI.Helpers.getProperty(el, param);
- if ( param === 'value' ) {
- return parseInt(val, 10);
- }
- return val;
- },
- build: function(el) {
- createInputOfType(el, 'range');
- }
- };
- GUI.Elements['gui-input-modal'] = {
- bind: function(el, evName, callback, params) {
- if ( evName === 'open' ) {
- evName = '_open';
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- get: function(el, param) {
- if ( param === 'value' ) {
- var input = el.querySelector('input');
- return input.value;
- }
- return false;
- },
- set: function(el, param, value) {
- if ( param === 'value' ) {
- var input = el.querySelector('input');
- input.removeAttribute('disabled');
- input.value = value;
- input.setAttribute('disabled', 'disabled');
- input.setAttribute('aria-disabled', 'true');
- return true;
- }
- return false;
- },
- build: function(el) {
- var container = document.createElement('div');
- var input = document.createElement('input');
- input.type = 'text';
- input.setAttribute('disabled', 'disabled');
- var button = document.createElement('button');
- button.innerHTML = '...';
- Utils.$bind(button, 'click', function(ev) {
- el.dispatchEvent(new CustomEvent('_open', {detail: input.value}));
- }, false);
- container.appendChild(input);
- container.appendChild(button);
- el.appendChild(container);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function createVisualElement(el, nodeType, applyArgs) {
- applyArgs = applyArgs || {};
- if ( typeof applyArgs !== 'object' ) {
- console.error('Derp', 'applyArgs was not an object ?!');
- applyArgs = {};
- }
- var img = document.createElement(nodeType);
- var src = el.getAttribute('data-src');
- var controls = el.getAttribute('data-controls');
- if ( controls ) {
- img.setAttribute('controls', 'controls');
- }
- var autoplay = el.getAttribute('data-autoplay');
- if ( autoplay ) {
- img.setAttribute('autoplay', 'autoplay');
- }
- Object.keys(applyArgs).forEach(function(k) {
- var val = applyArgs[k];
- if ( typeof val === 'function' ) {
- k = k.replace(/^on/, '');
- if ( (nodeType === 'video' || nodeType === 'audio') && k === 'load' ) {
- k = 'loadedmetadata';
- }
- Utils.$bind(img, k, val.bind(img), false);
- } else {
- if ( typeof applyArgs[k] === 'boolean' ) {
- val = val ? 'true' : 'false';
- }
- img.setAttribute(k, val);
- }
- });
- img.src = src || 'about:blank';
- el.appendChild(img);
- }
- GUI.Elements['gui-audio'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('audio');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el, applyArgs) {
- createVisualElement(el, 'audio', applyArgs);
- }
- };
- GUI.Elements['gui-video'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('video');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el, applyArgs) {
- createVisualElement(el, 'video', applyArgs);
- }
- };
- GUI.Elements['gui-image'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('img');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el, applyArgs) {
- createVisualElement(el, 'img', applyArgs);
- }
- };
- GUI.Elements['gui-canvas'] = {
- bind: function(el, evName, callback, params) {
- var target = el.querySelector('canvas');
- Utils.$bind(target, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var canvas = document.createElement('canvas');
- el.appendChild(canvas);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- var _iconSizes = { // Defaults to 16x16
- 'gui-icon-view': '32x32'
- };
- function getChildView(el) {
- return el.children[0];
- }
- function getFileIcon(iter, size) {
- if ( iter.icon && typeof iter.icon === 'object' ) {
- return API.getIcon(iter.icon.filename, size, iter.icon.application);
- }
- var icon = 'status/gtk-dialog-question.png';
- return API.getFileIcon(iter, size, icon);
- }
- function getFileSize(iter) {
- var filesize = '';
- if ( iter.type !== 'dir' && iter.size >= 0 ) {
- filesize = Utils.humanFileSize(iter.size);
- }
- return filesize;
- }
- var removeExtension = (function() {
- var mimeConfig;
- return function(str, opts) {
- if ( !mimeConfig ) {
- mimeConfig = API.getConfig('MIME.mapping');
- }
- if ( opts.extensions === false ) {
- var ext = Utils.filext(str);
- if ( ext ) {
- ext = '.' + ext;
- if ( mimeConfig[ext] ) {
- str = str.substr(0, str.length - ext.length);
- }
- }
- }
- return str;
- };
- })();
- function getDateFromStamp(stamp) {
- if ( typeof stamp === 'string' ) {
- var date = null;
- try {
- date = new Date(stamp);
- } catch ( e ) {}
- if ( date ) {
- return OSjs.Helpers.Date.format(date);
- }
- }
- return stamp;
- }
- function getListViewColumns(iter, opts) {
- opts = opts || {};
- var columnMapping = {
- filename: {
- label: 'LBL_FILENAME',
- icon: function() {
- return getFileIcon(iter);
- },
- value: function() {
- return removeExtension(iter.filename, opts);
- }
- },
- mime: {
- label: 'LBL_MIME',
- size: '100px',
- icon: function() {
- return null;
- },
- value: function() {
- return iter.mime;
- }
- },
- mtime: {
- label: 'LBL_MODIFIED',
- size: '160px',
- icon: function() {
- return null;
- },
- value: function() {
- return getDateFromStamp(iter.mtime);
- }
- },
- ctime: {
- label: 'LBL_CREATED',
- size: '160px',
- icon: function() {
- return null;
- },
- value: function() {
- return getDateFromStamp(iter.ctime);
- }
- },
- size: {
- label: 'LBL_SIZE',
- size: '120px',
- icon: function() {
- return null;
- },
- value: function() {
- return getFileSize(iter);
- }
- }
- };
- var defColumns = ['filename', 'mime', 'size'];
- var useColumns = defColumns;
- if ( !opts.defaultcolumns ) {
- var vfsOptions = Utils.cloneObject(OSjs.Core.getSettingsManager().get('VFS') || {});
- var scandirOptions = vfsOptions.scandir || {};
- useColumns = scandirOptions.columns || defColumns;
- }
- var columns = [];
- useColumns.forEach(function(key, idx) {
- var map = columnMapping[key];
- if ( iter ) {
- columns.push({
- label: map.value(),
- icon: map.icon(),
- textalign: idx === 0 ? 'left' : 'right'
- });
- } else {
- columns.push({
- label: API._(map.label),
- size: map.size || '',
- resizable: idx > 0,
- textalign: idx === 0 ? 'left' : 'right'
- });
- }
- });
- return columns;
- }
- function buildChildView(el) {
- var type = el.getAttribute('data-type') || 'list-view';
- if ( !type.match(/^gui\-/) ) {
- type = 'gui-' + type;
- }
- var nel = new GUI.ElementDataView(GUI.Helpers.createElement(type, {'draggable': true, 'draggable-type': 'file'}));
- GUI.Elements[type].build(nel.$element);
- nel.on('select', function(ev) {
- el.dispatchEvent(new CustomEvent('_select', {detail: ev.detail}));
- });
- nel.on('activate', function(ev) {
- el.dispatchEvent(new CustomEvent('_activate', {detail: ev.detail}));
- });
- nel.on('contextmenu', function(ev) {
- if ( !el.hasAttribute('data-has-contextmenu') || el.hasAttribute('data-has-contextmenu') === 'false' ) {
- new GUI.Element(el).fn('contextmenu', [ev]);
- }
- el.dispatchEvent(new CustomEvent('_contextmenu', {detail: ev.detail}));
- });
- if ( type === 'gui-tree-view' ) {
- nel.on('expand', function(ev) {
- el.dispatchEvent(new CustomEvent('_expand', {detail: ev.detail}));
- });
- }
- el.setAttribute('role', 'region');
- el.appendChild(nel.$element);
- }
- function scandir(tagName, dir, opts, cb, oncreate) {
- var file = new VFS.File(dir);
- file.type = 'dir';
- var scanopts = {
- backlink: opts.backlink,
- showDotFiles: opts.dotfiles === true,
- showFileExtensions: opts.extensions === true,
- mimeFilter: opts.filter || [],
- typeFilter: opts.filetype || null
- };
- try {
- VFS.scandir(file, function(error, result) {
- if ( error ) {
- cb(error); return;
- }
- var list = [];
- var summary = {size: 0, directories: 0, files: 0, hidden: 0};
- function isHidden(iter) {
- return (iter.filename || '').substr(0) === '.';
- }
- (result || []).forEach(function(iter) {
- list.push(oncreate(iter));
- summary.size += iter.size || 0;
- summary.directories += iter.type === 'dir' ? 1 : 0;
- summary.files += iter.type !== 'dir' ? 1 : 0;
- summary.hidden += isHidden(iter) ? 1 : 0;
- });
- cb(false, list, summary);
- }, scanopts);
- } catch ( e ) {
- cb(e);
- }
- }
- function readdir(el, dir, done, sopts) {
- sopts = sopts || {};
- var vfsOptions = Utils.cloneObject(OSjs.Core.getSettingsManager().get('VFS') || {});
- var scandirOptions = vfsOptions.scandir || {};
- var target = getChildView(el);
- var tagName = target.tagName.toLowerCase();
- el.setAttribute('data-path', dir);
- var opts = {filter: null, backlink: sopts.backlink};
- function setOption(s, d, c, cc) {
- if ( el.hasAttribute(s) ) {
- opts[d] = c(el.getAttribute(s));
- } else {
- opts[d] = (cc || function() {})();
- }
- }
- setOption('data-dotfiles', 'dotfiles', function(val) {
- return val === 'true';
- }, function() {
- return scandirOptions.showHiddenFiles === true;
- });
- setOption('data-extensions', 'extensions', function(val) {
- return val === 'true';
- }, function() {
- return scandirOptions.showFileExtensions === true;
- });
- setOption('data-filetype', 'filetype', function(val) {
- return val;
- });
- setOption('data-defaultcolumns', 'defaultcolumns', function(val) {
- return val === 'true';
- });
- try {
- opts.filter = JSON.parse(el.getAttribute('data-filter'));
- } catch ( e ) {
- }
- scandir(tagName, dir, opts, function(error, result, summary) {
- if ( tagName === 'gui-list-view' ) {
- GUI.Elements[tagName].set(target, 'zebra', true);
- GUI.Elements[tagName].set(target, 'columns', getListViewColumns(null, opts));
- }
- done(error, result, summary);
- }, function(iter) {
- var tooltip = Utils.format('{0}\n{1}\n{2} {3}', iter.type.toUpperCase(), iter.filename, getFileSize(iter), iter.mime || '');
- function _createEntry() {
- var row = {
- value: iter,
- id: iter.id || removeExtension(iter.filename, opts),
- label: iter.filename,
- tooltip: tooltip,
- icon: getFileIcon(iter, _iconSizes[tagName] || '16x16')
- };
- if ( tagName === 'gui-tree-view' && iter.type === 'dir' ) {
- if ( iter.filename !== '..' ) {
- row.entries = [{
- label: 'Loading...'
- }];
- }
- }
- return row;
- }
- if ( tagName !== 'gui-list-view' ) {
- return _createEntry();
- }
- return {
- value: iter,
- id: iter.id || iter.filename,
- tooltip: tooltip,
- columns: getListViewColumns(iter, opts)
- };
- });
- }
- GUI.Elements['gui-file-view'] = {
- bind: function(el, evName, callback, params) {
- if ( (['activate', 'select', 'contextmenu']).indexOf(evName) !== -1 ) {
- evName = '_' + evName;
- }
- if ( evName === '_contextmenu' ) {
- el.setAttribute('data-has-contextmenu', 'true');
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- set: function(el, param, value, arg, arg2) {
- if ( param === 'type' ) {
- var firstChild = el.children[0];
- if ( firstChild && firstChild.tagName.toLowerCase() === value ) {
- return true;
- }
- Utils.$empty(el);
- el.setAttribute('data-type', value);
- Utils.$bind(el, '_expand', function(ev) {
- var target = ev.detail.element;
- if ( target.getAttribute('data-was-rendered') ) {
- return;
- }
- if ( ev.detail.expanded ) {
- var view = new GUI.ElementDataView(getChildView(el));
- var entry = ev.detail.entries[0].data;
- target.setAttribute('data-was-rendered', String(true));
- readdir(el, entry.path, function(error, result, summary) {
- if ( !error ) {
- target.querySelectorAll('gui-tree-view-entry').forEach(function(e) {
- Utils.$remove(e);
- view.add({
- entries: result,
- parentNode: target
- });
- });
- }
- }, {backlink: false});
- }
- });
- buildChildView(el);
- if ( typeof arg === 'undefined' || arg === true ) {
- GUI.Elements['gui-file-view'].call(el, 'chdir', {
- path: el.getAttribute('data-path')
- });
- }
- return true;
- } else if ( (['filter', 'dotfiles', 'filetype', 'extensions', 'defaultcolumns']).indexOf(param) >= 0 ) {
- GUI.Helpers.setProperty(el, param, value);
- return true;
- }
- var target = getChildView(el);
- if ( target ) {
- var tagName = target.tagName.toLowerCase();
- GUI.Elements[tagName].set(target, param, value, arg, arg2);
- return true;
- }
- return false;
- },
- build: function(el) {
- buildChildView(el);
- },
- values: function(el) {
- var target = getChildView(el);
- if ( target ) {
- var tagName = target.tagName.toLowerCase();
- return GUI.Elements[tagName].values(target);
- }
- return null;
- },
- contextmenu: function(ev) {
- var vfsOptions = OSjs.Core.getSettingsManager().instance('VFS');
- var scandirOptions = (vfsOptions.get('scandir') || {});
- function setOption(opt, toggle) {
- var opts = {scandir: {}};
- opts.scandir[opt] = toggle;
- vfsOptions.set(null, opts, true);
- }
- API.createMenu([
- {
- title: API._('LBL_SHOW_HIDDENFILES'),
- type: 'checkbox',
- checked: scandirOptions.showHiddenFiles === true,
- onClick: function() {
- setOption('showHiddenFiles', !scandirOptions.showHiddenFiles);
- }
- },
- {
- title: API._('LBL_SHOW_FILEEXTENSIONS'),
- type: 'checkbox',
- checked: scandirOptions.showFileExtensions === true,
- onClick: function() {
- setOption('showFileExtensions', !scandirOptions.showFileExtensions);
- }
- }
- ], ev);
- },
- call: function(el, method, args) {
- args = args || {};
- args.done = args.done || function() {};
- var target = getChildView(el);
- if ( target ) {
- var tagName = target.tagName.toLowerCase();
- if ( method === 'chdir' ) {
- var t = new GUI.ElementDataView(target);
- var dir = args.path || OSjs.API.getDefaultPath();
- clearTimeout(el._readdirTimeout);
- el._readdirTimeout = setTimeout(function() {
- readdir(el, dir, function(error, result, summary) {
- if ( error ) {
- API.error(API._('ERR_VFSMODULE_XHR_ERROR'), API._('ERR_VFSMODULE_SCANDIR_FMT', dir), error);
- } else {
- t.clear();
- t.add(result);
- }
- args.done(error, summary);
- });
- el._readdirTimeout = clearTimeout(el._readdirTimeout);
- }, 50); // Prevent exessive calls
- return;
- }
- GUI.Elements[tagName].call(target, method, args);
- }
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function createEntry(e) {
- var entry = GUI.Helpers.createElement('gui-tree-view-entry', e, ['entries']);
- return entry;
- }
- function handleItemExpand(ev, el, root, expanded) {
- if ( typeof expanded === 'undefined' ) {
- expanded = !Utils.$hasClass(root, 'gui-expanded');
- }
- Utils.$removeClass(root, 'gui-expanded');
- if ( expanded ) {
- Utils.$addClass(root, 'gui-expanded');
- }
- var children = root.children;
- for ( var i = 0; i < children.length; i++ ) {
- if ( children[i].tagName.toLowerCase() === 'gui-tree-view-entry' ) {
- children[i].style.display = expanded ? 'block' : 'none';
- }
- }
- var selected = {
- index: Utils.$index(root),
- data: GUI.Helpers.getViewNodeValue(root)
- };
- root.setAttribute('data-expanded', String(expanded));
- root.setAttribute('aria-expanded', String(expanded));
- el.dispatchEvent(new CustomEvent('_expand', {detail: {entries: [selected], expanded: expanded, element: root}}));
- } // handleItemExpand()
- function initEntry(el, sel) {
- if ( sel._rendered ) {
- return;
- }
- sel._rendered = true;
- var icon = sel.getAttribute('data-icon');
- var label = GUI.Helpers.getLabel(sel);
- var expanded = el.getAttribute('data-expanded') === 'true';
- var next = sel.querySelector('gui-tree-view-entry');
- var container = document.createElement('div');
- var dspan = document.createElement('span');
- function onDndEnter(ev) {
- ev.stopPropagation();
- Utils.$addClass(sel, 'dnd-over');
- }
- function onDndLeave(ev) {
- Utils.$removeClass(sel, 'dnd-over');
- }
- if ( icon ) {
- dspan.style.backgroundImage = 'url(' + icon + ')';
- Utils.$addClass(dspan, 'gui-has-image');
- }
- dspan.appendChild(document.createTextNode(label));
- container.appendChild(dspan);
- if ( next ) {
- Utils.$addClass(sel, 'gui-expandable');
- var expander = document.createElement('gui-tree-view-expander');
- sel.insertBefore(container, next);
- sel.insertBefore(expander, container);
- } else {
- sel.appendChild(container);
- }
- if ( String(sel.getAttribute('data-draggable')) === 'true' ) {
- GUI.Helpers.createDraggable(container, (function() {
- var data = {};
- try {
- data = JSON.parse(sel.getAttribute('data-value'));
- } catch ( e ) {}
- return {data: data};
- })());
- }
- if ( String(sel.getAttribute('data-droppable')) === 'true' ) {
- var timeout;
- GUI.Helpers.createDroppable(container, {
- onEnter: onDndEnter,
- onOver: onDndEnter,
- onLeave: onDndLeave,
- onDrop: onDndLeave,
- onItemDropped: function(ev, eel, item) {
- ev.stopPropagation();
- ev.preventDefault();
- timeout = clearTimeout(timeout);
- timeout = setTimeout(function() {
- Utils.$removeClass(sel, 'dnd-over');
- }, 10);
- var dval = {};
- try {
- dval = JSON.parse(eel.parentNode.getAttribute('data-value'));
- } catch ( e ) {}
- el.dispatchEvent(new CustomEvent('_drop', {detail: {
- src: item.data,
- dest: dval
- }}));
- }
- });
- }
- handleItemExpand(null, el, sel, expanded);
- GUI.Elements._dataview.bindEntryEvents(el, sel, 'gui-tree-view-entry');
- }
- GUI.Elements['gui-tree-view'] = {
- bind: GUI.Elements._dataview.bind,
- values: function(el) {
- return GUI.Elements._dataview.getSelected(el, el.querySelectorAll('gui-tree-view-entry'));
- },
- build: function(el, applyArgs) {
- var body = el.querySelector('gui-tree-view-body');
- var found = !!body;
- if ( !body ) {
- body = document.createElement('gui-tree-view-body');
- el.appendChild(body);
- }
- body.setAttribute('role', 'group');
- el.setAttribute('role', 'tree');
- el.setAttribute('aria-multiselectable', body.getAttribute('data-multiselect') || 'false');
- el.querySelectorAll('gui-tree-view-entry').forEach(function(sel, idx) {
- sel.setAttribute('aria-expanded', 'false');
- if ( !found ) {
- body.appendChild(sel);
- }
- sel.setAttribute('role', 'treeitem');
- initEntry(el, sel);
- });
- GUI.Elements._dataview.build(el, applyArgs);
- },
- get: function(el, param, value, arg) {
- if ( param === 'entry' ) {
- var body = el.querySelector('gui-tree-view-body');
- return GUI.Elements._dataview.getEntry(el, body.querySelectorAll('gui-tree-view-entry'), value, arg);
- }
- return GUI.Helpers.getProperty(el, param);
- },
- set: function(el, param, value, arg, arg2) {
- var body = el.querySelector('gui-tree-view-body');
- if ( param === 'selected' || param === 'value' ) {
- GUI.Elements._dataview.setSelected(el, body, body.querySelectorAll('gui-tree-view-entry'), value, arg, arg2);
- return true;
- }
- return false;
- },
- call: function(el, method, args) {
- var body = el.querySelector('gui-tree-view-body');
- function recurse(a, root, level) {
- GUI.Elements._dataview.add(el, a, function(e) {
- if ( e ) {
- if ( e.parentNode ) {
- delete e.parentNode;
- }
- var entry = createEntry(e);
- root.appendChild(entry);
- if ( e.entries ) {
- recurse([e.entries], entry, level + 1);
- }
- initEntry(el, entry);
- }
- });
- }
- function add() {
- var parentNode = body;
- var entries = args;
- if ( typeof args[0] === 'object' && !(args[0] instanceof Array) && Object.keys(args[0]).length ) {
- entries = [args[0].entries || []];
- parentNode = args[0].parentNode || body;
- }
- recurse(entries, parentNode, 0);
- }
- if ( method === 'add' ) {
- add();
- } else if ( method === 'remove' ) {
- GUI.Elements._dataview.remove(el, args, 'gui-tree-view-entry');
- } else if ( method === 'clear' ) {
- GUI.Elements._dataview.clear(el, body);
- } else if ( method === 'patch' ) {
- GUI.Elements._dataview.patch(el, args, 'gui-tree-view-entry', body, createEntry, initEntry);
- } else if ( method === 'focus' ) {
- GUI.Elements._dataview.focus(el);
- } else if ( method === 'expand' ) {
- handleItemExpand(args.ev, el, args.entry);
- }
- return this;
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function createFakeHeader(el) {
- function createResizers() {
- var fhead = el.querySelector('gui-list-view-fake-head');
- var head = el.querySelector('gui-list-view-head');
- var fcols = fhead.querySelectorAll('gui-list-view-column');
- var cols = head.querySelectorAll('gui-list-view-column');
- fhead.querySelectorAll('gui-list-view-column-resizer').forEach(function(rel) {
- Utils.$remove(rel);
- });
- cols.forEach(function(col, idx) {
- var attr = col.getAttribute('data-resizable');
- if ( attr === 'true' ) {
- var fcol = fcols[idx];
- var resizer = document.createElement('gui-list-view-column-resizer');
- fcol.appendChild(resizer);
- var startWidth = 0;
- var maxWidth = 0;
- var widthOffset = 16;
- var minWidth = widthOffset;
- var tmpEl = null;
- GUI.Helpers.createDrag(resizer, function(ev) {
- startWidth = col.offsetWidth;
- minWidth = widthOffset;//calculateWidth();
- maxWidth = el.offsetWidth - (el.children.length * widthOffset);
- }, function(ev, diff) {
- var newWidth = startWidth - diff.x;
- if ( !isNaN(newWidth) && newWidth > minWidth && newWidth < maxWidth ) {
- col.style.width = String(newWidth) + 'px';
- fcol.style.width = String(newWidth) + 'px';
- }
- tmpEl = Utils.$remove(tmpEl);
- });
- }
- });
- }
- var fh = el.querySelector('gui-list-view-fake-head gui-list-view-head');
- Utils.$empty(fh);
- var row = el.querySelector('gui-list-view-head gui-list-view-row');
- if ( row ) {
- fh.appendChild(row.cloneNode(true));
- createResizers();
- }
- }
- function initRow(el, row) {
- row.querySelectorAll('gui-list-view-column').forEach(function(cel, idx) {
- var icon = cel.getAttribute('data-icon');
- if ( icon && icon !== 'null' ) {
- Utils.$addClass(cel, 'gui-has-image');
- cel.style.backgroundImage = 'url(' + icon + ')';
- }
- var text = cel.firstChild;
- if ( text && text.nodeType === 3 ) {
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(text.nodeValue));
- cel.insertBefore(span, text);
- cel.removeChild(text);
- }
- if ( el._columns[idx] && !el._columns[idx].visible ) {
- cel.style.display = 'none';
- }
- cel.setAttribute('role', 'listitem');
- });
- GUI.Elements._dataview.bindEntryEvents(el, row, 'gui-list-view-row');
- }
- function createEntry(v, head) {
- var label = v.label || '';
- if ( v.label ) {
- delete v.label;
- }
- var setSize = null;
- if ( v.size ) {
- setSize = v.size;
- delete v.size;
- }
- var nel = GUI.Helpers.createElement('gui-list-view-column', v);
- if ( setSize ) {
- nel.style.width = setSize;
- }
- if ( typeof label === 'function' ) {
- nel.appendChild(label.call(nel, nel, v));
- } else {
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(label));
- nel.appendChild(span);
- }
- return nel;
- }
- function createRow(e) {
- e = e || {};
- if ( e.columns ) {
- var row = GUI.Helpers.createElement('gui-list-view-row', e, ['columns']);
- e.columns.forEach(function(se) {
- row.appendChild(createEntry(se));
- });
- return row;
- }
- return null;
- }
- GUI.Elements['gui-list-view'] = {
- bind: GUI.Elements._dataview.bind,
- values: function(el) {
- var body = el.querySelector('gui-list-view-body');
- return GUI.Elements._dataview.getSelected(el, body.querySelectorAll('gui-list-view-row'));
- },
- get: function(el, param, value, arg, asValue) {
- if ( param === 'entry' ) {
- var body = el.querySelector('gui-list-view-body');
- var rows = body.querySelectorAll('gui-list-view-row');
- return GUI.Elements._dataview.getEntry(el, rows, value, arg, asValue);
- }
- return GUI.Helpers.getProperty(el, param);
- },
- set: function(el, param, value, arg, arg2) {
- if ( param === 'columns' ) {
- var head = el.querySelector('gui-list-view-head');
- var row = document.createElement('gui-list-view-row');
- Utils.$empty(head);
- el._columns = [];
- value.forEach(function(v) {
- v.visible = (typeof v.visible === 'undefined') || v.visible === true;
- var nel = createEntry(v, true);
- el._columns.push(v);
- if ( !v.visible ) {
- nel.style.display = 'none';
- }
- row.appendChild(nel);
- });
- head.appendChild(row);
- createFakeHeader(el);
- return true;
- } else if ( param === 'selected' || param === 'value' ) {
- var body = el.querySelector('gui-list-view-body');
- GUI.Elements._dataview.setSelected(el, body, body.querySelectorAll('gui-list-view-row'), value, arg, arg2);
- return true;
- }
- return false;
- },
- call: function(el, method, args) {
- var body = el.querySelector('gui-list-view-body');
- if ( method === 'add' ) {
- GUI.Elements._dataview.add(el, args, function(e) {
- var cbCreated = e.onCreated || function() {};
- var row = createRow(e);
- if ( row ) {
- body.appendChild(row);
- initRow(el, row);
- }
- cbCreated(row);
- });
- } else if ( method === 'remove' ) {
- GUI.Elements._dataview.remove(el, args, 'gui-list-view-row', null, body);
- } else if ( method === 'clear' ) {
- GUI.Elements._dataview.clear(el, el.querySelector('gui-list-view-body'));
- } else if ( method === 'patch' ) {
- GUI.Elements._dataview.patch(el, args, 'gui-list-view-row', body, createRow, initRow);
- } else if ( method === 'focus' ) {
- GUI.Elements._dataview.focus(el);
- }
- return this;
- },
- build: function(el, applyArgs) {
- el._columns = [];
- var inner = el.querySelector('gui-list-view-inner');
- var head = el.querySelector('gui-list-view-head');
- var body = el.querySelector('gui-list-view-body');
- function moveIntoInner(cel) {
- if ( cel.parentNode.tagName !== 'GUI-LIST-VIEW-INNER' ) {
- inner.appendChild(cel);
- }
- }
- var fakeHead = el.querySelector('gui-list-view-fake-head');
- if ( !fakeHead ) {
- fakeHead = document.createElement('gui-list-view-fake-head');
- var fakeHeadInner = document.createElement('gui-list-view-inner');
- fakeHeadInner.appendChild(document.createElement('gui-list-view-head'));
- fakeHead.appendChild(fakeHeadInner);
- }
- if ( !inner ) {
- inner = document.createElement('gui-list-view-inner');
- el.appendChild(inner);
- }
- (function _createBody() {
- if ( body ) {
- moveIntoInner(body);
- } else {
- body = document.createElement('gui-list-view-body');
- inner.appendChild(body);
- }
- body.setAttribute('role', 'group');
- })();
- (function _createHead() {
- if ( head ) {
- moveIntoInner(head);
- } else {
- head = document.createElement('gui-list-view-head');
- inner.insertBefore(head, body);
- }
- head.setAttribute('role', 'group');
- })();
- el.setAttribute('role', 'list');
- el.appendChild(fakeHead);
- Utils.$bind(el, 'scroll', function(ev) {
- fakeHead.style.top = el.scrollTop + 'px';
- }, false);
- var hcols = el.querySelectorAll('gui-list-view-head gui-list-view-column');
- hcols.forEach(function(cel, idx) {
- var vis = cel.getAttribute('data-visible');
- var iter = {
- visible: vis === null || vis === 'true',
- size: cel.getAttribute('data-size')
- };
- if ( iter.size ) {
- cel.style.width = iter.size;
- }
- el._columns.push(iter);
- if ( !iter.visible ) {
- cel.style.display = 'none';
- }
- });
- createFakeHeader(el);
- el.querySelectorAll('gui-list-view-body gui-list-view-row').forEach(function(row) {
- initRow(el, row);
- });
- GUI.Elements._dataview.build(el, applyArgs);
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function createEntry(e) {
- var entry = GUI.Helpers.createElement('gui-icon-view-entry', e);
- return entry;
- }
- function initEntry(el, cel) {
- var icon = cel.getAttribute('data-icon');
- var label = GUI.Helpers.getLabel(cel);
- var dicon = document.createElement('div');
- var dimg = document.createElement('img');
- dimg.src = icon;
- dicon.appendChild(dimg);
- var dlabel = document.createElement('div');
- var dspan = document.createElement('span');
- dspan.appendChild(document.createTextNode(label));
- dlabel.appendChild(dspan);
- GUI.Elements._dataview.bindEntryEvents(el, cel, 'gui-icon-view-entry');
- cel.setAttribute('role', 'listitem');
- cel.appendChild(dicon);
- cel.appendChild(dlabel);
- }
- GUI.Elements['gui-icon-view'] = {
- bind: GUI.Elements._dataview.bind,
- values: function(el) {
- return GUI.Elements._dataview.getSelected(el, el.querySelectorAll('gui-icon-view-entry'));
- },
- build: function(el, applyArgs) {
- var body = el.querySelector('gui-icon-view-body');
- var found = !!body;
- if ( !body ) {
- body = document.createElement('gui-icon-view-body');
- el.appendChild(body);
- }
- el.querySelectorAll('gui-icon-view-entry').forEach(function(cel, idx) {
- if ( !found ) {
- body.appendChild(cel);
- }
- initEntry(el, cel);
- });
- el.setAttribute('role', 'list');
- GUI.Elements._dataview.build(el, applyArgs);
- },
- get: function(el, param, value, arg, asValue) {
- if ( param === 'entry' ) {
- var body = el.querySelector('gui-icon-view-body');
- var rows = body.querySelectorAll('gui-icon-view-entry');
- return GUI.Elements._dataview.getEntry(el, rows, value, arg, asValue);
- }
- return GUI.Helpers.getProperty(el, param);
- },
- set: function(el, param, value, arg) {
- var body = el.querySelector('gui-icon-view-body');
- if ( param === 'selected' || param === 'value' ) {
- GUI.Elements._dataview.setSelected(el, body, body.querySelectorAll('gui-icon-view-entry'), value, arg);
- return true;
- }
- return false;
- },
- call: function(el, method, args) {
- var body = el.querySelector('gui-icon-view-body');
- if ( method === 'add' ) {
- GUI.Elements._dataview.add(el, args, function(e) {
- var entry = createEntry(e);
- body.appendChild(entry);
- initEntry(el, entry);
- });
- } else if ( method === 'remove' ) {
- GUI.Elements._dataview.remove(el, args, 'gui-icon-view-entry');
- } else if ( method === 'clear' ) {
- GUI.Elements._dataview.clear(el, body);
- } else if ( method === 'patch' ) {
- GUI.Elements._dataview.patch(el, args, 'gui-icon-view-entry', body, createEntry, initEntry);
- } else if ( method === 'focus' ) {
- GUI.Elements._dataview.focus(el);
- }
- return this;
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- function getDocument(el, iframe) {
- iframe = iframe || el.querySelector('iframe');
- return iframe.contentDocument || iframe.contentWindow.document;
- }
- function getDocumentData(el) {
- try {
- var doc = getDocument(el);
- return doc.body.innerHTML;
- } catch ( error ) {
- console.error('gui-richtext', 'getDocumentData()', error.stack, error);
- }
- return '';
- }
- function destroyFixInterval(el) {
- el._fixTry = 0;
- el._fixInterval = clearInterval(el._fixInterval);
- }
- function createFixInterval(el, doc, text) {
- if ( el._fixTry > 10 ) {
- el._fixTry = 0;
- return;
- }
- el._fixInterval = setInterval(function() {
- try {
- if ( text ) {
- doc.body.innerHTML = text;
- }
- destroyFixInterval(el);
- } catch ( error ) {
- console.warn('gui-richtext', 'setDocumentData()', error.stack, error, '... trying again');
- }
- el._fixTry++;
- }, 100);
- }
- function setDocumentData(el, text) {
- destroyFixInterval(el);
- text = text || '';
- var wm = OSjs.Core.getWindowManager();
- var theme = (wm ? wm.getSetting('theme') : 'default') || 'default';
- var themeSrc = OSjs.API.getThemeCSS(theme);
- var editable = el.getAttribute('data-editable');
- editable = editable === null || editable === 'true';
- function onMouseDown(ev) {
- function insertTextAtCursor(text) {
- var sel, range;
- if (window.getSelection) {
- sel = window.getSelection();
- if (sel.getRangeAt && sel.rangeCount) {
- range = sel.getRangeAt(0);
- range.deleteContents();
- range.insertNode( document.createTextNode(text) );
- }
- } else if (document.selection && document.selection.createRange) {
- document.selection.createRange().text = text;
- }
- }
- if ( ev.keyCode === 9 ) {
- insertTextAtCursor('\u00A0');
- ev.preventDefault();
- }
- }
- var script = onMouseDown.toString() + ';window.addEventListener("keydown", onMouseDown)';
- var template = '';
- if ( !editable ) {
- template = template.replace(' contentEditable="true"', '');
- }
- var doc = getDocument(el);
- doc.open();
- doc.write(template);
- doc.close();
- createFixInterval(el, doc, text);
- }
- GUI.Elements['gui-richtext'] = {
- bind: function(el, evName, callback, params) {
- if ( (['selection']).indexOf(evName) !== -1 ) {
- evName = '_' + evName;
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var text = el.childNodes.length ? el.childNodes[0].nodeValue : '';
- Utils.$empty(el);
- var iframe = document.createElement('iframe');
- iframe.setAttribute('border', 0);
- iframe.onload = function() {
- iframe.contentWindow.addEventListener('selectstart', function() {
- el.dispatchEvent(new CustomEvent('_selection', {detail: {}}));
- });
- iframe.contentWindow.addEventListener('mouseup', function() {
- el.dispatchEvent(new CustomEvent('_selection', {detail: {}}));
- });
- };
- el.appendChild(iframe);
- setTimeout(function() {
- try {
- setDocumentData(el, text);
- } catch ( e ) {
- console.warn('gui-richtext', 'build()', e);
- }
- }, 1);
- },
- call: function(el, method, args) {
- var doc = getDocument(el);
- try {
- if ( method === 'command' ) {
- if ( doc && doc.execCommand ) {
- return doc.execCommand.apply(doc, args);
- }
- } else if ( method === 'query' ) {
- if ( doc && doc.queryCommandValue ) {
- return doc.queryCommandValue.apply(doc, args);
- }
- }
- } catch ( e ) {
- console.warn('gui-richtext call() warning', e.stack, e);
- }
- return null;
- },
- get: function(el, param, value) {
- if ( param === 'value' ) {
- return getDocumentData(el);
- }
- return GUI.Helpers.getProperty(el, param);
- },
- set: function(el, param, value) {
- if ( param === 'value' ) {
- setDocumentData(el, value);
- return true;
- }
- return false;
- }
- };
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, VFS, GUI) {
- 'use strict';
- GUI.Elements['gui-paned-view'] = {
- bind: function(el, evName, callback, params) {
- if ( evName === 'resize' ) {
- evName = '_' + evName;
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var orient = el.getAttribute('data-orientation') || 'horizontal';
- function bindResizer(resizer, idx, cel) {
- var resizeEl = resizer.previousElementSibling;
- if ( !resizeEl ) {
- return;
- }
- var startWidth = resizeEl.offsetWidth;
- var startHeight = resizeEl.offsetHeight;
- var minSize = 16;
- var maxSize = Number.MAX_VALUE;
- GUI.Helpers.createDrag(resizer, function(ev) {
- startWidth = resizeEl.offsetWidth;
- startHeight = resizeEl.offsetHeight;
- minSize = parseInt(cel.getAttribute('data-min-size'), 10) || minSize;
- var max = parseInt(cel.getAttribute('data-max-size'), 10);
- if ( !max ) {
- var totalHeight = resizer.parentNode.offsetHeight;
- var totalContainers = resizer.parentNode.querySelectorAll('gui-paned-view-container').length;
- var totalSpacers = resizer.parentNode.querySelectorAll('gui-paned-view-handle').length;
- maxSize = totalHeight - (totalContainers * 16) - (totalSpacers * 8);
- }
- }, function(ev, diff) {
- var newWidth = startWidth + diff.x;
- var newHeight = startHeight + diff.y;
- var flex;
- if ( orient === 'horizontal' ) {
- if ( !isNaN(newWidth) && newWidth > 0 && newWidth >= minSize && newWidth <= maxSize ) {
- flex = newWidth.toString() + 'px';
- }
- } else {
- if ( !isNaN(newHeight) && newHeight > 0 && newHeight >= minSize && newHeight <= maxSize ) {
- flex = newHeight.toString() + 'px';
- }
- }
- if ( flex ) {
- resizeEl.style.webkitFlexBasis = flex;
- resizeEl.style.mozFflexBasis = flex;
- resizeEl.style.msFflexBasis = flex;
- resizeEl.style.oFlexBasis = flex;
- resizeEl.style.flexBasis = flex;
- }
- }, function(ev) {
- el.dispatchEvent(new CustomEvent('_resize', {detail: {index: idx}}));
- });
- }
- el.querySelectorAll('gui-paned-view-container').forEach(function(cel, idx) {
- if ( idx % 2 ) {
- var resizer = document.createElement('gui-paned-view-handle');
- resizer.setAttribute('role', 'separator');
- cel.parentNode.insertBefore(resizer, cel);
- bindResizer(resizer, idx, cel);
- }
- });
- }
- };
- GUI.Elements['gui-paned-view-container'] = {
- build: function(el) {
- GUI.Helpers.setFlexbox(el);
- }
- };
- GUI.Elements['gui-button-bar'] = {
- build: function(el) {
- el.setAttribute('role', 'toolbar');
- }
- };
- GUI.Elements['gui-toolbar'] = {
- build: function(el) {
- el.setAttribute('role', 'toolbar');
- }
- };
- GUI.Elements['gui-grid'] = {
- build: function(el) {
- var rows = el.querySelectorAll('gui-grid-row');
- var p = 100 / rows.length;
- rows.forEach(function(r) {
- r.style.height = String(p) + '%';
- });
- }
- };
- GUI.Elements['gui-grid-row'] = {
- build: function(el) {
- }
- };
- GUI.Elements['gui-grid-entry'] = {
- build: function(el) {
- }
- };
- GUI.Elements['gui-vbox'] = {
- build: function(el) {
- }
- };
- GUI.Elements['gui-vbox-container'] = {
- build: function(el) {
- GUI.Helpers.setFlexbox(el);
- }
- };
- GUI.Elements['gui-hbox'] = {
- build: function(el) {
- }
- };
- GUI.Elements['gui-hbox-container'] = {
- build: function(el) {
- GUI.Helpers.setFlexbox(el);
- }
- };
- GUI.Elements['gui-expander'] = (function() {
- function toggleState(el, expanded) {
- if ( typeof expanded === 'undefined' ) {
- expanded = el.getAttribute('data-expanded') !== 'false';
- expanded = !expanded;
- }
- el.setAttribute('aria-expanded', String(expanded));
- el.setAttribute('data-expanded', String(expanded));
- return expanded;
- }
- return {
- set: function(el, param, value) {
- if ( param === 'expanded' ) {
- return toggleState(el, value === true);
- }
- return null;
- },
- bind: function(el, evName, callback, params) {
- if ( (['change']).indexOf(evName) !== -1 ) {
- evName = '_' + evName;
- }
- Utils.$bind(el, evName, callback.bind(new GUI.Element(el)), params);
- },
- build: function(el) {
- var lbltxt = el.getAttribute('data-label') || '';
- var label = document.createElement('gui-expander-label');
- Utils.$bind(label, 'click', function(ev) {
- el.dispatchEvent(new CustomEvent('_change', {detail: {expanded: toggleState(el)}}));
- }, false);
- label.appendChild(document.createTextNode(lbltxt));
- el.setAttribute('role', 'toolbar');
- el.setAttribute('aria-expanded', 'true');
- el.setAttribute('data-expanded', 'true');
- if ( el.children.length ) {
- el.insertBefore(label, el.children[0]);
- } else {
- el.appendChild(label);
- }
- }
- };
- })();
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function AlertDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- DialogWindow.apply(this, ['AlertDialog', {
- title: args.title || API._('DIALOG_ALERT_TITLE'),
- icon: 'status/dialog-warning.png',
- width: 400,
- height: 100
- }, args, callback]);
- }
- AlertDialog.prototype = Object.create(DialogWindow.prototype);
- AlertDialog.constructor = DialogWindow;
- AlertDialog.prototype.init = function() {
- var root = DialogWindow.prototype.init.apply(this, arguments);
- root.setAttribute('role', 'alertdialog');
- this.scheme.find(this, 'Message').set('value', this.args.message, true);
- return root;
- };
- OSjs.Dialogs.Alert = Object.seal(AlertDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function ApplicationChooserDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- DialogWindow.apply(this, ['ApplicationChooserDialog', {
- title: args.title || API._('DIALOG_APPCHOOSER_TITLE'),
- width: 400,
- height: 400
- }, args, callback]);
- }
- ApplicationChooserDialog.prototype = Object.create(DialogWindow.prototype);
- ApplicationChooserDialog.constructor = DialogWindow;
- ApplicationChooserDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var cols = [{label: API._('LBL_NAME')}];
- var rows = [];
- var metadata = OSjs.Core.getPackageManager().getPackages();
- (this.args.list || []).forEach(function(name) {
- var iter = metadata[name];
- if ( iter && iter.type === 'application' ) {
- var label = [iter.name];
- if ( iter.description ) {
- label.push(iter.description);
- }
- rows.push({
- value: iter,
- columns: [
- {label: label.join(' - '), icon: API.getIcon(iter.icon, null, name), value: JSON.stringify(iter)}
- ]
- });
- }
- });
- this.scheme.find(this, 'ApplicationList').set('columns', cols).add(rows).on('activate', function(ev) {
- self.onClose(ev, 'ok');
- });
- var file = '';
- var label = '';
- if ( this.args.file ) {
- file = Utils.format('{0} ({1})', this.args.file.filename, this.args.file.mime);
- label = API._('DIALOG_APPCHOOSER_SET_DEFAULT', this.args.file.mime);
- }
- this.scheme.find(this, 'FileName').set('value', file);
- this.scheme.find(this, 'SetDefault').set('label', label);
- return root;
- };
- ApplicationChooserDialog.prototype.onClose = function(ev, button) {
- var result = null;
- if ( button === 'ok' ) {
- var useDefault = this.scheme.find(this, 'SetDefault').get('value');
- var selected = this.scheme.find(this, 'ApplicationList').get('value');
- if ( selected && selected.length ) {
- result = selected[0].data.className;
- }
- if ( !result ) {
- OSjs.API.createDialog('Alert', {
- message: API._('DIALOG_APPCHOOSER_NO_SELECTION')
- }, null, this);
- return;
- }
- result = {
- name: result,
- useDefault: useDefault
- };
- }
- this.closeCallback(ev, button, result);
- };
- OSjs.Dialogs.ApplicationChooser = Object.seal(ApplicationChooserDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function ColorDialog(args, callback) {
- args = Utils.argumentDefaults(args, {
- });
- var rgb = args.color;
- var hex = rgb;
- if ( typeof rgb === 'string' ) {
- hex = rgb;
- rgb = Utils.convertToRGB(rgb);
- rgb.a = null;
- } else {
- if ( typeof rgb.a === 'undefined' ) {
- rgb.a = null;
- } else {
- if ( rgb.a > 1.0 ) {
- rgb.a /= 100;
- }
- }
- rgb = rgb || {r: 0, g: 0, b: 0, a: 100};
- hex = Utils.convertToHEX(rgb.r, rgb.g, rgb.b);
- }
- DialogWindow.apply(this, ['ColorDialog', {
- title: args.title || API._('DIALOG_COLOR_TITLE'),
- icon: 'apps/gnome-settings-theme.png',
- width: 400,
- height: rgb.a !== null ? 300 : 220
- }, args, callback]);
- this.color = {r: rgb.r, g: rgb.g, b: rgb.b, a: rgb.a, hex: hex};
- }
- ColorDialog.prototype = Object.create(DialogWindow.prototype);
- ColorDialog.constructor = DialogWindow;
- ColorDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- function updateHex(update) {
- self.scheme.find(self, 'LabelRed').set('value', API._('DIALOG_COLOR_R', self.color.r));
- self.scheme.find(self, 'LabelGreen').set('value', API._('DIALOG_COLOR_G', self.color.g));
- self.scheme.find(self, 'LabelBlue').set('value', API._('DIALOG_COLOR_B', self.color.b));
- self.scheme.find(self, 'LabelAlpha').set('value', API._('DIALOG_COLOR_A', self.color.a));
- if ( update ) {
- self.color.hex = Utils.convertToHEX(self.color.r, self.color.g, self.color.b);
- }
- var value = self.color.hex;
- if ( self.color.a !== null && !isNaN(self.color.a) ) {
- value = Utils.format('rgba({0}, {1}, {2}, {3})', self.color.r, self.color.g, self.color.b, self.color.a);
- }
- self.scheme.find(self, 'ColorPreview').set('value', value);
- }
- this.scheme.find(this, 'ColorSelect').on('change', function(ev) {
- self.color = ev.detail;
- self.scheme.find(self, 'Red').set('value', self.color.r);
- self.scheme.find(self, 'Green').set('value', self.color.g);
- self.scheme.find(self, 'Blue').set('value', self.color.b);
- updateHex(true);
- });
- this.scheme.find(this, 'Red').on('change', function(ev) {
- self.color.r = parseInt(ev.detail, 10);
- updateHex(true);
- }).set('value', this.color.r);
- this.scheme.find(this, 'Green').on('change', function(ev) {
- self.color.g = parseInt(ev.detail, 10);
- updateHex(true);
- }).set('value', this.color.g);
- this.scheme.find(this, 'Blue').on('change', function(ev) {
- self.color.b = parseInt(ev.detail, 10);
- updateHex(true);
- }).set('value', this.color.b);
- this.scheme.find(this, 'Alpha').on('change', function(ev) {
- self.color.a = parseInt(ev.detail, 10) / 100;
- updateHex(true);
- }).set('value', this.color.a * 100);
- if ( this.color.a === null ) {
- this.scheme.find(this, 'AlphaContainer').hide();
- this.scheme.find(this, 'AlphaLabelContainer').hide();
- }
- updateHex(false, this.color.a !== null);
- return root;
- };
- ColorDialog.prototype.onClose = function(ev, button) {
- this.closeCallback(ev, button, button === 'ok' ? this.color : null);
- };
- OSjs.Dialogs.Color = Object.seal(ColorDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function ConfirmDialog(args, callback) {
- args = Utils.argumentDefaults(args, {
- buttons: ['yes', 'no', 'cancel']
- });
- DialogWindow.apply(this, ['ConfirmDialog', {
- title: args.title || API._('DIALOG_CONFIRM_TITLE'),
- icon: 'status/dialog-question.png',
- width: 400,
- height: 100
- }, args, callback]);
- }
- ConfirmDialog.prototype = Object.create(DialogWindow.prototype);
- ConfirmDialog.constructor = DialogWindow;
- ConfirmDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var msg = DialogWindow.parseMessage(this.args.message);
- this.scheme.find(this, 'Message').empty().append(msg);
- var buttonMap = {
- yes: 'ButtonYes',
- no: 'ButtonNo',
- cancel: 'ButtonCancel'
- };
- var hide = [];
- (['yes', 'no', 'cancel']).forEach(function(b) {
- if ( self.args.buttons.indexOf(b) < 0 ) {
- hide.push(b);
- }
- });
- hide.forEach(function(b) {
- self.scheme.find(self, buttonMap[b]).hide();
- });
- return root;
- };
- OSjs.Dialogs.Confirm = Object.seal(ConfirmDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function ErrorDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- console.error('ErrorDialog::constructor()', args);
- var exception = args.exception || {};
- var error = '';
- if ( exception.stack ) {
- error = exception.stack;
- } else {
- if ( Object.keys(exception).length ) {
- error = exception.name;
- error += '\nFilename: ' + exception.fileName || '';
- error += '\nLine: ' + exception.lineNumber;
- error += '\nMessage: ' + exception.message;
- if ( exception.extMessage ) {
- error += '\n' + exception.extMessage;
- }
- }
- }
- DialogWindow.apply(this, ['ErrorDialog', {
- title: args.title || API._('DIALOG_CONFIRM_TITLE'),
- icon: 'status/dialog-error.png',
- width: 400,
- height: error ? 400 : 200
- }, args, callback]);
- this._sound = 'ERROR';
- this._soundVolume = 1.0;
- this.traceMessage = error;
- }
- ErrorDialog.prototype = Object.create(DialogWindow.prototype);
- ErrorDialog.constructor = DialogWindow;
- ErrorDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- root.setAttribute('role', 'alertdialog');
- var msg = DialogWindow.parseMessage(this.args.message);
- this.scheme.find(this, 'Message').empty().append(msg);
- this.scheme.find(this, 'Summary').set('value', this.args.error);
- this.scheme.find(this, 'Trace').set('value', this.traceMessage);
- if ( !this.traceMessage ) {
- this.scheme.find(this, 'Trace').hide();
- this.scheme.find(this, 'TraceLabel').hide();
- }
- if ( this.args.bugreport ) {
- this.scheme.find(this, 'ButtonBugReport').on('click', function() {
- var title = '';
- var body = [];
- if ( API.getConfig('BugReporting.options.issue') ) {
- var obj = {};
- var keys = ['userAgent', 'platform', 'language', 'appVersion'];
- keys.forEach(function(k) {
- obj[k] = navigator[k];
- });
- title = API.getConfig('BugReporting.options.title');
- body = [
- '**' + API.getConfig('BugReporting.options.message') + ':**',
- '\n',
- '> ' + self.args.message,
- '\n',
- '> ' + (self.args.error || 'Unknown error'),
- '\n',
- '## Expected behaviour',
- '\n',
- '## Actual behaviour',
- '\n',
- '## Steps to reproduce the error',
- '\n',
- '## (Optinal) Browser and OS information',
- '\n',
- '```\n' + JSON.stringify(obj) + '\n```'
- ];
- if ( self.traceMessage ) {
- body.push('\n## Stack Trace \n```\n' + self.traceMessage + '\n```\n');
- }
- }
- var url = API.getConfig('BugReporting.url')
- .replace('%TITLE%', encodeURIComponent(title))
- .replace('%BODY%', encodeURIComponent(body.join('\n')));
- window.open(url);
- });
- } else {
- this.scheme.find(this, 'ButtonBugReport').hide();
- }
- return root;
- };
- OSjs.Dialogs.Error = Object.seal(ErrorDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, VFS, Utils, DialogWindow) {
- 'use strict';
- function FileDialog(args, callback) {
- args = Utils.argumentDefaults(args, {
- file: null,
- type: 'open',
- path: OSjs.API.getDefaultPath(),
- filename: '',
- filetypes: [],
- extension: '',
- mime: 'application/octet-stream',
- filter: [],
- mfilter: [],
- select: null,
- multiple: false
- });
- args.multiple = (args.type === 'save' ? false : args.multiple === true);
- if ( args.path && args.path instanceof VFS.File ) {
- args.path = Utils.dirname(args.path.path);
- }
- if ( args.file && args.file.path ) {
- args.path = Utils.dirname(args.file.path);
- args.filename = args.file.filename;
- args.mime = args.file.mime;
- if ( args.filetypes.length ) {
- var setTo = args.filetypes[0];
- args.filename = Utils.replaceFileExtension(args.filename, setTo.extension);
- args.mime = setTo.mime;
- }
- }
- var title = API._(args.type === 'save' ? 'DIALOG_FILE_SAVE' : 'DIALOG_FILE_OPEN');
- var icon = args.type === 'open' ? 'actions/gtk-open.png' : 'actions/gtk-save-as.png';
- DialogWindow.apply(this, ['FileDialog', {
- title: title,
- icon: icon,
- width: 600,
- height: 400
- }, args, callback]);
- this.selected = null;
- this.path = args.path;
- var self = this;
- this.settingsWatch = OSjs.Core.getSettingsManager().watch('VFS', function() {
- self.changePath();
- });
- }
- FileDialog.prototype = Object.create(DialogWindow.prototype);
- FileDialog.constructor = DialogWindow;
- FileDialog.prototype.destroy = function() {
- try {
- OSjs.Core.getSettingsManager().unwatch(this.settingsWatch);
- } catch ( e ) {}
- return DialogWindow.prototype.destroy.apply(this, arguments);
- };
- FileDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var view = this.scheme.find(this, 'FileView');
- view.set('filter', this.args.filter);
- view.set('filetype', this.args.select || '');
- view.set('defaultcolumns', 'true');
- var filename = this.scheme.find(this, 'Filename');
- var home = this.scheme.find(this, 'HomeButton');
- var mlist = this.scheme.find(this, 'ModuleSelect');
- function checkEmptyInput() {
- var disable = false;
- if ( self.args.select !== 'dir' ) {
- disable = !filename.get('value').length;
- }
- self.scheme.find(self, 'ButtonOK').set('disabled', disable);
- }
- this._toggleLoading(true);
- view.set('multiple', this.args.multiple);
- filename.set('value', this.args.filename || '');
- home.on('click', function() {
- var dpath = API.getDefaultPath();
- self.changePath(dpath);
- });
- view.on('activate', function(ev) {
- self.selected = null;
- if ( self.args.type !== 'save' ) {
- filename.set('value', '');
- }
- if ( ev && ev.detail && ev.detail.entries ) {
- var activated = ev.detail.entries[0];
- if ( activated ) {
- self.selected = new VFS.File(activated.data);
- if ( self.selected.type !== 'dir' ) {
- filename.set('value', self.selected.filename);
- }
- self.checkSelection(ev, true);
- }
- }
- });
- view.on('select', function(ev) {
- self.selected = null;
- if ( ev && ev.detail && ev.detail.entries ) {
- var activated = ev.detail.entries[0];
- if ( activated ) {
- self.selected = new VFS.File(activated.data);
- if ( self.selected.type !== 'dir' ) {
- filename.set('value', self.selected.filename);
- }
- }
- }
- checkEmptyInput();
- });
- if ( this.args.type === 'save' ) {
- var filetypes = [];
- this.args.filetypes.forEach(function(f) {
- filetypes.push({
- label: Utils.format('{0} (.{1} {2})', f.label, f.extension, f.mime),
- value: f.extension
- });
- });
- var ft = this.scheme.find(this, 'Filetype').add(filetypes).on('change', function(ev) {
- var newinput = Utils.replaceFileExtension(filename.get('value'), ev.detail);
- filename.set('value', newinput);
- });
- if ( filetypes.length <= 1 ) {
- new OSjs.GUI.Element(ft.$element.parentNode).hide();
- }
- filename.on('enter', function(ev) {
- self.selected = null;
- self.checkSelection(ev);
- });
- filename.on('change', function(ev) {
- checkEmptyInput();
- });
- filename.on('keyup', function(ev) {
- checkEmptyInput();
- });
- } else {
- this.scheme.find(this, 'FileInput').hide();
- }
- var mm = OSjs.Core.getMountManager();
- var rootPath = mm.getRootFromPath(this.path);
- var modules = mm.getModules().filter(function(m) {
- if ( self.args.mfilter.length ) {
- var success = false;
- self.args.mfilter.forEach(function(fn) {
- if ( !success ) {
- success = fn(m);
- }
- });
- return success;
- }
- return true;
- }).map(function(m) {
- return {
- label: m.name + (m.module.readOnly ? Utils.format(' ({0})', API._('LBL_READONLY')) : ''),
- value: m.module.root
- };
- });
- mlist.clear().add(modules).set('value', rootPath);
- mlist.on('change', function(ev) {
- self.changePath(ev.detail, true);
- });
- this.changePath();
- checkEmptyInput();
- return root;
- };
- FileDialog.prototype.changePath = function(dir, fromDropdown) {
- var self = this;
- var view = this.scheme.find(this, 'FileView');
- var lastDir = this.path;
- function resetLastSelected() {
- var mm = OSjs.Core.getMountManager();
- var rootPath = mm.getRootFromPath(lastDir);
- try {
- self.scheme.find(self, 'ModuleSelect').set('value', rootPath);
- } catch ( e ) {
- console.warn('FileDialog::changePath()', 'resetLastSelection()', e);
- }
- }
- this._toggleLoading(true);
- view._call('chdir', {
- path: dir || this.path,
- done: function(error) {
- if ( error ) {
- if ( fromDropdown ) {
- resetLastSelected();
- }
- } else {
- if ( dir ) {
- self.path = dir;
- }
- }
- self.selected = null;
- self._toggleLoading(false);
- }
- });
- };
- FileDialog.prototype.checkFileExtension = function() {
- var filename = this.scheme.find(this, 'Filename');
- var mime = this.args.mime;
- var input = filename.get('value');
- if ( this.args.filetypes.length ) {
- if ( !input && this.args.filename ) {
- input = this.args.filename;
- }
- if ( input.length ) {
- var extension = input.split('.').pop();
- var found = false;
- this.args.filetypes.forEach(function(f) {
- if ( f.extension === extension ) {
- found = f;
- }
- return !!found;
- });
- found = found || this.args.filetypes[0];
- input = Utils.replaceFileExtension(input, found.extension);
- mime = found.mime;
- }
- }
- return {
- filename: input,
- mime: mime
- };
- };
- FileDialog.prototype.checkSelection = function(ev, wasActivated) {
- var self = this;
- if ( this.selected && this.selected.type === 'dir' ) {
- if ( wasActivated ) {
- this.changePath(this.selected.path);
- return false;
- }
- }
- if ( this.args.type === 'save' ) {
- var check = this.checkFileExtension();
- if ( !this.path || !check.filename ) {
- API.error(API._('DIALOG_FILE_ERROR'), API._('DIALOG_FILE_MISSING_FILENAME'));
- return;
- }
- this.selected = new VFS.File(this.path.replace(/^\//, '') + '/' + check.filename, check.mime);
- this._toggleDisabled(true);
- VFS.exists(this.selected, function(error, result) {
- self._toggleDisabled(false);
- if ( self._destroyed ) {
- return;
- }
- if ( error ) {
- API.error(API._('DIALOG_FILE_ERROR'), API._('DIALOG_FILE_MISSING_FILENAME'));
- } else {
- if ( result ) {
- self._toggleDisabled(true);
- if ( self.selected ) {
- API.createDialog('Confirm', {
- buttons: ['yes', 'no'],
- message: API._('DIALOG_FILE_OVERWRITE', self.selected.filename)
- }, function(ev, button) {
- self._toggleDisabled(false);
- if ( button === 'yes' || button === 'ok' ) {
- self.closeCallback(ev, 'ok', self.selected);
- }
- }, self);
- }
- } else {
- self.closeCallback(ev, 'ok', self.selected);
- }
- }
- });
- return false;
- } else {
- if ( !this.selected && this.args.select !== 'dir' ) {
- API.error(API._('DIALOG_FILE_ERROR'), API._('DIALOG_FILE_MISSING_SELECTION'));
- return false;
- }
- var res = this.selected;
- if ( !res && this.args.select === 'dir' ) {
- res = new VFS.File({
- filename: Utils.filename(this.path),
- path: this.path,
- type: 'dir'
- });
- }
- this.closeCallback(ev, 'ok', res);
- }
- return true;
- };
- FileDialog.prototype.onClose = function(ev, button) {
- if ( button === 'ok' && !this.checkSelection(ev) ) {
- return;
- }
- this.closeCallback(ev, button, this.selected);
- };
- OSjs.Dialogs.File = Object.seal(FileDialog);
-})(OSjs.API, OSjs.VFS, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, VFS, DialogWindow) {
- 'use strict';
- function FileInfoDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- DialogWindow.apply(this, ['FileInfoDialog', {
- title: args.title || API._('DIALOG_FILEINFO_TITLE'),
- width: 400,
- height: 400
- }, args, callback]);
- if ( !this.args.file ) {
- throw new Error('You have to select a file for FileInfo');
- }
- }
- FileInfoDialog.prototype = Object.create(DialogWindow.prototype);
- FileInfoDialog.constructor = DialogWindow;
- FileInfoDialog.prototype.init = function() {
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var txt = this.scheme.find(this, 'Info').set('value', API._('LBL_LOADING'));
- var file = this.args.file;
- function _onError(error) {
- if ( error ) {
- txt.set('value', API._('DIALOG_FILEINFO_ERROR_LOOKUP_FMT', file.path));
- }
- }
- function _onSuccess(data) {
- var info = [];
- Object.keys(data).forEach(function(i) {
- if ( i === 'exif' ) {
- info.push(i + ':\n\n' + data[i]);
- } else {
- info.push(i + ':\n\t' + data[i]);
- }
- });
- txt.set('value', info.join('\n\n'));
- }
- VFS.fileinfo(file, function(error, result) {
- if ( error ) {
- _onError(error);
- return;
- }
- _onSuccess(result || {});
- });
- return root;
- };
- OSjs.Dialogs.FileInfo = Object.seal(FileInfoDialog);
-})(OSjs.API, OSjs.Utils, OSjs.VFS, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function FileProgressDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- DialogWindow.apply(this, ['FileProgressDialog', {
- title: args.title || API._('DIALOG_FILEPROGRESS_TITLE'),
- icon: 'actions/document-send.png',
- width: 400,
- height: 100
- }, args, callback]);
- this.busy = !!args.filename;
- }
- FileProgressDialog.prototype = Object.create(DialogWindow.prototype);
- FileProgressDialog.constructor = DialogWindow;
- FileProgressDialog.prototype.init = function() {
- var root = DialogWindow.prototype.init.apply(this, arguments);
- if ( this.args.message ) {
- this.scheme.find(this, 'Message').set('value', this.args.message, true);
- }
- return root;
- };
- FileProgressDialog.prototype.onClose = function(ev, button) {
- this.closeCallback(ev, button, null);
- };
- FileProgressDialog.prototype.setProgress = function(p) {
- this.scheme.find(this, 'Progress').set('progress', p);
- };
- FileProgressDialog.prototype._close = function(force) {
- if ( !force && this.busy ) {
- return false;
- }
- return DialogWindow.prototype._close.call(this);
- };
- FileProgressDialog.prototype._onKeyEvent = function(ev) {
- if ( !this.busy ) {
- DialogWindow.prototype._onKeyEvent.apply(this, arguments);
- }
- };
- OSjs.Dialogs.FileProgress = Object.seal(FileProgressDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, VFS, Utils, DialogWindow) {
- 'use strict';
- function FileUploadDialog(args, callback) {
- args = Utils.argumentDefaults(args, {
- dest: API.getDefaultPath(),
- progress: {},
- file: null
- });
- DialogWindow.apply(this, ['FileUploadDialog', {
- title: args.title || API._('DIALOG_UPLOAD_TITLE'),
- icon: 'actions/filenew.png',
- width: 400,
- height: 100
- }, args, callback]);
- }
- FileUploadDialog.prototype = Object.create(DialogWindow.prototype);
- FileUploadDialog.constructor = DialogWindow;
- FileUploadDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var message = this.scheme.find(this, 'Message');
- var maxSize = API.getConfig('VFS.MaxUploadSize');
- message.set('value', API._('DIALOG_UPLOAD_DESC', this.args.dest, maxSize), true);
- var input = this.scheme.find(this, 'File');
- if ( this.args.file ) {
- this.setFile(this.args.file, input);
- } else {
- input.on('change', function(ev) {
- self.setFile(ev.detail, input);
- });
- }
- return root;
- };
- FileUploadDialog.prototype.setFile = function(file, input) {
- var self = this;
- var progressDialog;
- function error(msg, ev) {
- API.error(
- OSjs.API._('DIALOG_UPLOAD_FAILED'),
- OSjs.API._('DIALOG_UPLOAD_FAILED_MSG'),
- msg || OSjs.API._('DIALOG_UPLOAD_FAILED_UNKNOWN')
- );
- progressDialog._close(true);
- self.onClose(ev, 'cancel');
- }
- if ( file ) {
- var fileSize = 0;
- if ( file.size > 1024 * 1024 ) {
- fileSize = (Math.round(file.size * 100 / (1024 * 1024)) / 100).toString() + 'MB';
- } else {
- fileSize = (Math.round(file.size * 100 / 1024) / 100).toString() + 'KB';
- }
- if ( input ) {
- input.set('disabled', true);
- }
- this.scheme.find(this, 'ButtonCancel').set('disabled', true);
- var desc = OSjs.API._('DIALOG_UPLOAD_MSG_FMT', file.name, file.type, fileSize, this.dest);
- progressDialog = API.createDialog('FileProgress', {
- message: desc,
- dest: this.args.dest,
- filename: file.name,
- mime: file.type,
- size: fileSize
- }, function(ev, button) {
- }, this);
- if ( this._wmref ) {
- this._wmref.createNotificationIcon(this.notificationId, {className: 'BusyNotification', tooltip: desc, image: false});
- }
- OSjs.VFS.upload({files: [file], destination: this.args.dest}, function(err, result, ev) {
- if ( err ) {
- error(err, ev);
- return;
- }
- progressDialog._close();
- self.onClose(ev, 'ok', file);
- }, {
- onprogress: function(ev) {
- if ( ev.lengthComputable ) {
- var p = Math.round(ev.loaded * 100 / ev.total);
- progressDialog.setProgress(p);
- }
- }
- });
- setTimeout(function() {
- if ( progressDialog ) {
- progressDialog._focus();
- }
- }, 100);
- }
- };
- FileUploadDialog.prototype.onClose = function(ev, button, result) {
- result = result || null;
- this.closeCallback(ev, button, result);
- };
- OSjs.Dialogs.FileUpload = Object.seal(FileUploadDialog);
-})(OSjs.API, OSjs.VFS, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function FontDialog(args, callback) {
- args = Utils.argumentDefaults(args, {
- fontName: API.getConfig('Fonts.default'),
- fontSize: 12,
- fontColor: '#000000',
- backgroundColor: '#ffffff',
- fonts: API.getConfig('Fonts.list'),
- minSize: 6,
- maxSize: 30,
- text: 'The quick brown fox jumps over the lazy dog',
- unit: 'px'
- });
- if ( args.unit === 'null' || args.unit === 'unit' ) {
- args.unit = '';
- }
- DialogWindow.apply(this, ['FontDialog', {
- title: args.title || API._('DIALOG_FONT_TITLE'),
- width: 400,
- height: 300
- }, args, callback]);
- this.selection = {
- fontName: args.fontName,
- fontSize: args.fontSize + args.unit
- };
- }
- FontDialog.prototype = Object.create(DialogWindow.prototype);
- FontDialog.constructor = DialogWindow;
- FontDialog.prototype.init = function() {
- var root = DialogWindow.prototype.init.apply(this, arguments);
- var self = this;
- var preview = this.scheme.find(this, 'FontPreview');
- var sizes = [];
- var fonts = [];
- for ( var i = this.args.minSize; i < this.args.maxSize; i++ ) {
- sizes.push({value: i, label: i});
- }
- for ( var j = 0; j < this.args.fonts.length; j++ ) {
- fonts.push({value: this.args.fonts[j], label: this.args.fonts[j]});
- }
- function updatePreview() {
- preview.querySelector('textarea').style.fontFamily = self.selection.fontName;
- preview.querySelector('textarea').style.fontSize = self.selection.fontSize;
- }
- var listFonts = this.scheme.find(this, 'FontName');
- listFonts.add(fonts).set('value', this.args.fontName);
- listFonts.on('change', function(ev) {
- self.selection.fontName = ev.detail;
- updatePreview();
- });
- var listSizes = this.scheme.find(this, 'FontSize');
- listSizes.add(sizes).set('value', this.args.fontSize);
- listSizes.on('change', function(ev) {
- self.selection.fontSize = ev.detail + self.args.unit;
- updatePreview();
- });
- preview.$element.style.color = this.args.fontColor;
- preview.$element.style.backgroundColor = this.args.backgroundColor;
- preview.set('value', this.args.text);
- if ( this.args.fontSize < 0 ) {
- this.scheme.find(this, 'FontSizeContainer').hide();
- }
- updatePreview();
- return root;
- };
- FontDialog.prototype.onClose = function(ev, button) {
- var result = button === 'ok' ? this.selection : null;
- this.closeCallback(ev, button, result);
- };
- OSjs.Dialogs.Font = Object.seal(FontDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils, DialogWindow) {
- 'use strict';
- function InputDialog(args, callback) {
- args = Utils.argumentDefaults(args, {});
- DialogWindow.apply(this, ['InputDialog', {
- title: args.title || API._('DIALOG_INPUT_TITLE'),
- icon: 'status/dialog-information.png',
- width: 400,
- height: 120
- }, args, callback]);
- }
- InputDialog.prototype = Object.create(DialogWindow.prototype);
- InputDialog.constructor = DialogWindow;
- InputDialog.prototype.init = function() {
- var self = this;
- var root = DialogWindow.prototype.init.apply(this, arguments);
- if ( this.args.message ) {
- var msg = DialogWindow.parseMessage(this.args.message);
- this.scheme.find(this, 'Message').empty().append(msg);
- }
- var input = this.scheme.find(this, 'Input');
- input.set('placeholder', this.args.placeholder || '');
- input.set('value', this.args.value || '');
- input.on('enter', function(ev) {
- self.onClose(ev, 'ok');
- });
- return root;
- };
- InputDialog.prototype._focus = function() {
- if ( DialogWindow.prototype._focus.apply(this, arguments) ) {
- this.scheme.find(this, 'Input').focus();
- return true;
- }
- return false;
- };
- InputDialog.prototype.onClose = function(ev, button) {
- var result = this.scheme.find(this, 'Input').get('value');
- this.closeCallback(ev, button, button === 'ok' ? result : null);
- };
- InputDialog.prototype.setRange = function(range) {
- var input = this.scheme.find(this, 'Input');
- if ( input.$element ) {
- input.$element.querySelector('input').select(range);
- }
- };
- OSjs.Dialogs.Input = Object.seal(InputDialog);
-})(OSjs.API, OSjs.Utils, OSjs.Core.DialogWindow);
-
-(function(API, Utils) {
- 'use strict';
- var _handlerInstance;
- function appendRequestOptions(data, options) {
- options = options || {};
- var onprogress = options.onprogress || function() {};
- var ignore = ['onsuccess', 'onerror', 'onprogress', 'oncanceled'];
- Object.keys(options).forEach(function(key) {
- if ( ignore.indexOf(key) === -1 ) {
- data[key] = options[key];
- }
- });
- data.onprogress = function(ev) {
- if ( ev.lengthComputable ) {
- onprogress(ev, ev.loaded / ev.total);
- } else {
- onprogress(ev, -1);
- }
- };
- return data;
- }
- function HandlerConnection(handler) {
- this.index = 0;
- this.handler = handler;
- this.nw = null;
- this.ws = null;
- if ( (API.getConfig('Connection.Type') === 'nw') ) {
- this.nw = require('osjs').init({
- root: process.cwd(),
- settings: {
- mimes: API.getConfig('MIME.mapping')
- },
- nw: true
- });
- }
- this.wsqueue = {};
- }
- HandlerConnection.prototype.init = function(callback) {
- var self = this;
- if ( API.getConfig('Connection.Type') === 'ws' ) {
- var url = window.location.protocol.replace('http', 'ws') + '//' + window.location.host;
- var connected = false;
- this.ws = new WebSocket(url);
- this.ws.onopen = function() {
- connected = true;
- callback();
- };
- this.ws.onmessage = function(ev) {
- var data = JSON.parse(ev.data);
- var idx = data._index;
- if ( self.wsqueue[idx] ) {
- delete data._index;
- self.wsqueue[idx](data);
- delete self.wsqueue[idx];
- }
- };
- this.ws.onclose = function(ev) {
- if ( !connected && ev.code !== 3001 ) {
- callback('WebSocket connection error'); // FIXME: Locale
- }
- };
- } else {
- callback();
- }
- };
- HandlerConnection.prototype.destroy = function() {
- if ( this.ws ) {
- this.ws.close();
- }
- this.nw = null;
- this.ws = null;
- this._wsRequest = {};
- };
- HandlerConnection.prototype.callPOST = function(form, options, onsuccess, onerror) {
- onerror = onerror || function() {
- console.warn('HandlerConnection::callPOST()', 'error', arguments);
- };
- Utils.ajax(appendRequestOptions({
- url: OSjs.VFS.Transports.Internal.path(),
- method: 'POST',
- body: form,
- onsuccess: function(result) {
- onsuccess(false, result);
- },
- onerror: function(result) {
- onerror('error', null, result);
- },
- oncanceled: function(evt) {
- onerror('canceled', null, evt);
- }
- }, options));
- return true;
- };
- HandlerConnection.prototype.callGET = function(args, options, onsuccess, onerror) {
- onerror = onerror || function() {
- console.warn('HandlerConnection::callGET()', 'error', arguments);
- };
- var self = this;
- Utils.ajax(appendRequestOptions({
- url: args.url || OSjs.VFS.Transports.Internal.path(args.path),
- method: args.method || 'GET',
- responseType: 'arraybuffer',
- onsuccess: function(response, xhr) {
- if ( !xhr || xhr.status === 404 || xhr.status === 500 ) {
- onsuccess({error: xhr.statusText || response, result: null});
- return;
- }
- onsuccess({error: false, result: response});
- },
- onerror: function() {
- onerror.apply(self, arguments);
- }
- }, options));
- return true;
- };
- HandlerConnection.prototype.callXHR = function(url, args, options, onsuccess, onerror) {
- onerror = onerror || function() {
- console.warn('HandlerConnection::callXHR()', 'error', arguments);
- };
- var self = this;
- Utils.ajax(appendRequestOptions({
- url: url,
- method: 'POST',
- json: true,
- body: args,
- onsuccess: function() {
- onsuccess.apply(self.handler, arguments);
- },
- onerror: function() {
- onerror.apply(self.handler, arguments);
- }
- }, options));
- return true;
- };
- HandlerConnection.prototype.callWS = function(path, args, options, onsuccess, onerror) {
- onerror = onerror || function() {
- console.warn('HandlerConnection::callWS()', 'error', arguments);
- };
- var idx = this.index++;
- try {
- this.ws.send(JSON.stringify({
- _index: idx,
- sid: Utils.getCookie('session'),
- path: '/' + path,
- args: args
- }));
- this.wsqueue[idx] = onsuccess || function() {};
- return true;
- } catch ( e ) {
- console.warn('callWS() Warning', e.stack, e);
- onerror(e);
- }
- return false;
- };
- HandlerConnection.prototype.callNW = function(method, args, options, onsuccess, onerror) {
- onerror = onerror || function() {
- console.warn('HandlerConnection::callNW()', 'error', arguments);
- };
- try {
- this.nw.request(method.match(/^FS\:/) !== null, method.replace(/^FS\:/, ''), args, function(err, res) {
- onsuccess({error: err, result: res});
- });
- return true;
- } catch ( e ) {
- console.warn('callNW() Warning', e.stack, e);
- onerror(e);
- }
- return false;
- };
- HandlerConnection.prototype.request = function(isVfs, method, args, options, onsuccess, onerror) {
- if ( API.getConfig('Connection.Type') === 'nw' ) {
- return this.callNW(method, args, options, onsuccess, onerror);
- }
- if ( isVfs ) {
- if ( method === 'FS:get' ) {
- return this.callGET(args, options, onsuccess, onerror);
- } else if ( method === 'FS:upload' ) {
- return this.callPOST(args, options, onsuccess, onerror);
- }
- }
- var url = (function() {
- if ( isVfs ) {
- return API.getConfig('Connection.FSURI') + '/' + method.replace(/^FS\:/, '');
- }
- return API.getConfig('Connection.APIURI') + '/' + method;
- })();
- if ( API.getConfig('Connection.Type') === 'ws' ) {
- return this.callWS(url, args, options, onsuccess, onerror);
- }
- return this.callXHR(url, args, options, onsuccess, onerror);
- };
- var _Handler = function() {
- if ( _handlerInstance ) {
- throw Error('Cannot create another Handler Instance');
- }
- this._saveTimeout = null;
- this.loggedIn = false;
- this.offline = false;
- this.userData = {
- id : 0,
- username: 'root',
- name : 'root user',
- groups : ['admin']
- };
- this.connection = new HandlerConnection();
- _handlerInstance = this;
- };
- _Handler.prototype.init = function(callback) {
- var self = this;
- API.setLocale(API.getConfig('Locale'));
- if ( typeof navigator.onLine !== 'undefined' ) {
- Utils.$bind(window, 'offline', function(ev) {
- self.onOffline();
- });
- Utils.$bind(window, 'online', function(ev) {
- self.onOnline();
- });
- }
- this.connection.init(function(err, res) {
- callback(err, res);
- });
- };
- _Handler.prototype.destroy = function() {
- Utils.$unbind(window, 'offline');
- Utils.$unbind(window, 'online');
- if ( this.connection ) {
- this.connection.destroy();
- }
- this.connection = null;
- _handlerInstance = null;
- };
- _Handler.prototype.login = function(username, password, callback) {
- var opts = {username: username, password: password};
- this.callAPI('login', opts, function(response) {
- if ( response.result ) { // This contains an object with user data
- callback(false, response.result);
- } else {
- var error = response.error || API._('ERR_LOGIN_INVALID');
- callback(API._('ERR_LOGIN_FMT', error), false);
- }
- }, function(error) {
- callback(API._('ERR_LOGIN_FMT', error), false);
- });
- };
- _Handler.prototype.logout = function(save, callback) {
- var self = this;
- function _finished() {
- var opts = {};
- self.callAPI('logout', opts, function(response) {
- if ( response.result ) {
- self.loggedIn = false;
- callback(true);
- } else {
- callback(false, 'An error occured: ' + (response.error || 'Unknown error'));
- }
- }, function(error) {
- callback(false, 'Logout error: ' + error);
- });
- }
- if ( save ) {
- this.saveSession(function() {
- _finished(true);
- });
- return;
- }
- _finished(true);
- };
- _Handler.prototype.saveSession = function(callback) {
- var data = [];
- API.getProcesses().forEach(function(proc, i) {
- if ( proc && (proc instanceof OSjs.Core.Application) ) {
- data.push(proc._getSessionData());
- }
- });
- OSjs.Core.getSettingsManager().set('UserSession', null, data, callback);
- };
- _Handler.prototype.getLastSession = function(callback) {
- callback = callback || function() {};
- var res = OSjs.Core.getSettingsManager().get('UserSession');
- var list = [];
- (res || []).forEach(function(iter, i) {
- var args = iter.args;
- args.__resume__ = true;
- args.__windows__ = iter.windows || [];
- list.push({name: iter.name, args: args});
- });
- callback(false, list);
- };
- _Handler.prototype.loadSession = function(callback) {
- callback = callback || function() {};
- this.getLastSession(function(err, list) {
- if ( err ) {
- callback();
- } else {
- API.launchList(list, null, null, callback);
- }
- });
- };
- _Handler.prototype.saveSettings = function(pool, storage, callback) {
- var self = this;
- var opts = {settings: storage};
- function _save() {
- self.callAPI('settings', opts, function(response) {
- callback.call(self, false, response.result);
- }, function(error) {
- callback.call(self, error, false);
- });
- }
- if ( this._saveTimeout ) {
- clearTimeout(this._saveTimeout);
- this._saveTimeout = null;
- }
- setTimeout(_save, 250);
- };
- _Handler.prototype.getVFSPath = function(item) {
- var base = API.getConfig('Connection.FSURI', '/');
- if ( item ) {
- return base + '/get/' + item.path;
- }
- return base + '/upload';
- };
- _Handler.prototype.getAPICallOptions = function() {
- return {};
- };
- _Handler.prototype.callAPI = function(method, args, cbSuccess, cbError, options) {
- args = args || {};
- options = Utils.mergeObject(this.getAPICallOptions(), options || {});
- cbSuccess = cbSuccess || function() {};
- cbError = cbError || function() {};
- if ( this.offline ) {
- cbError('You are currently off-line and cannot perform this operation!');
- } else if ( (API.getConfig('Connection.Type') === 'standalone') ) {
- cbError('You are currently running locally and cannot perform this operation!');
- } else {
- if ( method.match(/^FS/) ) {
- return this._callVFS(method, args, options, cbSuccess, cbError);
- }
- return this._callAPI(method, args, options, cbSuccess, cbError);
- }
- return false;
- };
- _Handler.prototype._callAPI = function(method, args, options, cbSuccess, cbError) {
- return this.connection.request(false, method, args, options, cbSuccess, cbError);
- };
- _Handler.prototype._callVFS = function(method, args, options, cbSuccess, cbError) {
- return this.connection.request(true, method, args, options, cbSuccess, cbError);
- };
- _Handler.prototype.onLogin = function(data, callback) {
- callback = callback || function() {};
- var userSettings = data.userSettings;
- if ( !userSettings || userSettings instanceof Array ) {
- userSettings = {};
- }
- this.userData = data.userData;
- function getUserLocale() {
- var curLocale = API.getConfig('Locale');
- var detectedLocale = Utils.getUserLocale();
- if ( API.getConfig('LocaleOptions.AutoDetect', true) && detectedLocale ) {
- curLocale = detectedLocale;
- }
- var result = OSjs.Core.getSettingsManager().get('CoreWM');
- if ( !result ) {
- try {
- result = userSettings.CoreWM;
- } catch ( e ) {}
- }
- return result ? (result.language || curLocale) : curLocale;
- }
- document.getElementById('LoadingScreen').style.display = 'block';
- API.setLocale(getUserLocale());
- OSjs.Core.getSettingsManager().init(userSettings);
- if ( data.blacklistedPackages ) {
- OSjs.Core.getPackageManager().setBlacklist(data.blacklistedPackages);
- }
- this.loggedIn = true;
- callback();
- };
- _Handler.prototype.onVFSRequest = function(vfsModule, vfsMethod, vfsArguments, callback) {
- callback();
- };
- _Handler.prototype.onVFSRequestCompleted = function(vfsModule, vfsMethod, vfsArguments, vfsError, vfsResult, callback) {
- callback();
- };
- _Handler.prototype.onOnline = function() {
- console.warn('Handler::onOnline()', 'Going online...');
- this.offline = false;
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.notification({title: 'Warning!', message: 'You are On-line!'});
- }
- };
- _Handler.prototype.onOffline = function() {
- console.warn('Handler::onOffline()', 'Going offline...');
- this.offline = true;
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.notification({title: 'Warning!', message: 'You are Off-line!'});
- }
- };
- _Handler.prototype.getUserData = function() {
- return this.userData || {};
- };
- _Handler.prototype.initLoginScreen = function(callback) {
- var self = this;
- var container = document.getElementById('Login');
- var login = document.getElementById('LoginForm');
- var u = document.getElementById('LoginUsername');
- var p = document.getElementById('LoginPassword');
- var s = document.getElementById('LoginSubmit');
- if ( !container ) {
- throw new Error('Could not find Login Form Container');
- }
- function _restore() {
- s.removeAttribute('disabled');
- u.removeAttribute('disabled');
- p.removeAttribute('disabled');
- }
- function _lock() {
- s.setAttribute('disabled', 'disabled');
- u.setAttribute('disabled', 'disabled');
- p.setAttribute('disabled', 'disabled');
- }
- function _login(username, password) {
- self.login(username, password, function(error, result) {
- if ( error ) {
- alert(error);
- _restore();
- return;
- }
- container.parentNode.removeChild(container);
- self.onLogin(result, function() {
- callback();
- });
- });
- }
- login.onsubmit = function(ev) {
- _lock();
- if ( ev ) {
- ev.preventDefault();
- }
- _login(u.value, p.value);
- };
- container.style.display = 'block';
- _restore();
- };
- _Handler.use = (function() {
- var traits = {
- init: function defaultInit(callback) {
- var self = this;
- return OSjs.Core._Handler.prototype.init.call(this, function() {
- self.initLoginScreen(callback);
- });
- },
- login: function defaultLogin(username, password, callback) {
- return OSjs.Core._Handler.prototype.login.apply(this, arguments);
- },
- logout: function defaultLogout(save, callback) {
- return OSjs.Core._Handler.prototype.logout.apply(this, arguments);
- },
- settings: function defaultSettings(pool, storage, callback) {
- return OSjs.Core._Handler.prototype.saveSettings.apply(this, arguments);
- }
- };
- function applyTraits(obj, add) {
- add.forEach(function(fn) {
- obj.prototype[fn] = traits[fn];
- });
- }
- var exports = {
- defaults: function(obj) {
- applyTraits(obj, Object.keys(traits));
- }
- };
- Object.keys(traits).forEach(function(k) {
- exports[k] = function(obj) {
- applyTraits(obj, [k]);
- };
- });
- return exports;
- })();
- OSjs.Core._Handler = _Handler;
- OSjs.Core.Handler = null;
- OSjs.Core.getHandler = function() {
- return _handlerInstance;
- };
-})(OSjs.API, OSjs.Utils);
-
-(function(API, Utils, VFS) {
- 'use strict';
- function getSettings() {
- var result = {};
- var key;
- for ( var i = 0; i < localStorage.length; i++ ) {
- key = localStorage.key(i);
- if ( key.match(/^OSjs\//) ) {
- try {
- result[key.replace(/^OSjs\//, '')] = JSON.parse(localStorage.getItem(key));
- } catch ( e ) {
- console.warn('DemoHandler::getSetting()', 'exception', e, e.stack);
- }
- }
- }
- return result;
- }
- function DemoHandler() {
- OSjs.Core._Handler.apply(this, arguments);
- var curr = API.getConfig('Version');
- var version = localStorage.getItem('__version__');
- if ( curr !== version ) {
- console.warn('DemoHandler()', 'You are running', version, 'version is', curr, 'flushing for compability!');
- localStorage.clear();
- }
- localStorage.setItem('__version__', String(curr));
- }
- DemoHandler.prototype = Object.create(OSjs.Core._Handler.prototype);
- DemoHandler.constructor = OSjs.Core._Handler;
- DemoHandler.prototype.init = function(callback) {
- var self = this;
- OSjs.Core._Handler.prototype.init.call(this, function() {
- function finished(result) {
- result.userSettings = getSettings();
- self.onLogin(result, function() {
- callback();
- });
- }
- if ( API.getConfig('Connection.Type') === 'standalone' || window.location.protocol === 'file:' ) {
- finished({
- userData: {
- id: 0,
- username: 'demo',
- name: 'Local Server',
- groups: ['admin']
- }
- });
- } else {
- self.login('demo', 'demo', function(error, result) {
- if ( error ) {
- callback(error);
- } else {
- finished(result);
- }
- });
- }
- });
- };
- DemoHandler.prototype.saveSettings = function(pool, storage, callback) {
- Object.keys(storage).forEach(function(key) {
- if ( pool && key !== pool ) {
- return;
- }
- try {
- localStorage.setItem('OSjs/' + key, JSON.stringify(storage[key]));
- } catch ( e ) {
- console.warn('DemoHandler::_save()', 'exception', e, e.stack);
- }
- });
- callback();
- };
- OSjs.Core.Handler = DemoHandler;
-})(OSjs.API, OSjs.Utils, OSjs.VFS);
-
-(function(Utils, API, VFS, Core) {
- 'use strict';
- VFS.Helpers.filterScandir = function filterScandir(list, options) {
- var defaultOptions = Utils.cloneObject(Core.getSettingsManager().get('VFS') || {});
- options = Utils.argumentDefaults(options, defaultOptions.scandir || {});
- options = Utils.argumentDefaults(options, {
- typeFilter: null,
- mimeFilter: [],
- showHiddenFiles: true
- }, true);
- function filterFile(iter) {
- if ( (options.typeFilter && iter.type !== options.typeFilter) || (!options.showHiddenFiles && iter.filename.match(/^\.\w/)) ) {
- return false;
- }
- return true;
- }
- function validMime(iter) {
- if ( options.mimeFilter && options.mimeFilter.length && iter.mime ) {
- return options.mimeFilter.some(function(miter) {
- if ( iter.mime.match(miter) ) {
- return true;
- }
- return false;
- });
- }
- return true;
- }
- var result = list.filter(function(iter) {
- if ( (iter.filename === '..' && options.backlink === false) || !filterFile(iter) ) {
- return false;
- }
- if ( iter.type === 'file' && !validMime(iter) ) {
- return false;
- }
- return true;
- }).map(function(iter) {
- if ( iter.mime === 'application/vnd.google-apps.folder' ) {
- iter.type = 'dir';
- }
- return iter;
- });
- return result.filter(function(iter) {
- return iter.type === 'dir';
- }).concat(result.filter(function(iter) {
- return iter.type !== 'dir';
- }));
- };
- function _abToSomething(m, arrayBuffer, mime, callback) {
- mime = mime || 'application/octet-stream';
- try {
- var blob = new Blob([arrayBuffer], {type: mime});
- var r = new FileReader();
- r.onerror = function(e) {
- callback(e);
- };
- r.onloadend = function() {
- callback(false, r.result);
- };
- r[m](blob);
- } catch ( e ) {
- console.warn(e, e.stack);
- callback(e);
- }
- }
- VFS.Helpers.addFormFile = function addFormFile(fd, key, data, file) {
- if ( data instanceof window.File ) {
- fd.append(key, data);
- } else {
- if ( file ) {
- if ( data instanceof window.ArrayBuffer ) {
- try {
- data = new Blob([data], {type: file.mime});
- } catch ( e ) {
- data = null;
- console.warn(e, e.stack);
- }
- }
- fd.append(key, data, file.filename);
- } else {
- if ( data.data && data.filename ) { // In case user defines custom
- fd.append(key, data.data, data.filename);
- }
- }
- }
- };
- VFS.Helpers.dataSourceToAb = function dataSourceToAb(data, mime, callback) {
- var byteString = atob(data.split(',')[1]);
- var ab = new ArrayBuffer(byteString.length);
- var ia = new Uint8Array(ab);
- for (var i = 0; i < byteString.length; i++) {
- ia[i] = byteString.charCodeAt(i);
- }
- callback(false, ab);
- };
- VFS.Helpers.textToAb = function textToAb(data, mime, callback) {
- _abToSomething('readAsArrayBuffer', data, mime, callback);
- };
- VFS.Helpers.abToDataSource = function abToDataSource(arrayBuffer, mime, callback) {
- _abToSomething('readAsDataURL', arrayBuffer, mime, callback);
- };
- VFS.Helpers.abToText = function abToText(arrayBuffer, mime, callback) {
- _abToSomething('readAsText', arrayBuffer, mime, callback);
- };
- VFS.Helpers.abToBinaryString = function abToBinaryString(arrayBuffer, mime, callback) {
- _abToSomething('readAsBinaryString', arrayBuffer, mime, callback);
- };
- VFS.Helpers.abToBlob = function abToBlob(arrayBuffer, mime, callback) {
- mime = mime || 'application/octet-stream';
- try {
- var blob = new Blob([arrayBuffer], {type: mime});
- callback(false, blob);
- } catch ( e ) {
- console.warn(e, e.stack);
- callback(e);
- }
- };
- VFS.Helpers.blobToAb = function blobToAb(data, callback) {
- try {
- var r = new FileReader();
- r.onerror = function(e) {
- callback(e);
- };
- r.onloadend = function() {
- callback(false, r.result);
- };
- r.readAsArrayBuffer(data);
- } catch ( e ) {
- console.warn(e, e.stack);
- callback(e);
- }
- };
-})(OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.Core);
-
-(function(Utils, API, VFS, Core) {
- 'use strict';
- function request(test, method, args, callback, options) {
- var mm = Core.getMountManager();
- var d = mm.getModuleFromPath(test, false);
- if ( !d ) {
- throw new Error(API._('ERR_VFSMODULE_NOT_FOUND_FMT', test));
- }
- if ( typeof method !== 'string' ) {
- throw new TypeError(API._('ERR_ARGUMENT_FMT', 'VFS::' + method, 'method', 'String', typeof method));
- }
- if ( !(args instanceof Object) ) {
- throw new TypeError(API._('ERR_ARGUMENT_FMT', 'VFS::' + method, 'args', 'Object', typeof args));
- }
- if ( !(callback instanceof Function) ) {
- throw new TypeError(API._('ERR_ARGUMENT_FMT', 'VFS::' + method, 'callback', 'Function', typeof callback));
- }
- if ( options && !(options instanceof Object) ) {
- throw new TypeError(API._('ERR_ARGUMENT_FMT', 'VFS::' + method, 'options', 'Object', typeof options));
- }
- var h = Core.getHandler();
- h.onVFSRequest(d, method, args, function vfsRequestCallback(err, response) {
- if ( arguments.length === 2 ) {
- console.warn('VFS::request()', 'Core::onVFSRequest hijacked the VFS request');
- callback(err, response);
- return;
- }
- try {
- mm.getModule(d).request(method, args, function(err, res) {
- h.onVFSRequestCompleted(d, method, args, err, res, function(e, r) {
- if ( arguments.length === 2 ) {
- console.warn('VFS::request()', 'Core::onVFSRequestCompleted hijacked the VFS request');
- callback(e, r);
- return;
- } else {
- callback(err, res);
- }
- });
- }, options);
- } catch ( e ) {
- var msg = API._('ERR_VFSMODULE_EXCEPTION_FMT', e.toString());
- callback(msg);
- console.warn('VFS::request()', 'exception', e.stack, e);
- }
- });
- }
- function requestWrapper(args, errstr, callback, onfinished, options) {
- function _finished(error, response) {
- if ( error ) {
- error = API._(errstr, error);
- }
- if ( onfinished ) {
- response = onfinished(error, response);
- }
- callback(error, response);
- }
- args.push(_finished);
- if ( typeof options !== 'undefined' ) {
- args.push(options);
- }
- try {
- request.apply(null, args);
- } catch ( e ) {
- _finished(e);
- }
- }
- function hasAlias(item, retm) {
- var mm = OSjs.Core.getMountManager();
- var module = mm.getModuleFromPath(item.path, false, true);
- if ( module && module.options && module.options.alias ) {
- return retm ? module : item.path.replace(module.match, module.options.alias);
- }
- return false;
- }
- function findAlias(item) {
- var mm = OSjs.Core.getMountManager();
- var found = null;
- mm.getModules().forEach(function(iter) {
- if ( !found && iter.module.options && iter.module.options.alias ) {
- var a = iter.module.options.alias;
- if ( item.path.substr(0, a.length) === a ) {
- found = iter.module;
- }
- }
- });
- return found;
- }
- function checkMetadataArgument(item, err) {
- if ( typeof item === 'string' ) {
- item = new VFS.File(item);
- } else if ( typeof item === 'object' && item.path ) {
- item = new VFS.File(item);
- }
- if ( !(item instanceof VFS.File) ) {
- throw new TypeError(err || API._('ERR_VFS_EXPECT_FILE'));
- }
- var alias = hasAlias(item);
- if ( alias ) {
- item.path = alias;
- }
- if ( !Core.getMountManager().getModuleFromPath(item.path, false) ) {
- throw new Error(API._('ERR_VFSMODULE_NOT_FOUND_FMT', item.path));
- }
- return item;
- }
- function hasSameTransport(src, dest) {
- var mm = Core.getMountManager();
- if ( mm.isInternal(src.path) && mm.isInternal(dest.path) ) {
- return true;
- }
- var msrc = mm.getModuleFromPath(src.path, false, true) || {};
- var mdst = mm.getModuleFromPath(dest.path, false, true) || {};
- return (msrc.transport === mdst.transport) || (msrc.name === mdst.name);
- }
- function existsWrapper(item, callback, options) {
- options = options || {};
- try {
- if ( typeof options.overwrite !== 'undefined' && options.overwrite === true ) {
- callback();
- } else {
- VFS.exists(item, function(error, result) {
- if ( error ) {
- console.warn('existsWrapper() error', error);
- }
- if ( result ) {
- callback(API._('ERR_VFS_FILE_EXISTS'));
- } else {
- callback();
- }
- });
- }
- } catch ( e ) {
- callback(e);
- }
- }
- function isReadOnly(item) {
- var m = Core.getMountManager().getModuleFromPath(item.path, false, true) || {};
- return m.readOnly === true;
- }
- function broadcastMessage(msg, item, appRef) {
- API.message(msg, item, {source: appRef ? appRef.__pid : null});
- var aliased = (function() {
- function _transform(i) {
- if ( i instanceof VFS.File ) {
- var n = new VFS.File(i);
- var alias = findAlias(n);
- if ( alias ) {
- n.path = n.path.replace(alias.options.alias, alias.root);
- return n;
- }
- }
- return false;
- }
- if ( item instanceof VFS.File ) {
- return _transform(item);
- } else if ( item && item.destination && item.source ) {
- return {
- source: _transform(item.source),
- destination: _transform(item.destination)
- };
- }
- return null;
- })();
- var tuple = aliased.source || aliased.destination;
- if ( aliased && (aliased instanceof VFS.File || tuple) ) {
- if ( tuple ) {
- aliased.source = aliased.source || item.source;
- aliased.destination = aliased.destination || item.destination;
- }
- API.message(msg, aliased, {source: appRef ? appRef.__pid : null});
- }
- }
- function createBackLink(item, result, alias, oitem) {
- var path = Utils.getPathProtocol(item.path);
- var isOnRoot = path.replace(/\/+/, '/') === '/';
- if ( alias ) {
- isOnRoot = (oitem.path === alias.root);
- }
- if ( !isOnRoot ) {
- var foundBack = result.some(function(iter) {
- return iter.filename === '..';
- });
- if ( !foundBack ) {
- return new VFS.File({
- filename: '..',
- path: Utils.dirname(item.path),
- mime: null,
- size: 0,
- type: 'dir'
- });
- }
- }
- return false;
- }
- VFS.find = function(item, args, callback, options) {
- if ( arguments.length < 3 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'find', [item, args]], 'ERR_VFSMODULE_FIND_FMT', callback, null, options);
- };
- VFS.scandir = function(item, callback, options) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- var oitem = new VFS.File(item);
- var alias = hasAlias(oitem, true);
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'scandir', [item]], 'ERR_VFSMODULE_SCANDIR_FMT', function(error, result) {
- if ( alias && result ) {
- result = result.map(function(iter) {
- var niter = new VFS.File(iter);
- var str = iter.path.replace(/\/?$/, '');
- var tmp = alias.options.alias.replace(/\/?$/, '');
- niter.path = Utils.pathJoin(alias.root, str.replace(tmp, ''));
- return niter;
- });
- }
- if ( !error && result instanceof Array ) {
- var back = createBackLink(item, result, alias, oitem);
- if ( back ) {
- result.unshift(back);
- }
- }
- return callback(error, result);
- }, null, options);
- };
- VFS.write = function(item, data, callback, options, appRef) {
- if ( arguments.length < 3 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- function _finished(error, result) {
- if ( error ) {
- error = API._('ERR_VFSMODULE_WRITE_FMT', error);
- } else {
- broadcastMessage('vfs:write', item, appRef);
- }
- callback(error, result);
- }
- function _write(filedata) {
- try {
- request(item.path, 'write', [item, filedata], _finished, options);
- } catch ( e ) {
- _finished(e);
- }
- }
- function _converted(error, response) {
- if ( error ) {
- _finished(error, null);
- return;
- }
- _write(response);
- }
- try {
- if ( typeof data === 'string' ) {
- if ( data.length ) {
- VFS.Helpers.textToAb(data, item.mime, function(error, response) {
- _converted(error, response);
- });
- } else {
- _converted(null, data);
- }
- } else {
- if ( data instanceof VFS.FileDataURL ) {
- VFS.Helpers.dataSourceToAb(data.toString(), item.mime, function(error, response) {
- _converted(error, response);
- });
- return;
- } else if ( window.Blob && data instanceof window.Blob ) {
- VFS.Helpers.blobToAb(data, function(error, response) {
- _converted(error, response);
- });
- return;
- }
- _write(data);
- }
- } catch ( e ) {
- _finished(e);
- }
- };
- VFS.read = function(item, callback, options) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- options = options || {};
- function _finished(error, response) {
- if ( error ) {
- error = API._('ERR_VFSMODULE_READ_FMT', error);
- callback(error);
- return;
- }
- if ( options.type ) {
- var types = {
- datasource: function readToDataSource() {
- VFS.Helpers.abToDataSource(response, item.mime, function(error, dataSource) {
- callback(error, error ? null : dataSource);
- });
- },
- text: function readToText() {
- VFS.Helpers.abToText(response, item.mime, function(error, text) {
- callback(error, error ? null : text);
- });
- },
- blob: function readToBlob() {
- VFS.Helpers.abToBlob(response, item.mime, function(error, blob) {
- callback(error, error ? null : blob);
- });
- },
- json: function readToJSON() {
- VFS.Helpers.abToText(response, item.mime, function(error, text) {
- var jsn;
- if ( typeof text === 'string' ) {
- try {
- jsn = JSON.parse(text);
- } catch ( e ) {
- console.warn('VFS::read()', 'readToJSON', e.stack, e);
- }
- }
- callback(error, error ? null : jsn);
- });
- }
- };
- var type = options.type.toLowerCase();
- if ( types[type] ) {
- types[type]();
- return;
- }
- }
- callback(error, error ? null : response);
- }
- try {
- request(item.path, 'read', [item], function(error, response) {
- _finished(error, error ? false : response);
- }, options);
- } catch ( e ) {
- _finished(e);
- }
- };
- VFS.copy = function(src, dest, callback, options, appRef) {
- if ( arguments.length < 3 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- var mm = Core.getMountManager();
- src = checkMetadataArgument(src, API._('ERR_VFS_EXPECT_SRC_FILE'));
- dest = checkMetadataArgument(dest, API._('ERR_VFS_EXPECT_DST_FILE'));
- if ( isReadOnly(dest) ) {
- callback(API._('ERR_VFSMODULE_READONLY_FMT', mm.getModuleFromPath(dest.path)));
- return;
- }
- options = Utils.argumentDefaults(options, {
- type: 'binary',
- dialog: null
- });
- options.arrayBuffer = true;
- function dialogProgress(prog) {
- if ( options.dialog ) {
- options.dialog.setProgress(prog);
- }
- }
- function doRequest() {
- function _finished(error, result) {
- if ( !error ) {
- broadcastMessage('vfs:copy', dest, appRef);
- }
- callback(error, result);
- }
- if ( hasSameTransport(src, dest) ) {
- request(src.path, 'copy', [src, dest], function(error, response) {
- dialogProgress(100);
- if ( error ) {
- error = API._('ERR_VFSMODULE_COPY_FMT', error);
- }
- _finished(error, response);
- }, options);
- } else {
- var msrc = mm.getModuleFromPath(src.path);
- var mdst = mm.getModuleFromPath(dest.path);
- if ( src.type === 'dir' ) {
- _finished(API._('ERR_VFSMODULE_COPY_FMT', 'Copying folders between different transports is not yet supported!'));
- return;
- }
- dest.mime = src.mime;
- mm.getModule(msrc).request('read', [src], function(error, data) {
- dialogProgress(50);
- if ( error ) {
- _finished(API._('ERR_VFS_TRANSFER_FMT', error));
- return;
- }
- mm.getModule(mdst).request('write', [dest, data], function(error, result) {
- dialogProgress(100);
- if ( error ) {
- error = API._('ERR_VFSMODULE_COPY_FMT', error);
- }
- _finished(error, result);
- }, options);
- }, options);
- }
- }
- existsWrapper(dest, function(error) {
- if ( error ) {
- callback(API._('ERR_VFSMODULE_COPY_FMT', error));
- } else {
- try {
- doRequest();
- } catch ( e ) {
- callback(API._('ERR_VFSMODULE_COPY_FMT', e));
- }
- }
- });
- };
- VFS.move = function(src, dest, callback, options, appRef) {
- var self = this;
- if ( arguments.length < 3 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- var mm = Core.getMountManager();
- src = checkMetadataArgument(src, API._('ERR_VFS_EXPECT_SRC_FILE'));
- dest = checkMetadataArgument(dest, API._('ERR_VFS_EXPECT_DST_FILE'));
- if ( isReadOnly(dest) ) {
- callback(API._('ERR_VFSMODULE_READONLY_FMT', mm.getModuleFromPath(dest.path)));
- return;
- }
- function doRequest() {
- function _finished(error, result) {
- if ( !error ) {
- broadcastMessage('vfs:move', {source: src, destination: dest}, appRef);
- }
- callback(error, result);
- }
- if ( hasSameTransport(src, dest) ) {
- request(src.path, 'move', [src, dest], function(error, response) {
- if ( error ) {
- error = API._('ERR_VFSMODULE_MOVE_FMT', error);
- }
- _finished(error, error ? null : response, dest);
- }, options);
- } else {
- var msrc = mm.getModuleFromPath(src.path);
- dest.mime = src.mime;
- self.copy(src, dest, function(error, result) {
- if ( error ) {
- error = API._('ERR_VFS_TRANSFER_FMT', error);
- return _finished(error);
- }
- mm.getModule(msrc).request('unlink', [src], function(error, result) {
- if ( error ) {
- error = API._('ERR_VFS_TRANSFER_FMT', error);
- }
- _finished(error, result, dest);
- }, options);
- });
- }
- }
- existsWrapper(dest, function(error) {
- if ( error ) {
- callback(API._('ERR_VFSMODULE_MOVE_FMT', error));
- } else {
- try {
- doRequest();
- } catch ( e ) {
- callback(API._('ERR_VFSMODULE_MOVE_FMT', e));
- }
- }
- });
- };
- VFS.rename = function(src, dest, callback) {
- VFS.move.apply(this, arguments);
- };
- VFS.unlink = function(item, callback, options, appRef) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- function _checkPath() {
- var pkgdir = OSjs.Core.getSettingsManager().instance('PackageManager').get('PackagePaths', []);
- var found = pkgdir.some(function(i) {
- var chkdir = new VFS.File(i);
- var idir = Utils.dirname(item.path);
- return idir === chkdir.path;
- });
- if ( found ) {
- Core.getPackageManager().generateUserMetadata(function() {});
- }
- }
- requestWrapper([item.path, 'unlink', [item]], 'ERR_VFSMODULE_UNLINK_FMT', callback, function(error, response) {
- if ( !error ) {
- broadcastMessage('vfs:unlink', item, appRef);
- _checkPath();
- }
- return response;
- }, options);
- };
- (function() {
- VFS['delete'] = function(item, callback) {
- VFS.unlink.apply(this, arguments);
- };
- })();
- VFS.mkdir = function(item, callback, options, appRef) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- existsWrapper(item, function(error) {
- if ( error ) {
- return callback(API._('ERR_VFSMODULE_MKDIR_FMT', error));
- }
- requestWrapper([item.path, 'mkdir', [item]], 'ERR_VFSMODULE_MKDIR_FMT', callback, function(error, response) {
- if ( !error ) {
- broadcastMessage('vfs:mkdir', item, appRef);
- }
- return response;
- }, options);
- });
- };
- VFS.exists = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'exists', [item]], 'ERR_VFSMODULE_EXISTS_FMT', callback);
- };
- VFS.fileinfo = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'fileinfo', [item]], 'ERR_VFSMODULE_FILEINFO_FMT', callback);
- };
- VFS.url = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'url', [item]], 'ERR_VFSMODULE_URL_FMT', callback, function(error, response) {
- return error ? false : Utils.checkdir(response);
- });
- };
- VFS.upload = function(args, callback, options, appRef) {
- args = args || {};
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- if ( !args.files ) {
- throw new Error(API._('ERR_VFS_UPLOAD_NO_FILES'));
- }
- if ( !args.destination ) {
- throw new Error(API._('ERR_VFS_UPLOAD_NO_DEST'));
- }
- function _createFile(filename, mime, size) {
- var npath = (args.destination + '/' + filename).replace(/\/\/\/\/+/, '///');
- return new VFS.File({
- filename: filename,
- path: npath,
- mime: mime || 'application/octet-stream',
- size: size
- });
- }
- function _dialogClose(ev, btn, ufile) {
- if ( btn !== 'ok' && btn !== 'complete' ) {
- callback(false, false);
- return;
- }
- var file = _createFile(ufile.name, ufile.mime, ufile.size);
- callback(false, file);
- }
- var mm = Core.getMountManager();
- if ( !mm.isInternal(args.destination) ) {
- args.files.forEach(function(f, i) {
- request(args.destination, 'upload', [f, args.destination], callback, options);
- });
- return;
- }
- function doRequest(f, i) {
- if ( args.app ) {
- API.createDialog('FileUpload', {
- dest: args.destination,
- file: f
- }, _dialogClose, args.win || args.app);
- } else {
- var realDest = new VFS.File(args.destination);
- var tmpPath = hasAlias(realDest);
- if ( tmpPath ) {
- realDest = tmpPath;
- }
- VFS.Transports.Internal.upload(f, realDest, function(err, result, ev) {
- if ( err ) {
- if ( err === 'canceled' ) {
- callback(API._('ERR_VFS_UPLOAD_CANCELLED'), null, ev);
- } else {
- var errstr = ev ? ev.toString() : 'Unknown reason';
- var msg = API._('ERR_VFS_UPLOAD_FAIL_FMT', errstr);
- callback(msg, null, ev);
- }
- } else {
- var file = _createFile(f.name, f.type, f.size);
- broadcastMessage('vfs:upload', file, args.app);
- callback(false, file, ev);
- }
- }, options);
- }
- }
- args.files.forEach(function(f, i) {
- var filename = (f instanceof window.File) ? f.name : f.filename;
- var dest = new VFS.File(args.destination + '/' + filename);
- existsWrapper(dest, function(error) {
- if ( error ) {
- return callback(error);
- }
- try {
- doRequest(f, i);
- } catch ( e ) {
- callback(API._('ERR_VFS_UPLOAD_FAIL_FMT', e));
- }
- }, options);
- });
- };
- VFS.download = (function download() {
- var _didx = 1;
- return function(args, callback) {
- args = args || {};
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- if ( !args.path ) {
- throw new Error(API._('ERR_VFS_DOWNLOAD_NO_FILE'));
- }
- args = checkMetadataArgument(args);
- var lname = 'DownloadFile_' + _didx;
- _didx++;
- API.createLoading(lname, {className: 'BusyNotification', tooltip: API._('TOOLTIP_VFS_DOWNLOAD_NOTIFICATION')});
- var mm = Core.getMountManager();
- var dmodule = mm.getModuleFromPath(args.path);
- if ( !mm.isInternal(args.path) ) {
- var file = args;
- if ( !(file instanceof VFS.File) ) {
- file = new VFS.File(args.path);
- if ( args.id ) {
- file.id = args.id;
- }
- }
- mm.getModule(dmodule).request('read', [file], function(error, result) {
- API.destroyLoading(lname);
- if ( error ) {
- callback(API._('ERR_VFS_DOWNLOAD_FAILED', error));
- return;
- }
- callback(false, result);
- });
- return;
- }
- VFS.url(args, function(error, url) {
- if ( error ) {
- return callback(error);
- }
- Utils.ajax({
- url: url,
- method: 'GET',
- responseType: 'arraybuffer',
- onsuccess: function(result) {
- API.destroyLoading(lname);
- callback(false, result);
- },
- onerror: function(result) {
- API.destroyLoading(lname);
- callback(error);
- }
- });
- });
- };
- })();
- VFS.trash = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'trash', [item]], 'ERR_VFSMODULE_TRASH_FMT', callback);
- };
- VFS.untrash = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- requestWrapper([item.path, 'untrash', [item]], 'ERR_VFSMODULE_UNTRASH_FMT', callback);
- };
- VFS.emptyTrash = function(callback) {
- if ( arguments.length < 1 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- requestWrapper([null, 'emptyTrash', []], 'ERR_VFSMODULE_EMPTYTRASH_FMT', callback);
- };
- VFS.freeSpace = function(item, callback) {
- if ( arguments.length < 2 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- item = checkMetadataArgument(item);
- var m = Core.getMountManager().getModuleFromPath(item.path, false, true);
- requestWrapper([item.path, 'freeSpace', [m.root]], 'ERR_VFSMODULE_FREESPACE_FMT', callback);
- };
-})(OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.Core);
-
-(function(Utils, API, VFS) {
- 'use strict';
- function FileDataURL(dataURL) {
- this.dataURL = dataURL;
- }
- FileDataURL.prototype.toBase64 = function() {
- return this.data.split(',')[1];
- };
- FileDataURL.prototype.toString = function() {
- return this.dataURL;
- };
- function FileMetadata(arg, mime) {
- if ( !arg ) {
- throw new Error(API._('ERR_VFS_FILE_ARGS'));
- }
- this.path = null;
- this.filename = null;
- this.type = null;
- this.size = null;
- this.mime = null;
- this.id = null;
- if ( typeof arg === 'object' ) {
- this.setData(arg);
- } else if ( typeof arg === 'string' ) {
- this.path = arg;
- this.setData();
- }
- if ( typeof mime === 'string' ) {
- if ( mime.match(/\//) ) {
- this.mime = mime;
- } else {
- this.type = mime;
- }
- }
- this._guessMime();
- }
- FileMetadata.prototype.setData = function(o) {
- var self = this;
- if ( o ) {
- Object.keys(o).forEach(function(k) {
- if ( k !== '_element' ) {
- self[k] = o[k];
- }
- });
- }
- if ( !this.filename ) {
- this.filename = Utils.filename(this.path);
- }
- };
- FileMetadata.prototype.getData = function() {
- return {
- path: this.path,
- filename: this.filename,
- type: this.type,
- size: this.size,
- mime: this.mime,
- id: this.id
- };
- };
- FileMetadata.prototype.copy = function(dest, callback, options, appRef) {
- return VFS.copy(this, dest, callback, options, appRef);
- };
- FileMetadata.prototype.download = function(callback) {
- return VFS.download(this, callback);
- };
- FileMetadata.prototype.delete = function() {
- return this.unlink.apply(this, arguments);
- };
- FileMetadata.prototype.unlink = function(callback, options, appRef) {
- return VFS.unlink(this, callback, options, appRef);
- };
- FileMetadata.prototype.exists = function(callback) {
- return VFS.exists(this, callback);
- };
- FileMetadata.prototype.mkdir = function(callback, options, appRef) {
- return VFS.mkdir(this, callback, options, appRef);
- };
- FileMetadata.prototype.move = function(dest, callback, options, appRef) {
- var self = this;
- return VFS.move(this, dest, function(err, res, newDest) {
- if ( !err && newDest ) {
- self.setData(newDest);
- }
- callback.apply(this, arguments);
- }, options, appRef);
- };
- FileMetadata.prototype.read = function(callback, options) {
- return VFS.read(this, callback, options);
- };
- FileMetadata.prototype.rename = function() {
- return this.move.apply(this, arguments);
- };
- FileMetadata.prototype.scandir = function(callback, options) {
- return VFS.scandir(this, callback, options);
- };
- FileMetadata.prototype.trash = function(callback) {
- return VFS.trash(this, callback);
- };
- FileMetadata.prototype.untrash = function(callback) {
- return VFS.untrash(this, callback);
- };
- FileMetadata.prototype.url = function(callback) {
- return VFS.url(this, callback);
- };
- FileMetadata.prototype.write = function(data, callback, options, appRef) {
- return VFS.write(this, data, callback, options, appRef);
- };
- FileMetadata.prototype._guessMime = function() {
- if ( this.mime || this.type === 'dir' || (!this.path || this.path.match(/\/$/)) ) {
- return;
- }
- var ext = Utils.filext(this.path);
- this.mime = API.getConfig('MIME.mapping')['.' + ext] || 'application/octet-stream';
- };
- VFS.file = function createFileInstance(arg, mime) {
- return new FileMetadata(arg, mime);
- };
- VFS.File = FileMetadata;
- VFS.FileDataURL = FileDataURL;
-})(OSjs.Utils, OSjs.API, OSjs.VFS);
-
-(function(Utils, API, VFS) {
- 'use strict';
- function makePath(item) {
- if ( typeof item === 'string' ) {
- item = new VFS.File(item);
- }
- return OSjs.Core.getHandler().getVFSPath(item);
- }
- function internalRequest(name, args, callback) {
- API.call('FS:' + name, args, function(err, res) {
- if ( !err && typeof res === 'undefined' ) {
- err = API._('ERR_VFS_FATAL');
- }
- callback(err, res);
- });
- }
- function internalUpload(file, dest, callback, options) {
- options = options || {};
- if ( dest instanceof VFS.File ) {
- dest = dest.path;
- }
- if ( typeof file.size !== 'undefined' ) {
- var maxSize = API.getConfig('VFS.MaxUploadSize');
- if ( maxSize > 0 ) {
- var bytes = file.size;
- if ( bytes > maxSize ) {
- var msg = API._('DIALOG_UPLOAD_TOO_BIG_FMT', Utils.humanFileSize(maxSize));
- callback('error', null, msg);
- return;
- }
- }
- }
- var fd = new FormData();
- fd.append('upload', 1);
- fd.append('path', dest);
- if ( options ) {
- Object.keys(options).forEach(function(key) {
- fd.append(key, String(options[key]));
- });
- }
- VFS.Helpers.addFormFile(fd, 'upload', file);
- OSjs.Core.getHandler().callAPI('FS:upload', fd, callback, null, options);
- }
- function internalFetch(url, mime, callback, options) {
- options = options || {};
- options.type = options.type || 'binary';
- mime = options.mime || 'application/octet-stream';
- if ( arguments.length < 1 ) {
- throw new Error(API._('ERR_VFS_NUM_ARGS'));
- }
- options = options || {};
- API.curl({
- url: url,
- binary: true,
- mime: mime
- }, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !response.body ) {
- callback(API._('ERR_VFS_REMOTEREAD_EMPTY'));
- return;
- }
- if ( options.type.toLowerCase() === 'datasource' ) {
- callback(false, response.body);
- return;
- }
- VFS.Helpers.dataSourceToAb(response.body, mime, function(error, response) {
- if ( options.type === 'text' ) {
- VFS.Helpers.abToText(response, mime, function(error, text) {
- callback(error, text);
- });
- return;
- }
- callback(error, response);
- });
- });
- }
- var Transport = {
- scandir: function(item, callback, options) {
- internalRequest('scandir', {path: item.path}, function(error, result) {
- var list = [];
- if ( result ) {
- result = VFS.Helpers.filterScandir(result, options);
- result.forEach(function(iter) {
- list.push(new VFS.File(iter));
- });
- }
- callback(error, list);
- });
- },
- write: function(item, data, callback, options) {
- options = options || {};
- options.onprogress = options.onprogress || function() {};
- function _write(dataSource) {
- var wopts = {path: item.path, data: dataSource};
- internalRequest('write', wopts, callback, options);
- }
- if ( typeof data === 'string' && !data.length ) {
- _write(data);
- return;
- }
- VFS.Helpers.abToDataSource(data, item.mime, function(error, dataSource) {
- if ( error ) {
- callback(error);
- return;
- }
- _write(dataSource);
- });
- },
- read: function(item, callback, options) {
- if ( API.getConfig('Connection.Type') === 'nw' ) {
- OSjs.Core.getHandler().nw.request(true, 'read', {
- path: item.path,
- options: {raw: true}
- }, function(err, res) {
- callback(err, res);
- });
- return;
- }
- internalRequest('get', {path: item.path}, callback, options);
- },
- copy: function(src, dest, callback) {
- internalRequest('copy', {src: src.path, dest: dest.path}, callback);
- },
- move: function(src, dest, callback) {
- internalRequest('move', {src: src.path, dest: dest.path}, callback);
- },
- unlink: function(item, callback) {
- internalRequest('delete', {path: item.path}, callback);
- },
- mkdir: function(item, callback) {
- internalRequest('mkdir', {path: item.path}, callback);
- },
- exists: function(item, callback) {
- internalRequest('exists', {path: item.path}, callback);
- },
- fileinfo: function(item, callback) {
- internalRequest('fileinfo', {path: item.path}, callback);
- },
- find: function(item, args, callback) {
- internalRequest('find', {path: item.path, args: args}, callback);
- },
- url: function(item, callback) {
- callback(false, VFS.Transports.Internal.path(item));
- },
- freeSpace: function(root, callback) {
- internalRequest('freeSpace', {root: root}, callback);
- }
- };
- VFS.Transports.Internal = {
- request: internalRequest,
- upload: internalUpload,
- fetch: internalFetch,
- module: Transport,
- path: makePath
- };
-})(OSjs.Utils, OSjs.API, OSjs.VFS);
-
-(function(Utils, API, VFS) {
- 'use strict';
- VFS.Transports.HTTP = {
- module: {
- read: function(item, callback, options) {
- VFS.Transports.Internal.fetch(item.path, item.mime, callback, options);
- }
- }
- };
- OSjs.Core.getMountManager()._add({
- readOnly: true,
- name: 'HTTP',
- transport: 'HTTP',
- description: 'HTTP',
- visible: false,
- searchable: false,
- unmount: function(cb) {
- cb(false, false);
- },
- mounted: function() {
- return true;
- },
- enabled: function() {
- return true;
- },
- root: 'http:///',
- icon: 'places/google-drive.png',
- match: /^https?\:\/\//
- });
-})(OSjs.Utils, OSjs.API, OSjs.VFS);
-
-(function(Utils, API) {
- 'use strict';
- var Transport = {
- url: function(item, callback) {
- var root = window.location.pathname || '/';
- if ( root === '/' || window.location.protocol === 'file:' ) {
- root = '';
- }
- var mm = OSjs.Core.getMountManager();
- var module = mm.getModuleFromPath(item.path, false, true);
- var url = item.path.replace(module.match, root);
- callback(false, url);
- }
- };
- var restricted = ['write', 'move', 'unlink', 'mkdir', 'exists', 'fileinfo', 'trash', 'untrash', 'emptyTrash', 'freeSpace'];
- var internal = OSjs.VFS.Transports.Internal.module;
- Object.keys(internal).forEach(function(n) {
- if ( restricted.indexOf(n) === -1 ) {
- Transport[n] = internal[n];
- }
- });
- OSjs.VFS.Transports.OSjs = {
- module: Transport,
- defaults: function(opts) {
- opts.readOnly = true;
- opts.searchable = true;
- }
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- function makePath(file) {
- var mm = OSjs.Core.getMountManager();
- var rel = mm.getPathProtocol(file.path);
- var module = mm.getModuleFromPath(file.path, false, true);
- var base = (module.options || {}).url;
- return base + rel.replace(/^\/+/, '/');
- }
- function httpCall(func, item, callback) {
- var url = makePath(item);
- if ( func === 'scandir' ) {
- url += '/_scandir.json';
- }
- var args = {
- method: func === 'exists' ? 'HEAD' : 'GET',
- url: url,
- onerror: function(error) {
- callback(error);
- },
- onsuccess: function(response) {
- callback(false, response);
- }
- };
- if ( func === 'read' ) {
- args.responseType = 'arraybuffer';
- }
- Utils.ajax(args);
- }
- var Transport = {
- scandir: function(item, callback, options) {
- var mm = OSjs.Core.getMountManager();
- var root = mm.getRootFromPath(item.path);
- httpCall('scandir', item, function(error, response) {
- var list = null;
- if ( !error ) {
- var json = null;
- try {
- json = JSON.parse(response);
- } catch ( e ) {}
- if ( json === null ) {
- error = 'Failed to parse directory JSON';
- } else {
- list = json.map(function(iter) {
- iter.path = root + iter.path.replace(/^\//, '');
- return iter;
- });
- var rel = Utils.getPathProtocol(item.path);
- if ( rel !== '/' ) {
- list.unshift({
- filename: '..',
- path: Utils.dirname(item.path),
- type: 'dir',
- size: 0
- });
- }
- }
- }
- callback(error, list);
- });
- },
- read: function(item, callback, options) {
- options = options || {};
- var mime = item.mime || 'application/octet-stream';
- httpCall('read', item, function(error, response) {
- if ( !error ) {
- if ( options.type === 'text' ) {
- OSjs.VFS.Helpers.abToText(response, mime, function(error, text) {
- callback(error, text);
- });
- return;
- }
- }
- callback(error, response);
- });
- },
- exists: function(item, callback) {
- httpCall('exists', item, function(err) {
- callback(err, err ? false : true);
- });
- },
- url: function(item, callback, options) {
- callback(false, makePath(item));
- }
- };
- OSjs.VFS.Transports.Web = {
- defaults: function(iter) {
- iter.readOnly = true;
- iter.match = /^https?\:\/\//;
- },
- module: Transport,
- path: makePath
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- function getModule(item) {
- var mm = OSjs.Core.getMountManager();
- var module = mm.getModuleFromPath(item.path, false, true);
- if ( !module ) {
- throw new Error(API._('ERR_VFSMODULE_INVALID_FMT', item.path));
- }
- return module;
- }
- function getNamespace(item) {
- var module = getModule(item);
- return module.options.ns || 'DAV:';
- }
- function getCORSAllowed(item) {
- var module = getModule(item);
- var val = module.options.cors;
- return typeof val === 'undefined' ? false : val === true;
- }
- function getURL(item) {
- if ( typeof item === 'string' ) {
- item = new OSjs.VFS.File(item);
- }
- var module = getModule(item);
- var opts = module.options;
- return Utils.parseurl(opts.host, {username: opts.username, password: opts.password}).url;
- }
- function getURI(item) {
- var module = getModule(item);
- return Utils.parseurl(module.options.host).path;
- }
- function resolvePath(item) {
- var module = getModule(item);
- return item.path.replace(module.match, '');
- }
- function davCall(method, args, callback, raw) {
- function parseDocument(body) {
- var parser = new DOMParser();
- var doc = parser.parseFromString(body, 'application/xml');
- return doc.firstChild;
- }
- function getUrl(p, f) {
- var url = getURL(p);
- url += resolvePath(f).replace(/^\//, '');
- return url;
- }
- var mime = args.mime || 'application/octet-stream';
- var headers = {};
- var sourceFile = new OSjs.VFS.File(args.path, mime);
- var sourceUrl = getUrl(args.path, sourceFile);
- var destUrl = null;
- if ( args.dest ) {
- destUrl = getUrl(args.dest, new OSjs.VFS.File(args.dest, mime));
- headers.Destination = destUrl;
- }
- function externalCall() {
- var opts = {
- url: sourceUrl,
- method: method,
- requestHeaders: headers
- };
- if ( raw ) {
- opts.binary = true;
- opts.mime = mime;
- }
- if ( typeof args.data !== 'undefined' ) {
- opts.query = args.data;
- }
- API.call('curl', opts, function(error, result) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !result ) {
- callback(API._('ERR_VFS_REMOTEREAD_EMPTY'));
- return;
- }
- if ( ([200, 201, 203, 204, 205, 207]).indexOf(result.httpCode) < 0 ) {
- callback(API._('ERR_VFSMODULE_XHR_ERROR') + ': ' + result.httpCode);
- return;
- }
- if ( opts.binary ) {
- OSjs.VFS.Helpers.dataSourceToAb(result.body, mime, callback);
- } else {
- var doc = parseDocument(result.body);
- callback(false, doc);
- }
- });
- }
- if ( getCORSAllowed(sourceFile) ) {
- OSjs.VFS.Transports.Internal.request('get', {url: sourceUrl, method: method}, callback);
- } else {
- externalCall();
- }
- }
- var Transport = {
- scandir: function(item, callback, options) {
- var mm = OSjs.Core.getMountManager();
- function parse(doc) {
- var ns = getNamespace(item);
- var list = [];
- var reqpath = resolvePath(item);
- var root = mm.getRootFromPath(item.path);
- doc.children.forEach(function(c) {
- var type = 'file';
- function getPath() {
- var path = c.getElementsByTagNameNS(ns, 'href')[0].textContent;
- return path.substr(getURI(item).length - 1, path.length);
- }
- function getId() {
- var id = null;
- try {
- id = c.getElementsByTagNameNS(ns, 'getetag')[0].textContent;
- } catch ( e ) {
- }
- return id;
- }
- function getMime() {
- var mime = null;
- if ( type === 'file' ) {
- try {
- mime = c.getElementsByTagNameNS(ns, 'getcontenttype')[0].textContent || 'application/octet-stream';
- } catch ( e ) {
- mime = 'application/octet-stream';
- }
- }
- return mime;
- }
- function getSize() {
- var size = 0;
- if ( type === 'file' ) {
- try {
- size = parseInt(c.getElementsByTagNameNS(ns, 'getcontentlength')[0].textContent, 10) || 0;
- } catch ( e ) {
- }
- }
- return size;
- }
- try {
- var path = getPath();
- if ( path.match(/\/$/) ) {
- type = 'dir';
- path = path.replace(/\/$/, '') || '/';
- }
- if ( path !== reqpath ) {
- list.push({
- id: getId(),
- path: root + path.replace(/^\//, ''),
- filename: Utils.filename(path),
- size: getSize(),
- mime: getMime(),
- type: type
- });
- }
- } catch ( e ) {
- console.warn('scandir() exception', e, e.stack);
- }
- });
- return OSjs.VFS.Helpers.filterScandir(list, options);
- }
- davCall('PROPFIND', {path: item.path}, function(error, doc) {
- var list = [];
- if ( !error && doc ) {
- var result = parse(doc);
- result.forEach(function(iter) {
- list.push(new OSjs.VFS.File(iter));
- });
- }
- callback(error, list);
- });
- },
- write: function(item, data, callback, options) {
- davCall('PUT', {path: item.path, mime: item.mime, data: data}, callback);
- },
- read: function(item, callback, options) {
- davCall('GET', {path: item.path, mime: item.mime}, callback, true);
- },
- copy: function(src, dest, callback) {
- davCall('COPY', {path: src.path, dest: dest.path}, callback);
- },
- move: function(src, dest, callback) {
- davCall('MOVE', {path: src.path, dest: dest.path}, callback);
- },
- unlink: function(item, callback) {
- davCall('DELETE', {path: item.path}, callback);
- },
- mkdir: function(item, callback) {
- davCall('MKCOL', {path: item.path}, callback);
- },
- exists: function(item, callback) {
- davCall('PROPFIND', {path: item.path}, function(error, doc) {
- callback(false, !error);
- });
- },
- url: function(item, callback, options) {
- callback(false, OSjs.VFS.Transports.WebDAV.path(item));
- },
- freeSpace: function(root, callback) {
- callback(false, -1);
- }
- };
- function makePath(item) {
- if ( typeof item === 'string' ) {
- item = new OSjs.VFS.File(item);
- }
- var url = getURL(item);
- var reqpath = resolvePath(item).replace(/^\//, '');
- var fullpath = url + reqpath;
- if ( !getCORSAllowed(item) ) {
- fullpath = API.getConfig('Connection.FSURI') + '/get/' + fullpath;
- }
- return fullpath;
- }
- OSjs.VFS.Transports.WebDAV = {
- module: Transport,
- path: makePath
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API, VFS) {
- 'use strict';
- var Transport = {
- scandir: function(item, callback, options) {
- var metadata = OSjs.Core.getPackageManager().getPackages();
- var files = [];
- Object.keys(metadata).forEach(function(m) {
- var iter = metadata[m];
- if ( iter.type !== 'extension' ) {
- files.push(new OSjs.VFS.File({
- filename: iter.name,
- icon: {
- filename: iter.icon,
- application: m
- },
- type: 'application',
- path: 'applications:///' + m,
- mime: 'osjs/application'
- }, 'osjs/application'));
- }
- });
- callback(false, files);
- }
- };
- VFS.Transports.Applications = {
- module: Transport,
- defaults: function(opts) {
- opts.readOnly = true;
- opts.special = true;
- opts.searchable = true;
- }
- };
-})(OSjs.Utils, OSjs.API, OSjs.VFS);
-
-(function(Utils, API) {
- 'use strict';
- var gapi = window.gapi = window.gapi || {};
- var CACHE_CLEAR_TIMEOUT = 7000;
- var _isMounted = false;
- var _rootFolderId = null;
- var _treeCache = null;
- var _clearCacheTimeout;
- function createBoundary(file, data, callback) {
- var boundary = '-------314159265358979323846';
- var delimiter = '\r\n--' + boundary + '\r\n';
- var close_delim = '\r\n--' + boundary + '--';
- var contentType = file.mime || 'text/plain'; //fileData.type || 'application/octet-stream';
- function createBody(result) {
- var metadata = {
- title: file.filename,
- mimeType: contentType
- };
- var base64Data = result;
- var multipartRequestBody =
- delimiter +
- 'Content-Type: application/json\r\n\r\n' +
- JSON.stringify(metadata) +
- delimiter +
- 'Content-Type: ' + contentType + '\r\n' +
- 'Content-Transfer-Encoding: base64\r\n' +
- '\r\n' +
- base64Data +
- close_delim;
- return multipartRequestBody;
- }
- var reqContentType = 'multipart/mixed; boundary=\'' + boundary + '\'';
- if ( data instanceof OSjs.VFS.FileDataURL ) {
- callback(false, {
- contentType: reqContentType,
- body: createBody(data.toBase64())
- });
- } else {
- OSjs.VFS.Helpers.abToBinaryString(data, contentType, function(error, response) {
- callback(error, error ? false : {
- contentType: reqContentType,
- body: createBody(btoa(response))
- });
- });
- }
- }
- function getFileFromPath(dir, type, callback) {
- if ( dir instanceof OSjs.VFS.File ) {
- dir = dir.path;
- }
- var tmpItem = new OSjs.VFS.File({
- filename: Utils.filename(dir),
- type: 'dir',
- path: Utils.dirname(dir)
- });
- getAllDirectoryFiles(tmpItem, function(error, list, ldir) {
- if ( error ) {
- return callback(error);
- }
- var found = null;
- list.forEach(function(iter) {
- if ( iter.title === Utils.filename(dir) ) {
- if ( type ) {
- if ( iter.mimeType === type ) {
- found = iter;
- return false;
- }
- } else {
- found = iter;
- }
- }
- return true;
- });
- callback(false, found);
- });
- }
- function getParentPathId(item, callback) {
- var dir = Utils.dirname(item.path);
- var type = 'application/vnd.google-apps.folder';
- getFileFromPath(dir, type, function(error, item) {
- if ( error ) {
- return callback(error);
- }
- callback(false, item ? item.id : null);
- });
- }
- function createDirectoryList(dir, list, item, options) {
- var result = [];
- var rdir = dir.replace(/^google-drive\:\/+/, '/'); // FIXME
- var isOnRoot = rdir === '/';
- function createItem(iter, i) {
- var path = dir;
- if ( iter.title === '..' ) {
- path = Utils.dirname(dir);
- } else {
- if ( !isOnRoot ) {
- path += '/';
- }
- path += iter.title;
- }
- var fileType = iter.mimeType === 'application/vnd.google-apps.folder' ? 'dir' : (iter.kind === 'drive#file' ? 'file' : 'dir');
- if ( iter.mimeType === 'application/vnd.google-apps.trash' ) {
- fileType = 'trash';
- }
- return new OSjs.VFS.File({
- filename: iter.title,
- path: path,
- id: iter.id,
- size: iter.quotaBytesUsed || 0,
- mime: iter.mimeType === 'application/vnd.google-apps.folder' ? null : iter.mimeType,
- type: fileType
- });
- }
- if ( list ) {
- list.forEach(function(iter, i) {
- if ( !iter ) {
- return;
- }
- result.push(createItem(iter, i));
- });
- }
- return result ? OSjs.VFS.Helpers.filterScandir(result, options) : [];
- }
- function getAllDirectoryFiles(item, callback) {
- function retrieveAllFiles(cb) {
- if ( _clearCacheTimeout ) {
- clearTimeout(_clearCacheTimeout);
- _clearCacheTimeout = null;
- }
- if ( _treeCache ) {
- cb(false, _treeCache);
- return;
- }
- var list = [];
- function retrievePageOfFiles(request, result) {
- request.execute(function(resp) {
- if ( resp.error ) {
- console.warn('GoogleDrive::getAllDirectoryFiles()', 'error', resp);
- }
- result = result.concat(resp.items);
- var nextPageToken = resp.nextPageToken;
- if (nextPageToken) {
- request = gapi.client.drive.files.list({
- pageToken: nextPageToken
- });
- retrievePageOfFiles(request, result);
- } else {
- _treeCache = result;
- cb(false, result);
- }
- });
- }
- try {
- var initialRequest = gapi.client.drive.files.list({});
- retrievePageOfFiles(initialRequest, list);
- } catch ( e ) {
- console.warn('GoogleDrive::getAllDirectoryFiles() exception', e, e.stack);
- console.warn('THIS ERROR OCCURS WHEN MULTIPLE REQUESTS FIRE AT ONCE ?!'); // FIXME
- cb(false, list);
- }
- }
- function getFilesBelongingTo(list, root, cb) {
- var idList = {};
- var parentList = {};
- list.forEach(function(iter) {
- if ( iter ) {
- idList[iter.id] = iter;
- var parents = [];
- if ( iter.parents ) {
- iter.parents.forEach(function(piter) {
- if ( piter ) {
- parents.push(piter.id);
- }
- });
- }
- parentList[iter.id] = parents;
- }
- });
- var resolves = Utils.getPathProtocol(root).replace(/^\/+/, '').split('/');
- resolves = resolves.filter(function(el) {
- return el !== '';
- });
- var currentParentId = _rootFolderId;
- var isOnRoot = !resolves.length;
- function _getFileList(foundId) {
- var result = [];
- if ( !isOnRoot ) {
- result.push({
- title: '..',
- path: Utils.dirname(root),
- id: item.id,
- quotaBytesUsed: 0,
- mimeType: 'application/vnd.google-apps.folder'
- });
- }
- list.forEach(function(iter) {
- if ( iter && parentList[iter.id] && parentList[iter.id].indexOf(foundId) !== -1 ) {
- result.push(iter);
- }
- });
- return result;
- }
- function _nextDir(completed) {
- var current = resolves.shift();
- var done = resolves.length <= 0;
- var found;
- if ( isOnRoot ) {
- found = currentParentId;
- } else {
- if ( current ) {
- list.forEach(function(iter) {
- if ( iter ) {
- if ( iter.title === current && parentList[iter.id] && parentList[iter.id].indexOf(currentParentId) !== -1 ) {
- currentParentId = iter.id;
- found = iter.id;
- }
- }
- });
- }
- }
- if ( done ) {
- completed(found);
- } else {
- _nextDir(completed);
- }
- }
- _nextDir(function(foundId) {
- if ( foundId && idList[foundId] ) {
- cb(false, _getFileList(foundId));
- return;
- } else {
- if ( isOnRoot ) {
- cb(false, _getFileList(currentParentId));
- return;
- }
- }
- cb('Could not list directory');
- });
- }
- function doRetrieve() {
- retrieveAllFiles(function(error, list) {
- var root = item.path;
- if ( error ) {
- callback(error, false, root);
- return;
- }
- getFilesBelongingTo(list, root, function(error, response) {
- _clearCacheTimeout = setTimeout(function() {
- _treeCache = null;
- }, CACHE_CLEAR_TIMEOUT);
- callback(error, response, root);
- });
- });
- }
- if ( !_rootFolderId ) {
- var request = gapi.client.drive.about.get();
- request.execute(function(resp) {
- if ( !resp || !resp.rootFolderId ) {
- callback(API._('ERR_VFSMODULE_ROOT_ID'));
- return;
- }
- _rootFolderId = resp.rootFolderId;
- doRetrieve();
- });
- } else {
- doRetrieve();
- }
- }
- function setFolder(item, pid, callback) {
- pid = pid || 'root';
- function _clearFolders(cb) {
- item.parents.forEach(function(p, i) {
- var request = gapi.client.drive.children.delete({
- folderId: p.id,
- childId: item.id
- });
- request.execute(function(resp) {
- if ( i >= (item.parents.length - 1) ) {
- cb();
- }
- });
- });
- }
- function _setFolder(rootId, cb) {
- var request = gapi.client.drive.children.insert({
- folderId: pid,
- resource: {id: item.id}
- });
- request.execute(function(resp) {
- callback(false, true);
- });
- }
- _clearFolders(function() {
- _setFolder(pid, callback);
- });
- }
- var GoogleDriveStorage = {};
- GoogleDriveStorage.scandir = function(item, callback, options) {
- getAllDirectoryFiles(item, function(error, list, dir) {
- if ( error ) {
- return callback(error);
- }
- var result = createDirectoryList(dir, list, item, options);
- callback(false, result, list);
- });
- };
- GoogleDriveStorage.read = function(item, callback, options) {
- function doRead() {
- var request = gapi.client.drive.files.get({
- fileId: item.id
- });
- request.execute(function(file) {
- if ( file && file.id ) {
- var accessToken = gapi.auth.getToken().access_token;
- Utils.ajax({
- url: file.downloadUrl,
- method: 'GET',
- responseType: 'arraybuffer',
- requestHeaders: {'Authorization': 'Bearer ' + accessToken},
- onsuccess: function(response) {
- callback(false, response);
- },
- onerror: function(error) {
- callback(API._('ERR_VFSMODULE_XHR_ERROR') + ' - ' + error);
- }
- });
- } else {
- callback(API._('ERR_VFSMODULE_NOSUCH'));
- }
- });
- }
- if ( item.downloadUrl ) {
- doRead();
- } else {
- getFileFromPath(item.path, item.mime, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !response ) {
- callback(API._('ERR_VFSMODULE_NOSUCH'));
- return;
- }
- item = response;
- doRead();
- });
- }
- };
- GoogleDriveStorage.write = function(file, data, callback) {
- var self = this;
- function doWrite(parentId, fileId) {
- var uri = '/upload/drive/v2/files';
- var method = 'POST';
- if ( fileId ) {
- uri = '/upload/drive/v2/files/' + fileId;
- method = 'PUT';
- }
- createBoundary(file, data, function(error, fileData) {
- if ( error ) {
- callback(error);
- return;
- }
- var request = gapi.client.request({
- path: uri,
- method: method,
- params: {uploadType: 'multipart'},
- headers: {'Content-Type': fileData.contentType},
- body: fileData.body
- });
- request.execute(function(resp) {
- _treeCache = null; // Make sure we refetch any cached stuff
- if ( resp && resp.id ) {
- if ( parentId ) {
- setFolder(resp, parentId, callback);
- } else {
- callback(false, true);
- }
- } else {
- callback(API._('ERR_VFSMODULE_NOSUCH'));
- }
- });
- });
- }
- getParentPathId(file, function(error, id) {
- if ( error ) {
- return callback(error);
- }
- if ( file.id ) {
- doWrite(id, file.id);
- } else {
- self.exists(file, function(error, exists) {
- var fileid = error ? null : (exists ? exists.id : null);
- doWrite(id, fileid);
- });
- }
- });
- };
- GoogleDriveStorage.copy = function(src, dest, callback) {
- var request = gapi.client.drive.files.copy({
- fileId: Utils.filename(src),
- resource: {title: Utils.filename(dest)}
- });
- request.execute(function(resp) {
- if ( resp.id ) {
- callback(false, true);
- return;
- }
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- });
- };
- GoogleDriveStorage.unlink = function(src, callback) {
- function doDelete() {
- _treeCache = null; // Make sure we refetch any cached stuff
- var request = gapi.client.drive.files.delete({
- fileId: src.id
- });
- request.execute(function(resp) {
- if ( resp && (typeof resp.result === 'object') ) {
- callback(false, true);
- } else {
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- }
- });
- }
- if ( !src.id ) {
- getFileFromPath(src.path, src.mime, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !response ) {
- callback(API._('ERR_VFSMODULE_NOSUCH'));
- return;
- }
- src = response;
- doDelete();
- });
- } else {
- doDelete();
- }
- };
- GoogleDriveStorage.move = function(src, dest, callback) {
- var request = gapi.client.drive.files.patch({
- fileId: src.id,
- resource: {
- title: Utils.filename(dest.path)
- }
- });
- request.execute(function(resp) {
- if ( resp && resp.id ) {
- _treeCache = null; // Make sure we refetch any cached stuff
- callback(false, true);
- } else {
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- }
- });
- };
- GoogleDriveStorage.exists = function(item, callback) {
- var req = new OSjs.VFS.File(OSjs.Utils.dirname(item.path));
- this.scandir(req, function(error, result) {
- if ( error ) {
- callback(error);
- return;
- }
- var found = false;
- if ( result ) {
- result.forEach(function(iter) {
- if ( iter.path === item.path ) {
- found = new OSjs.VFS.File(item.path, iter.mimeType);
- found.id = iter.id;
- found.title = iter.title;
- return false;
- }
- return true;
- });
- }
- callback(false, found);
- });
- };
- GoogleDriveStorage.fileinfo = function(item, callback) {
- var request = gapi.client.drive.files.get({
- fileId: item.id
- });
- request.execute(function(resp) {
- if ( resp && resp.id ) {
- var useKeys = ['createdDate', 'id', 'lastModifyingUser', 'lastViewedByMeDate', 'markedViewedByMeDate', 'mimeType', 'modifiedByMeDate', 'modifiedDate', 'title', 'alternateLink'];
- var info = {};
- useKeys.forEach(function(k) {
- info[k] = resp[k];
- });
- return callback(false, info);
- }
- callback(API._('ERR_VFSMODULE_NOSUCH'));
- });
- };
- GoogleDriveStorage.url = function(item, callback) {
- if ( !item || !item.id ) {
- throw new Error('url() expects a File ref with Id');
- }
- var request = gapi.client.drive.files.get({
- fileId: item.id
- });
- request.execute(function(resp) {
- if ( resp && resp.webContentLink ) {
- callback(false, resp.webContentLink);
- } else {
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- }
- });
- };
- GoogleDriveStorage.mkdir = function(dir, callback) {
- function doMkdir(parents) {
- var request = gapi.client.request({
- 'path': '/drive/v2/files',
- 'method': 'POST',
- 'body': JSON.stringify({
- title: dir.filename,
- parents: parents,
- mimeType: 'application/vnd.google-apps.folder'
- })
- });
- request.execute(function(resp) {
- if ( resp && resp.id ) {
- _treeCache = null; // Make sure we refetch any cached stuff
- callback(false, true);
- } else {
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- }
- });
- }
- var mm = OSjs.Core.getMountManager();
- if ( Utils.dirname(dir.path) !== Utils.getPathProtocol(mm.getModuleProperty('GoogleDrive', 'root')) ) {
- getParentPathId(dir, function(error, id) {
- if ( error || !id ) {
- error = error || API._('ERR_VFSMODULE_PARENT');
- callback(API._('ERR_VFSMODULE_PARENT_FMT', error));
- return;
- }
- doMkdir([{id: id}]);
- });
- return;
- }
- doMkdir(null);
- };
- GoogleDriveStorage.upload = function(file, dest, callback) {
- var item = new OSjs.VFS.File({
- filename: file.name,
- path: Utils.pathJoin((new OSjs.VFS.File(dest)).path, file.name),
- mime: file.type,
- size: file.size
- });
- this.write(item, file, callback);
- };
- GoogleDriveStorage.trash = function(file, callback) {
- var request = gapi.client.drive.files.trash({
- fileId: file.id
- });
- request.execute(function(resp) {
- if ( resp.id ) {
- callback(false, true);
- return;
- }
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- });
- };
- GoogleDriveStorage.untrash = function(file, callback) {
- var request = gapi.client.drive.files.untrash({
- fileId: file.id
- });
- request.execute(function(resp) {
- if ( resp.id ) {
- callback(false, true);
- return;
- }
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- });
- };
- GoogleDriveStorage.emptyTrash = function(callback) {
- var request = gapi.client.drive.files.emptyTrash({});
- request.execute(function(resp) {
- if ( resp && resp.message ) {
- var msg = resp && resp.message ? resp.message : API._('ERR_APP_UNKNOWN_ERROR');
- callback(msg);
- return;
- }
- callback(false, true);
- });
- };
- GoogleDriveStorage.freeSpace = function(root, callback) {
- callback(false, -1);
- };
- function getGoogleDrive(callback, onerror) {
- callback = callback || function() {};
- onerror = onerror || function() {};
- if ( _isMounted ) {
- var inst = OSjs.Helpers.GoogleAPI.getInstance();
- if ( inst && !inst.authenticated ) {
- _isMounted = false;
- }
- }
- if ( !_isMounted ) {
- var scopes = [
- 'https://www.googleapis.com/auth/drive.install',
- 'https://www.googleapis.com/auth/drive.file',
- 'openid'
- ];
- var loads = [
- 'drive-realtime',
- 'drive-share'
- ];
- var iargs = {load: loads, scope: scopes};
- OSjs.Helpers.GoogleAPI.createInstance(iargs, function(error, result) {
- if ( error ) {
- return onerror(error);
- }
- gapi.client.load('drive', 'v2', function() {
- _isMounted = true;
- API.message('vfs:mount', 'GoogleDrive', {source: null});
- callback(GoogleDriveStorage);
- });
- });
- return;
- }
- callback(GoogleDriveStorage);
- }
- function makeRequest(name, args, callback, options) {
- args = args || [];
- callback = callback || function() {};
- getGoogleDrive(function(instance) {
- if ( !instance ) {
- throw new Error('No GoogleDrive instance was created. Load error ?');
- } else if ( !instance[name] ) {
- throw new Error('Invalid GoogleDrive API call name');
- }
- var fargs = args;
- fargs.push(callback);
- fargs.push(options);
- instance[name].apply(instance, fargs);
- }, function(error) {
- callback(error);
- });
- }
- OSjs.Core.getMountManager()._add({
- readOnly: false,
- name: 'GoogleDrive',
- transport: 'GoogleDrive',
- description: 'Google Drive',
- visible: true,
- searchable: false,
- unmount: function(cb) {
- cb = cb || function() {};
- _isMounted = false;
- API.message('vfs:unmount', 'GoogleDrive', {source: null});
- cb(false, true);
- },
- mounted: function() {
- return _isMounted;
- },
- enabled: function() {
- try {
- if ( API.getConfig('VFS.GoogleDrive.Enabled') ) {
- return true;
- }
- } catch ( e ) {
- console.warn('OSjs.VFS.Modules.GoogleDrive::enabled()', e, e.stack);
- }
- return false;
- },
- root: 'google-drive:///',
- icon: 'places/google-drive.png',
- match: /^google-drive\:\/\//,
- request: makeRequest
- });
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- var _cachedClient;
- var _isMounted = false;
- function _getConfig(cfg, isVFS) {
- var config = OSjs.Core.getConfig();
- try {
- return isVFS ? config.VFS.Dropbox[cfg] : config.DropboxAPI[cfg];
- } catch ( e ) {
- console.warn('OSjs.VFS.Modules.Dropbox::enabled()', e, e.stack);
- }
- return null;
- }
- function destroyRingNotification() {
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.remove('Dropbox.js');
- }
- }
- function createRingNotification() {
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.add('Dropbox.js', [{
- title: API._('DROPBOX_SIGN_OUT'),
- onClick: function() {
- signoutDropbox();
- }
- }]);
- }
- }
- function DropboxVFS() {
- var clientKey = _getConfig('ClientKey');
- this.client = new window.Dropbox.Client({ key: clientKey });
- if ( this.client ) {
- var href = window.location.href;
- if ( !href.match(/\/$/) ) {
- href += '/';
- }
- href += 'vendor/dropboxOauthReceiver.html';
- var authDriver = new window.Dropbox.AuthDriver.Popup({
- receiverUrl: href
- });
- this.client.authDriver(authDriver);
- }
- }
- DropboxVFS.prototype.init = function(callback) {
- var timedOut = false;
- var timeout = setTimeout(function() {
- timedOut = true;
- callback(API._('ERR_OPERATION_TIMEOUT_FMT', '60s'));
- }, 60 * 1000);
- this.client.authenticate(function(error, client) {
- if ( !timedOut ) {
- console.warn('DropboxVFS::construct()', error, client);
- timeout = clearTimeout(timeout);
- callback(error);
- }
- });
- };
- DropboxVFS.prototype.scandir = function(item, callback) {
- var mm = OSjs.Core.getMountManager();
- var path = Utils.getPathProtocol(item.path);
- function _finish(entries) {
- var result = entries.map(function(iter) {
- return new OSjs.VFS.File({
- filename: iter.name,
- path: mm.getModuleProperty('Dropbox', 'root').replace(/\/$/, '') + iter.path,
- size: iter.size,
- mime: iter.isFolder ? null : iter.mimeType,
- type: iter.isFolder ? 'dir' : 'file'
- });
- });
- var list = OSjs.VFS.Helpers.filterScandir(result, item._opts);
- callback(false, list);
- }
- this.client.readdir(path, {}, function(error, entries, stat, entry_stats) {
- if ( error ) {
- callback(error);
- return;
- }
- _finish(entry_stats);
- });
- };
- DropboxVFS.prototype.write = function(item, data, callback) {
- var path = Utils.getPathProtocol(item.path);
- this.client.writeFile(path, data, function(error, stat) {
- callback(error, true);
- });
- };
- DropboxVFS.prototype.read = function(item, callback, options) {
- options = options || {};
- options.arrayBuffer = true;
- var path = Utils.getPathProtocol(item.path);
- this.client.readFile(path, options, function(error, entries) {
- callback(error, (error ? false : (entries instanceof Array ? entries.join('\n') : entries)));
- });
- };
- DropboxVFS.prototype.copy = function(src, dest, callback) {
- var spath = Utils.getPathProtocol(src.path);
- var dpath = Utils.getPathProtocol(dest.path);
- this.client.copy(spath, dpath, function(error) {
- callback(error, !error);
- });
- };
- DropboxVFS.prototype.move = function(src, dest, callback) {
- var spath = Utils.getPathProtocol(src.path);
- var dpath = Utils.getPathProtocol(dest.path);
- this.client.move(spath, dpath, function(error) {
- callback(error, !error);
- });
- };
- DropboxVFS.prototype.unlink = function(item, callback) {
- var path = Utils.getPathProtocol(item.path);
- this.client.unlink(path, function(error, stat) {
- callback(error, !error);
- });
- };
- DropboxVFS.prototype.mkdir = function(item, callback) {
- var path = Utils.getPathProtocol(item.path);
- this.client.mkdir(path, function(error, stat) {
- callback(error, !error);
- });
- };
- DropboxVFS.prototype.exists = function(item, callback) {
- this.read(item, function(error, data) {
- callback(error, !error);
- });
- };
- DropboxVFS.prototype.fileinfo = function(item, callback) {
- var path = Utils.getPathProtocol(item.path);
- this.client.stat(path, path, function(error, response) {
- var fileinfo = null;
- if ( !error && response ) {
- fileinfo = {};
- var useKeys = ['clientModifiedAt', 'humanSize', 'mimeType', 'modifiedAt', 'name', 'path', 'size', 'versionTag'];
- useKeys.forEach(function(k) {
- fileinfo[k] = response[k];
- });
- }
- callback(error, fileinfo);
- });
- };
- DropboxVFS.prototype.url = function(item, callback) {
- var path = (typeof item === 'string') ? Utils.getPathProtocol(item) : Utils.getPathProtocol(item.path);
- this.client.makeUrl(path, {downloadHack: true}, function(error, url) {
- callback(error, url ? url.url : false);
- });
- };
- DropboxVFS.prototype.upload = function(file, dest, callback) {
- var item = new OSjs.VFS.File({
- filename: file.name,
- path: Utils.pathJoin((new OSjs.VFS.File(dest)).path, file.name),
- mime: file.type,
- size: file.size
- });
- this.write(item, file, callback);
- };
- DropboxVFS.prototype.trash = function(item, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- DropboxVFS.prototype.untrash = function(item, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- DropboxVFS.prototype.emtpyTrash = function(item, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- DropboxVFS.freeSpace = function(root, callback) {
- callback(false, -1);
- };
- function getDropbox(callback) {
- if ( !_cachedClient ) {
- _cachedClient = new DropboxVFS();
- _cachedClient.init(function(error) {
- if ( error ) {
- console.error('Failed to initialize dropbox VFS', error);
- callback(null, error);
- return;
- }
- _isMounted = true;
- createRingNotification();
- API.message('vfs:mount', 'Dropbox', {source: null});
- callback(_cachedClient);
- });
- return;
- }
- callback(_cachedClient);
- }
- function signoutDropbox(cb, options) {
- cb = cb || function() {};
- options = options || null;
- function finished(client) {
- if ( client ) {
- client.reset();
- }
- _isMounted = false;
- _cachedClient = null;
- API.message('vfs:unmount', 'Dropbox', {source: null});
- destroyRingNotification();
- cb();
- }
- getDropbox(function(client) {
- client = client ? client.client : null;
- if ( client ) {
- try {
- client.signOut(options, function() {
- finished(client);
- });
- } catch ( ex ) {
- console.warn('DROPBOX SIGNOUT EXCEPTION', ex);
- finished(client);
- }
- }
- });
- }
- function makeRequest(name, args, callback, options) {
- args = args || [];
- callback = callback || function() {};
- getDropbox(function(instance, error) {
- if ( !instance ) {
- callback('No Dropbox VFS API Instance was ever created. Possible intialization error' + (error ? ': ' + error : ''));
- return;
- }
- var fargs = args;
- fargs.push(callback);
- fargs.push(options);
- instance[name].apply(instance, fargs);
- });
- }
- OSjs.Core.getMountManager()._add({
- readOnly: false,
- name: 'Dropbox',
- transport: 'Dropbox',
- description: 'Dropbox',
- visible: true,
- searchable: false,
- unmount: function(cb) {
- cb = cb || function() {};
- _isMounted = false;
- API.message('vfs:unmount', 'Dropbox', {source: null});
- cb(false, true);
- },
- mounted: function() {
- return _isMounted;
- },
- enabled: function() {
- if ( !window.Dropbox ) {
- return false;
- }
- return _getConfig('Enabled', true) || false;
- },
- root: 'dropbox:///',
- icon: 'places/dropbox.png',
- match: /^dropbox\:\/\//,
- request: makeRequest
- });
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- var _isMounted = false;
- var _mimeCache;
- function onedriveCall(args, callback) {
- var WL = window.WL || {};
- WL.api(args).then(
- function(response) {
- callback(false, response);
- },
- function(responseFailed) {
- console.error('OneDrive::*onedriveCall()', 'error', responseFailed, args);
- callback(responseFailed.error.message);
- }
- );
- }
- function getItemType(iter) {
- var type = 'file';
- if ( iter.type === 'folder' || iter.type === 'album' ) {
- type = 'dir';
- }
- return type;
- }
- function getMetadataFromItem(dir, item) {
- var path = 'onedrive://' + dir.replace(/^\/+/, '').replace(/\/+$/, '') + '/' + item.name; // FIXME
- var itemFile = new OSjs.VFS.File({
- id: item.id,
- filename: item.name,
- size: item.size || 0,
- path: path,
- mime: getItemMime(item),
- type: getItemType(item)
- });
- return itemFile;
- }
- function getItemMime(iter) {
- if ( !_mimeCache ) {
- _mimeCache = API.getConfig('MIME.mapping', {});
- }
- var mime = null;
- if ( getItemType(iter) !== 'dir' ) {
- mime = 'application/octet-stream';
- var ext = Utils.filext(iter.name);
- if ( ext.length ) {
- ext = '.' + ext;
- if ( _mimeCache[ext] ) {
- mime = _mimeCache[ext];
- }
- }
- }
- return mime;
- }
- function createDirectoryList(dir, list, item, options) {
- var result = [];
- if ( dir !== '/' ) {
- result.push(new OSjs.VFS.File({
- id: item.id,
- filename: '..',
- path: Utils.dirname(item.path),
- size: 0,
- type: 'dir'
- }));
- }
- list.forEach(function(iter) {
- result.push(getMetadataFromItem(dir, iter));
- });
- return result;
- }
- function getFilesInFolder(folderId, callback) {
- onedriveCall({
- path: folderId + '/files',
- method: 'GET'
- }, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- callback(false, response.data || []);
- });
- }
- function resolvePath(item, callback, useParent) {
- if ( !useParent ) {
- if ( item.id ) {
- callback(false, item.id);
- return;
- }
- }
- var path = Utils.getPathProtocol(item.path).replace(/\/+/, '/');
- if ( useParent ) {
- path = Utils.dirname(path);
- }
- if ( path === '/' ) {
- callback(false, 'me/skydrive');
- return;
- }
- var resolves = path.replace(/^\/+/, '').split('/');
- var isOnRoot = !resolves.length;
- var currentParentId = 'me/skydrive';
- function _nextDir(completed) {
- var current = resolves.shift();
- var done = resolves.length <= 0;
- var found;
- if ( isOnRoot ) {
- found = currentParentId;
- } else {
- if ( current ) {
- getFilesInFolder(currentParentId, function(error, list) {
- list = list || [];
- var lfound;
- if ( !error ) {
- list.forEach(function(iter) { // FIXME: Not very precise
- if ( iter ) {
- if ( iter.name === current ) {
- lfound = iter.id;
- }
- }
- });
- if ( lfound ) {
- currentParentId = lfound;
- }
- } else {
- console.warn('OneDrive', 'resolvePath()', 'getFilesInFolder() error', error);
- }
- if ( done ) {
- completed(lfound);
- } else {
- _nextDir(completed);
- }
- });
- return;
- }
- }
- if ( done ) {
- completed(found);
- } else {
- _nextDir(completed);
- }
- }
- _nextDir(function(foundId) {
- if ( foundId ) {
- callback(false, foundId);
- } else {
- callback(API._('ONEDRIVE_ERR_RESOLVE'));
- }
- });
- }
- var OneDriveStorage = {};
- OneDriveStorage.scandir = function(item, callback, options) {
- var relativePath = Utils.getPathProtocol(item.path);
- function _finished(error, result) {
- callback(error, result);
- }
- function _scandir(drivePath) {
- onedriveCall({
- path: drivePath,
- method: 'GET'
- }, function(error, response) {
- if ( error ) {
- _finished(error);
- return;
- }
- getFilesInFolder(response.id, function(error, list) {
- if ( error ) {
- _finished(error);
- return;
- }
- var fileList = createDirectoryList(relativePath, list, item, options);
- _finished(false, fileList);
- });
- });
- }
- resolvePath(item, function(error, drivePath) {
- if ( error ) {
- _finished(error);
- return;
- }
- _scandir(drivePath);
- });
- };
- OneDriveStorage.read = function(item, callback, options) {
- options = options || {};
- this.url(item, function(error, url) {
- if ( error ) {
- callback(error);
- return;
- }
- var file = new OSjs.VFS.File(url, item.mime);
- OSjs.VFS.read(file, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- callback(false, response);
- }, options);
- });
- };
- OneDriveStorage.write = function(file, data, callback) {
- var inst = OSjs.Helpers.WindowsLiveAPI.getInstance();
- var url = 'https://apis.live.net/v5.0/me/skydrive/files?access_token=' + inst.accessToken;
- var fd = new FormData();
- OSjs.VFS.Helpers.addFormFile(fd, 'file', data, file);
- OSjs.Utils.ajax({
- url: url,
- method: 'POST',
- json: true,
- body: fd,
- onsuccess: function(result) {
- if ( result && result.id ) {
- callback(false, result.id);
- return;
- }
- callback(API._('ERR_APP_UNKNOWN_ERROR'));
- },
- onerror: function(error, result) {
- if ( result && result.error ) {
- error += ' - ' + result.error.message;
- }
- callback(error);
- }
- });
- };
- OneDriveStorage.copy = function(src, dest, callback) {
- resolvePath(src, function(error, srcDrivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- resolvePath(dest, function(error, dstDrivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: srcDrivePath,
- method: 'COPY',
- body: {
- destination: dstDrivePath
- }
- }, function(error, response) {
- callback(error, error ? null : true);
- });
- });
- });
- };
- OneDriveStorage.unlink = function(src, callback) {
- resolvePath(src, function(error, drivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: drivePath,
- method: 'DELETE'
- }, function(error, response) {
- callback(error, error ? null : true);
- });
- });
- };
- OneDriveStorage.move = function(src, dest, callback) {
- resolvePath(src, function(error, srcDrivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- resolvePath(dest, function(error, dstDrivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: srcDrivePath,
- method: 'MOVE',
- body: {
- destination: dstDrivePath
- }
- }, function(error, response) {
- callback(error, error ? null : true);
- });
- });
- });
- };
- OneDriveStorage.exists = function(item, callback) {
- this.fileinfo(item, function(error, response) {
- if ( error ) {
- callback(false, false);
- return;
- }
- callback(false, response ? true : false);
- });
- };
- OneDriveStorage.fileinfo = function(item, callback) {
- resolvePath(item, function(error, drivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: drivePath,
- method: 'GET'
- }, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- var useKeys = ['created_time', 'id', 'link', 'name', 'type', 'updated_time', 'upload_location', 'description', 'client_updated_time'];
- var info = {};
- useKeys.forEach(function(k) {
- info[k] = response[k];
- });
- callback(false, info);
- });
- });
- };
- OneDriveStorage.mkdir = function(dir, callback) {
- resolvePath(dir, function(error, drivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: drivePath,
- method: 'POST',
- body: {
- name: dir.filename
- }
- }, function(error, response) {
- callback(error, error ? null : true);
- });
- }, true);
- };
- OneDriveStorage.upload = function(file, dest, callback) {
- var item = new OSjs.VFS.File({
- filename: file.name,
- path: Utils.pathJoin((new OSjs.VFS.File(dest)).path, file.name),
- mime: file.type,
- size: file.size
- });
- this.write(item, file, callback);
- };
- OneDriveStorage.url = function(item, callback) {
- resolvePath(item, function(error, drivePath) {
- if ( error ) {
- callback(error);
- return;
- }
- onedriveCall({
- path: drivePath + '/content',
- method: 'GET'
- }, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- callback(false, response.location);
- });
- });
- };
- OneDriveStorage.trash = function(file, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- OneDriveStorage.untrash = function(file, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- OneDriveStorage.emptyTrash = function(callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- };
- OneDriveStorage.freeSpace = function(root, callback) {
- callback(false, -1);
- };
- function getOneDrive(callback, onerror) {
- callback = callback || function() {};
- onerror = onerror || function() {};
- if ( _isMounted ) {
- var inst = OSjs.Helpers.WindowsLiveAPI.getInstance();
- if ( inst && !inst.authenticated ) {
- _isMounted = false;
- }
- }
- if ( !_isMounted ) {
- var iargs = {scope: ['wl.signin', 'wl.skydrive', 'wl.skydrive_update']};
- OSjs.Helpers.WindowsLiveAPI.createInstance(iargs, function(error, result) {
- if ( error ) {
- return onerror(error);
- }
- _isMounted = true;
- API.message('vfs:mount', 'OneDrive', {source: null});
- callback(OneDriveStorage);
- });
- return;
- }
- callback(OneDriveStorage);
- }
- function makeRequest(name, args, callback, options) {
- args = args || [];
- callback = callback || function() {};
- getOneDrive(function(instance) {
- if ( !instance ) {
- throw new Error('No OneDrive instance was created. Load error ?');
- } else if ( !instance[name] ) {
- throw new Error('Invalid OneDrive API call name');
- }
- var fargs = args;
- fargs.push(callback);
- fargs.push(options);
- instance[name].apply(instance, fargs);
- }, function(error) {
- callback(error);
- });
- }
- OSjs.Core.getMountManager()._add({
- readOnly: false,
- name: 'OneDrive',
- transport: 'OneDrive',
- description: 'OneDrive',
- visible: true,
- searchable: false,
- unmount: function(cb) {
- cb = cb || function() {};
- _isMounted = false;
- API.message('vfs:unmount', 'OneDrive', {source: null});
- cb(false, true);
- },
- mounted: function() {
- return _isMounted;
- },
- enabled: function() {
- try {
- if ( API.getConfig('VFS.OneDrive.Enabled') ) {
- return true;
- }
- } catch ( e ) {
- console.warn('OSjs.VFS.Modules.OneDrive::enabled()', e, e.stack);
- }
- return false;
- },
- root: 'onedrive:///',
- icon: 'places/onedrive.png',
- match: /^onedrive\:\/\//,
- request: makeRequest
- });
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- var NAMESPACE = 'OSjs/VFS/LocalStorage';
- var _isMounted = false;
- var _cache = {};
- var _fileCache = {};
- function getRealPath(p, par) {
- if ( typeof p !== 'string' || !p ) {
- throw new TypeError('Expected p as String');
- }
- p = Utils.getPathProtocol(p).replace(/\/+/g, '/');
- var path = par ? (Utils.dirname(p) || '/') : p;
- if ( path !== '/' ) {
- path = path.replace(/\/$/, '');
- }
- return path;
- }
- function createMetadata(i, path, p) {
- i = Utils.cloneObject(i);
- if ( !p.match(/(\/\/)?\/$/) ) {
- p += '/';
- }
- i.path = p + i.filename;
- return new OSjs.VFS.File(i);
- }
- function initStorage() {
- if ( !_isMounted ) {
- try {
- _cache = JSON.parse(localStorage.getItem(NAMESPACE + '/tree')) || {};
- } catch ( e ) {}
- try {
- _fileCache = JSON.parse(localStorage.getItem(NAMESPACE + '/data')) || {};
- } catch ( e ) {}
- if ( typeof _cache['/'] === 'undefined' ) {
- _cache['/'] = [];
- }
- _isMounted = true;
- API.message('vfs:mount', 'LocalStorage', {source: null});
- }
- }
- function commitStorage() {
- try {
- localStorage.setItem(NAMESPACE + '/tree', JSON.stringify(_cache));
- localStorage.setItem(NAMESPACE + '/data', JSON.stringify(_fileCache));
- return true;
- } catch ( e ) {}
- return false;
- }
- function addToCache(iter, data, dab) {
- var path = getRealPath(iter.path);
- var dirname = Utils.dirname(path);
- var type = typeof data === 'undefined' || data === null ? 'dir' : 'file';
- var mimeConfig = API.getConfig('MIME.mapping');
- var mime = (function(type) {
- if ( type !== 'dir' ) {
- if ( iter.mime ) {
- return iter.mime;
- } else {
- var ext = Utils.filext(iter.filename);
- return mimeConfig['.' + ext] || 'application/octet-stream';
- }
- }
- return null;
- })(iter.type);
- var file = {
- size: iter.size || (type === 'file' ? (dab.byteLength || dab.length || 0) : 0),
- mime: mime,
- type: type,
- filename: iter.filename
- };
- if ( typeof _cache[dirname] === 'undefined' ) {
- _cache[dirname] = [];
- }
- (function(found) {
- if ( found !== false) {
- _cache[dirname][found] = file;
- } else {
- _cache[dirname].push(file);
- }
- })(findInCache(iter));
- if ( file.type === 'dir' ) {
- if ( _fileCache[path] ) {
- delete _fileCache[path];
- }
- _cache[path] = [];
- } else {
- var iof = data.indexOf(',');
- _fileCache[path] = data.substr(iof + 1);
- }
- return true;
- }
- function removeFromCache(iter) {
- function _removef(i) {
- var path = getRealPath(i.path);
- if ( _fileCache[path] ) {
- delete _fileCache[path];
- }
- _removefromp(i);
- }
- function _removed(i) {
- var path = getRealPath(i.path);
- if ( path !== '/' ) {
- _removefromp(i);
- if ( _cache[path] ) {
- delete _cache[path];
- }
- }
- }
- function _removefromp(i) {
- var path = getRealPath(i.path);
- var dirname = Utils.dirname(path);
- if ( _cache[dirname] ) {
- var found = -1;
- _cache[dirname].forEach(function(ii, idx) {
- if ( found === -1 && ii ) {
- if ( ii.type === i.type && i.filename === i.filename ) {
- found = idx;
- }
- }
- });
- if ( found >= 0 ) {
- _cache[dirname].splice(found, 1);
- }
- }
- }
- function _op(i) {
- if ( i ) {
- if ( i.type === 'dir' ) {
- scanStorage(i, false).forEach(function(ii) {
- _op(ii);
- });
- _removed(i);
- } else {
- _removef(i);
- }
- }
- }
- _op(iter);
- return true;
- }
- function findInCache(iter) {
- var path = getRealPath(iter.path);
- var dirname = Utils.dirname(path);
- var found = false;
- _cache[dirname].forEach(function(chk, idx) {
- if ( found === false && chk.filename === iter.filename ) {
- found = idx;
- }
- });
- return found;
- }
- function getFromCache(pp) {
- var path = Utils.dirname(pp);
- var fname = Utils.filename(pp);
- var result = null;
- var tpath = path.replace(/^(.*)\:\/\//, '');
- (_cache[tpath] || []).forEach(function(v) {
- if ( !result && v.filename === fname ) {
- result = createMetadata(v, null, path);
- }
- });
- return result;
- }
- function scanStorage(item, ui) {
- var path = getRealPath(item.path);
- var data = _cache[path] || false;
- var list = (data === false) ? false : data.filter(function(i) {
- return !!i;
- }).map(function(i) {
- return createMetadata(i, path, item.path);
- });
- return list;
- }
- var LocalStorageStorage = {
- scandir: function(item, callback, options) {
- var list = scanStorage(item, true);
- callback(list === false ? API._('ERR_VFSMODULE_NOSUCH') : false, list);
- },
- read: function(item, callback, options) {
- options = options || {};
- var path = getRealPath(item.path);
- function readStorage(cb) {
- var metadata = getFromCache(path);
- if ( metadata ) {
- var data = _fileCache[path];
- if ( data ) {
- var ds = 'data:' + metadata.mime + ',' + data;
- OSjs.VFS.Helpers.dataSourceToAb(ds, metadata.mime, function(err, res) {
- if ( err ) {
- cb(err);
- } else {
- if ( options.url ) {
- OSjs.VFS.Helpers.abToBlob(res, metadata.mime, function(err, blob) {
- cb(err, URL.createObjectURL(blob));
- });
- } else {
- cb(err, res);
- }
- }
- });
- return true;
- }
- }
- return false;
- }
- if ( readStorage(callback) === false ) {
- callback(API._('ERR_VFS_FATAL'), false);
- }
- },
- write: function(file, data, callback, options) {
- options = options || {};
- var mime = file.mime || 'application/octet-stream';
- function writeStorage(cb) {
- if ( options.isds ) {
- cb(false, data);
- } else {
- OSjs.VFS.Helpers.abToDataSource(data, mime, function(err, res) {
- if ( err ) {
- callback(err, false);
- } else {
- cb(false, res);
- }
- });
- }
- }
- writeStorage(function(err, res) {
- try {
- if ( addToCache(file, res, data) && commitStorage() ) {
- callback(err, true);
- } else {
- callback(API._('ERR_VFS_FATAL'), false);
- }
- } catch ( e ) {
- callback(e);
- }
- });
- },
- unlink: function(src, callback) {
- try {
- src = getFromCache(src.path) || src;
- if ( removeFromCache(src) && commitStorage() ) {
- callback(false, true);
- } else {
- callback(API._('ERR_VFS_FATAL'), false);
- }
- } catch ( e ) {
- callback(e);
- }
- },
- copy: function(src, dest, callback) {
- function _write(s, d, cb) {
- OSjs.VFS.read(s, function(err, data) {
- if ( err ) {
- cb(err);
- } else {
- OSjs.VFS.write(d, data, cb);
- }
- });
- }
- function _op(s, d, cb) {
- if ( s.type === 'file' ) {
- d.mime = s.mime;
- }
- d.size = s.size;
- d.type = s.type;
- if ( d.type === 'dir' ) {
- OSjs.VFS.mkdir(d, function(err, res) {
- if ( err ) {
- cb(err);
- } else {
- var list = scanStorage(s, false);
- if ( list && list.length ) {
- Utils.asyncs(list, function(entry, idx, next) {
- var rp = entry.path.substr(src.path.length);
- var nd = new OSjs.VFS.File(dest.path + rp);
- _op(entry, nd, next);
- }, function() {
- cb(false, true);
- });
- } else {
- cb(false, true);
- }
- }
- });
- } else {
- _write(s, d, cb);
- }
- }
- src = getFromCache(src.path) || src;
- var droot = getRealPath(Utils.dirname(dest.path));
- if ( droot !== '/' && !getFromCache(droot) ) {
- callback(API._('ERR_VFS_TARGET_NOT_EXISTS'));
- return;
- }
- if ( src.type === 'dir' && src.path === Utils.dirname(dest.path) ) {
- callback('You cannot copy a directory into itself'); // FIXME
- return;
- }
- _op(src, dest, callback);
- },
- move: function(src, dest, callback) {
- var spath = getRealPath(src.path);
- var dpath = getRealPath(dest.path);
- var sdirname = Utils.dirname(spath);
- var ddirname = Utils.dirname(dpath);
- if ( _fileCache[dpath] ) {
- callback(API._('ERR_VFS_FILE_EXISTS'));
- return;
- }
- if ( sdirname === ddirname ) {
- if ( _fileCache[spath] ) {
- var tmp = _fileCache[spath];
- delete _fileCache[spath];
- _fileCache[dpath] = tmp;
- }
- if ( _cache[sdirname] ) {
- var found = -1;
- _cache[sdirname].forEach(function(i, idx) {
- if ( i && found === -1 ) {
- if ( i.filename === src.filename && i.type === src.type ) {
- found = idx;
- }
- }
- });
- if ( found >= 0 ) {
- _cache[sdirname][found].filename = dest.filename;
- }
- }
- callback(false, commitStorage());
- } else {
- OSjs.VSF.copy(src, dest, function(err) {
- if ( err ) {
- callback(err);
- } else {
- OSjs.VFS.unlink(src, callback);
- }
- });
- }
- },
- exists: function(item, callback) {
- var data = getFromCache(getRealPath(item.path));
- callback(false, !!data);
- },
- fileinfo: function(item, callback) {
- var data = getFromCache(item.path);
- callback(data ? false : API._('ERR_VFSMODULE_NOSUCH'), data);
- },
- mkdir: function(dir, callback) {
- var dpath = getRealPath(dir.path);
- if ( dpath !== '/' && getFromCache(dpath) ) {
- callback(API._('ERR_VFS_FILE_EXISTS'));
- return;
- }
- dir.mime = null;
- dir.size = 0;
- dir.type = 'dir';
- try {
- if ( addToCache(dir) && commitStorage() ) {
- callback(false, true);
- } else {
- callback(API._('ERR_VFS_FATAL'));
- }
- } catch ( e ) {
- callback(e);
- }
- },
- upload: function(file, dest, callback) {
- var check = new OSjs.VFS.File(Utils.pathJoin((new OSjs.VFS.File(dest)).path, file.name), file.type);
- check.size = file.size;
- check.type = 'file';
- OSjs.VFS.exists(check, function(err, exists) {
- if ( err || exists ) {
- callback(err || API._('ERR_VFS_FILE_EXISTS'));
- } else {
- var reader = new FileReader();
- reader.onerror = function(e) {
- callback(e);
- };
- reader.onloadend = function() {
- OSjs.VFS.write(check, reader.result, callback, {isds: true});
- };
- reader.readAsDataURL(file);
- }
- });
- },
- url: function(item, callback) {
- OSjs.VFS.exists(item, function(err, exists) {
- if ( err || !exists ) {
- callback(err || API._('ERR_VFS_FILE_EXISTS'));
- } else {
- OSjs.VFS.read(item, callback, {url: true});
- }
- });
- },
- find: function(file, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- },
- trash: function(file, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- },
- untrash: function(file, callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- },
- emptyTrash: function(callback) {
- callback(API._('ERR_VFS_UNAVAILABLE'));
- },
- freeSpace: function(root, callback) {
- var total = 5 * 1024 * 1024;
- var used = JSON.stringify(_cache).length + JSON.stringify(_fileCache).length;
- callback(false, total - used);
- }
- };
- function makeRequest(name, args, callback, options) {
- initStorage();
- var ref = LocalStorageStorage[name];
- var fargs = (args || []).slice(0);
- fargs.push(callback || function() {});
- fargs.push(options || {});
- return ref.apply(ref, fargs);
- }
- OSjs.Core.getMountManager()._add({
- readOnly: false,
- name: 'LocalStorage',
- transport: 'LocalStorage',
- description: API.getConfig('VFS.LocalStorage.Options.description', 'LocalStorage'),
- visible: true,
- searchable: false,
- unmount: function(cb) {
- cb = cb || function() {};
- _isMounted = false;
- API.message('vfs:unmount', 'LocalStorage', {source: null});
- cb(false, true);
- },
- mounted: function() {
- return _isMounted;
- },
- enabled: function() {
- try {
- if ( API.getConfig('VFS.LocalStorage.Enabled') ) {
- return true;
- }
- } catch ( e ) {
- console.warn('OSjs.VFS.Modules.LocalStorage::enabled()', e, e.stack);
- }
- return false;
- },
- root: 'localstorage:///',
- icon: API.getConfig('VFS.LocalStorage.Options.icon', 'apps/web-browser.png'),
- match: /^localstorage\:\/\//,
- request: makeRequest
- });
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, VFS, API) {
- 'use strict';
- function filter(from, index, shrt, toindex) {
- var list = [];
- for ( var i = (shrt ? 0 : toindex); i < from.length; i++ ) {
- list.push(from[i]);
- }
- return list;
- }
- function format(fmt, date) {
- var utc;
- if ( typeof fmt === 'undefined' || !fmt ) {
- fmt = ExtendedDate.config.defaultFormat;
- } else {
- if ( typeof fmt !== 'string' ) {
- utc = fmt.utc;
- fmt = fmt.format;
- } else {
- utc = ExtendedDate.config.utc;
- }
- }
- return formatDate(date, fmt, utc);
- }
- function _now(now) {
- return now ? (now instanceof ExtendedDate ? now.date : now) : new Date();
- }
- function _y(y, now) {
- return (typeof y === 'undefined' || y === null || y < 0 ) ? now.getFullYear() : y;
- }
- function _m(m, now) {
- return (typeof m === 'undefined' || m === null || m < 0 ) ? now.getMonth() : m;
- }
- function ExtendedDate(date) {
- if ( date ) {
- if ( date instanceof Date ) {
- this.date = date;
- } else if ( date instanceof ExtendedDate ) {
- this.date = date.date;
- } else if ( typeof date === 'string' ) {
- this.date = new Date(date);
- }
- }
- if ( !this.date ) {
- this.date = new Date();
- }
- }
- ExtendedDate.config = {
- defaultFormat: 'isoDateTime'
- };
- ExtendedDate.dayNames = [
- 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat',
- 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'
- ];
- ExtendedDate.monthNames = [
- 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec',
- 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'
- ];
- var methods = [
- 'UTC',
- 'toString',
- 'now',
- 'parse',
- 'getDate',
- 'getDay',
- 'getFullYear',
- 'getHours',
- 'getMilliseconds',
- 'getMinutes',
- 'getMonth',
- 'getSeconds',
- 'getTime',
- 'getTimezoneOffset',
- 'getUTCDate',
- 'getUTCDay',
- 'getUTCFullYear',
- 'getUTCHours',
- 'getUTCMilliseconds',
- 'getUTCMinutes',
- 'getUTCMonth',
- 'getUTCSeconds',
- 'getYear',
- 'setDate',
- 'setFullYear',
- 'setHours',
- 'setMilliseconds',
- 'setMinutes',
- 'setMonth',
- 'setSeconds',
- 'setTime',
- 'setUTCDate',
- 'setUTCFullYear',
- 'setUTCHours',
- 'setUTCMilliseconds',
- 'setUTCMinutes',
- 'setUTCMonth',
- 'setUTCSeconds',
- 'setYear',
- 'toDateString',
- 'toGMTString',
- 'toISOString',
- 'toJSON',
- 'toLocaleDateString',
- 'toLocaleFormat',
- 'toLocaleString',
- 'toLocaleTimeString',
- 'toSource',
- 'toString',
- 'toTimeString',
- 'toUTCString',
- 'valueOf'
- ];
- methods.forEach(function(m) {
- ExtendedDate.prototype[m] = function() {
- return this.date[m].apply(this.date, arguments);
- };
- });
- ExtendedDate.prototype.get = function() {
- return this.date;
- };
- ExtendedDate.prototype.format = function(fmt) {
- return ExtendedDate.format(this, fmt);
- };
- ExtendedDate.prototype.getFirstDayInMonth = function(fmt) {
- return ExtendedDate.getFirstDayInMonth(fmt, null, null, this);
- };
- ExtendedDate.prototype.getLastDayInMonth = function(fmt) {
- return ExtendedDate.getLastDayInMonth(fmt, null, null, this);
- };
- ExtendedDate.prototype.getDaysInMonth = function() {
- return ExtendedDate.getDaysInMonth(null, null, this);
- };
- ExtendedDate.prototype.getWeekNumber = function() {
- return ExtendedDate.getWeekNumber(this);
- };
- ExtendedDate.prototype.isWithinMonth = function(from, to) {
- return ExtendedDate.isWithinMonth(this, from, to);
- };
- ExtendedDate.prototype.getDayOfTheYear = function() {
- return ExtendedDate.getDayOfTheYear();
- };
- ExtendedDate.format = function(date, fmt) {
- return format(fmt, date);
- };
- ExtendedDate.getPreviousMonth = function(now) {
- now = now ? (now instanceof ExtendedDate ? now.date : now) : new Date();
- var current;
- if (now.getMonth() === 0) {
- current = new Date(now.getFullYear() - 1, 11, now.getDate());
- } else {
- current = new Date(now.getFullYear(), now.getMonth() - 1, now.getDate());
- }
- return new ExtendedDate(current);
- };
- ExtendedDate.getNextMonth = function(now) {
- now = now ? (now instanceof ExtendedDate ? now.date : now) : new Date();
- var current;
- if (now.getMonth() === 11) {
- current = new Date(now.getFullYear() + 1, 0, now.getDate());
- } else {
- current = new Date(now.getFullYear(), now.getMonth() + 1, now.getDate());
- }
- return new ExtendedDate(current);
- };
- ExtendedDate.getFirstDayInMonth = function(fmt, y, m, now) {
- now = _now(now);
- y = _y(y, now);
- m = _m(m, now);
- var date = new Date();
- date.setFullYear(y, m, 1);
- if ( fmt === true ) {
- return date.getDate();
- }
- return fmt ? format(fmt, date) : new ExtendedDate(date);
- };
- ExtendedDate.getLastDayInMonth = function(fmt, y, m, now) {
- now = _now(now);
- y = _y(y, now);
- m = _m(m, now);
- var date = new Date();
- date.setFullYear(y, m, 0);
- if ( fmt === true ) {
- return date.getDate();
- }
- return fmt ? format(fmt, date) : new ExtendedDate(date);
- };
- ExtendedDate.getDaysInMonth = function(y, m, now) {
- now = _now(now);
- y = _y(y, now);
- m = _m(m, now);
- var date = new Date();
- date.setFullYear(y, m, 0);
- return parseInt(date.getDate(), 10);
- };
- ExtendedDate.getWeekNumber = function(now) {
- now = now ? (now instanceof ExtendedDate ? now.date : now) : new Date();
- var d = new Date(+now);
- d.setHours(0,0,0);
- d.setDate(d.getDate() + 4 - (d.getDay() || 7));
- return Math.ceil((((d - new Date(d.getFullYear(),0,1)) / 8.64e7) + 1) / 7);
- };
- ExtendedDate.getDayName = function(index, shrt) {
- if ( index < 0 || index === null || typeof index === 'undefined' ) {
- return filter(ExtendedDate.dayNames, index, shrt, 7);
- }
- shrt = shrt ? 0 : 1;
- var idx = index + (shrt + 7);
- return ExtendedDate.dayNames[idx];
- };
- ExtendedDate.getMonthName = function(index, shrt) {
- if ( index < 0 || index === null || typeof index === 'undefined' ) {
- return filter(ExtendedDate.monthNames, index, shrt, 12);
- }
- shrt = shrt ? 0 : 1;
- var idx = index + (shrt + 12);
- return ExtendedDate.monthNames[idx];
- };
- ExtendedDate.isWithinMonth = function(now, from, to) {
- if ( now.getFullYear() >= from.getFullYear() && now.getMonth() >= from.getMonth() ) {
- if ( now.getFullYear() <= to.getFullYear() && now.getMonth() <= to.getMonth() ) {
- return true;
- }
- }
- return false;
- };
- ExtendedDate.getDayOfTheYear = function() {
- var now = new Date();
- var start = new Date(now.getFullYear(), 0, 0);
- var diff = now - start;
- var oneDay = 1000 * 60 * 60 * 24;
- return Math.floor(diff / oneDay);
- };
- function formatDate(date, format, utc) {
- utc = utc === true;
- function pad(val, len) {
- val = String(val);
- len = len || 2;
- while (val.length < len) {
- val = '0' + val;
- }
- return val;
- }
- var defaultFormats = {
- 'default': 'Y-m-d H:i:s',
- shortDate: 'm/d/y',
- mediumDate: 'M d, Y',
- longDate: 'F d, Y',
- fullDate: 'l, F d, Y',
- shortTime: 'h:i A',
- mediumTime: 'h:i:s A',
- longTime: 'h:i:s A T',
- isoDate: 'Y-m-d',
- isoTime: 'H:i:s',
- isoDateTime: 'Y-m-d H:i:s'
- };
- format = defaultFormats[format] || format;
- if ( !(date instanceof ExtendedDate) ) {
- date = new ExtendedDate(date);
- }
- var map = {
- d: function(s) {
- return pad(map.j(s));
- },
- D: function(s) {
- return ExtendedDate.dayNames[utc ? date.getUTCDay() : date.getDay()];
- },
- j: function(s) {
- return (utc ? date.getUTCDate() : date.getDate());
- },
- l: function(s) {
- return ExtendedDate.dayNames[(utc ? date.getUTCDay() : date.getDay()) + 7];
- },
- w: function(s) {
- return (utc ? date.getUTCDay() : date.getDay());
- },
- z: function(s) {
- return date.getDayOfTheYear();
- },
- S: function(s) {
- var d = utc ? date.getUTCDate() : date.getDate();
- return ['th', 'st', 'nd', 'rd'][d % 10 > 3 ? 0 : (d % 100 - d % 10 !== 10) * d % 10];
- },
- W: function(s) {
- return date.getWeekNumber();
- },
- F: function(s) {
- return ExtendedDate.monthNames[(utc ? date.getUTCMonth() : date.getMonth()) + 12];
- },
- m: function(s) {
- return pad(map.n(s));
- },
- M: function(s) {
- return ExtendedDate.monthNames[(utc ? date.getUTCMonth() : date.getMonth())];
- },
- n: function(s) {
- return (utc ? date.getUTCMonth() : date.getMonth()) + 1;
- },
- t: function(s) {
- return date.getDaysInMonth();
- },
- Y: function(s) {
- return (utc ? date.getUTCFullYear() : date.getFullYear());
- },
- y: function(s) {
- return String(map.Y(s)).slice(2);
- },
- a: function(s) {
- return map.G(s) < 12 ? 'am' : 'pm';
- },
- A: function(s) {
- return map.a(s).toUpperCase();
- },
- g: function(s) {
- return map.G(s) % 12 || 12;
- },
- G: function(s) {
- return (utc ? date.getUTCHours() : date.getHours());
- },
- h: function(s) {
- return pad(map.g(s));
- },
- H: function(s) {
- return pad(map.G(s));
- },
- i: function(s) {
- return pad(utc ? date.getUTCMinutes() : date.getMinutes());
- },
- s: function(s) {
- return pad(utc ? date.getUTCSeconds() : date.getSeconds());
- },
- O: function(s) {
- var tzo = -date.getTimezoneOffset();
- var dif = tzo >= 0 ? '+' : '-';
- function ppad(num) {
- var norm = Math.abs(Math.floor(num));
- return (norm < 10 ? '0' : '') + norm;
- }
- var str = dif + ppad(tzo / 60) + ':' + ppad(tzo % 60);
- return str;
- },
- T: function(s) {
- if ( utc ) {
- return 'UTC';
- }
- var timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g;
- var zones = String(date.date).match(timezone) || [''];
- return zones.pop().replace(/(\+|\-)[0-9]+$/, '');
- },
- U: function(s) {
- return date.getTime();
- }
- };
- var result = [];
- format.split('').forEach(function(s) {
- result.push(map[s] ? map[s]() : s);
- });
- return result.join('');
- }
- OSjs.Helpers.Date = ExtendedDate;
-})(OSjs.Utils, OSjs.VFS, OSjs.API);
-
-(function(Utils, API, GUI, Window) {
- 'use strict';
- function EventHandler(name, names) {
- this.name = name;
- this.events = {};
- (names || []).forEach(function(n) {
- this.events[n] = [];
- }, this);
- }
- EventHandler.prototype.destroy = function() {
- this.events = {};
- };
- EventHandler.prototype.on = function(name, cb, thisArg) {
- thisArg = thisArg || this;
- if ( !(cb instanceof Function) ) {
- throw new TypeError('EventHandler::on() expects cb to be a Function');
- }
- var self = this;
- var added = [];
- function _register(n) {
- if ( !(self.events[n] instanceof Array) ) {
- self.events[n] = [];
- }
- added.push(self.events[n].push(function(args) {
- return cb.apply(thisArg, args);
- }));
- }
- if ( name instanceof RegExp ) {
- Object.keys(this.events).forEach(function(n) {
- if ( name.test(n) ) {
- _register(n);
- }
- });
- } else {
- name.replace(/\s/g, '').split(',').forEach(function(n) {
- _register(n);
- });
- }
- return added.length === 1 ? added[0] : added;
- };
- EventHandler.prototype.off = function(name, index) {
- if ( !(this.events[name] instanceof Array) ) {
- throw new TypeError('Invalid event name');
- }
- if ( arguments.length > 1 && typeof index === 'number' ) {
- this.events[name].splice(index, 1);
- } else {
- this.events[name] = [];
- }
- };
- EventHandler.prototype.emit = function(name, args) {
- args = args || [];
- if ( !(this.events[name] instanceof Array) ) {
- return true;
- }
- return (this.events[name]).every(function(fn) {
- var result;
- try {
- result = fn(args);
- } catch ( e ) {
- console.warn('EventHandler::emit() exception', name, e);
- console.warn(e.stack);
- }
- return typeof result === 'undefined' || result === true;
- });
- };
- OSjs.Helpers.EventHandler = EventHandler;
-})(OSjs.Utils, OSjs.API, OSjs.GUI, OSjs.Core.Window);
-
-(function(Application, Window, Utils, VFS, GUI) {
- 'use strict';
- var IFRAME_COUNT = 0;
- var IFrameApplicationWindow = function(name, opts, app) {
- opts = Utils.argumentDefaults(opts, {
- src: 'about:blank',
- focus: function() {},
- blur: function() {},
- icon: null,
- title: 'IframeApplicationWindow',
- width: 320,
- height: 240,
- allow_resize: false,
- allow_restore: false,
- allow_maximize: false
- });
- Window.apply(this, ['IFrameApplicationWindow', opts, app]);
- this._iwin = null;
- this._frame = null;
- };
- IFrameApplicationWindow.prototype = Object.create(Window.prototype);
- IFrameApplicationWindow.prototype.destroy = function() {
- this.postMessage('Window::destroy');
- return Window.prototype.destroy.apply(this, arguments);
- };
- IFrameApplicationWindow.prototype.init = function(wmRef, app) {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- root.style.overflow = 'visible';
- var id = 'IframeApplicationWindow' + IFRAME_COUNT.toString();
- var iframe = document.createElement('iframe');
- iframe.setAttribute('border', 0);
- iframe.id = id;
- iframe.className = 'IframeApplicationFrame';
- iframe.addEventListener('load', function() {
- self._iwin = iframe.contentWindow;
- self.postMessage('Window::init');
- });
- this.setLocation(this._opts.src, iframe);
- root.appendChild(iframe);
- this._frame = iframe;
- try {
- this._iwin = iframe.contentWindow;
- } catch ( e ) {}
- if ( this._iwin ) {
- this._iwin.focus();
- }
- this._frame.focus();
- this._opts.focus(this._frame, this._iwin);
- IFRAME_COUNT++;
- return root;
- };
- IFrameApplicationWindow.prototype._blur = function() {
- if ( Window.prototype._blur.apply(this, arguments) ) {
- if ( this._iwin ) {
- this._iwin.blur();
- }
- if ( this._frame ) {
- this._frame.blur();
- }
- this._opts.blur(this._frame, this._iwin);
- return true;
- }
- return false;
- };
- IFrameApplicationWindow.prototype._focus = function() {
- if ( Window.prototype._focus.apply(this, arguments) ) {
- if ( this._iwin ) {
- this._iwin.focus();
- }
- if ( this._frame ) {
- this._frame.focus();
- }
- this._opts.focus(this._frame, this._iwin);
- return true;
- }
- return false;
- };
- IFrameApplicationWindow.prototype.postMessage = function(message) {
- if ( this._iwin && this._app ) {
- this._iwin.postMessage({
- message: message,
- pid: this._app.__pid,
- wid: this._wid
- }, window.location.href);
- }
- };
- IFrameApplicationWindow.prototype.onPostMessage = function(message, ev) {
- };
- IFrameApplicationWindow.prototype.setLocation = function(src, iframe) {
- iframe = iframe || this._frame;
- var oldbefore = window.onbeforeunload;
- window.onbeforeunload = null;
- iframe.src = src;
- window.onbeforeunload = oldbefore;
- };
- var IFrameApplication = function(name, args, metadata, opts) {
- Application.call(this, name, args, metadata);
- this.options = Utils.argumentDefaults(opts, {
- icon: '',
- title: 'IframeApplicationWindow'
- });
- this.options.src = OSjs.API.getApplicationResource(this, this.options.src);
- };
- IFrameApplication.prototype = Object.create(Application.prototype);
- IFrameApplication.prototype.init = function(settings, metadata) {
- Application.prototype.init.apply(this, arguments);
- var name = this.__pname + 'Window';
- this._addWindow(new IFrameApplicationWindow(name, this.options, this), null, true);
- };
- IFrameApplication.prototype.onPostMessage = function(message, ev) {
- var self = this;
- function _response(err, res) {
- self.postMessage({
- id: message.id,
- method: message.method,
- error: err,
- result: Utils.cloneObject(res)
- });
- }
- if ( typeof message.id === 'number' && message.method ) {
- if ( this[message.method] ) {
- this[message.method](message.args || {}, _response);
- } else {
- _response('No such method');
- }
- }
- };
- IFrameApplication.prototype.postMessage = function(message) {
- var win = this._getMainWindow();
- if ( win ) {
- win.postMessage(message);
- }
- };
- OSjs.Helpers.IFrameApplication = IFrameApplication;
- OSjs.Helpers.IFrameApplicationWindow = IFrameApplicationWindow;
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.VFS, OSjs.GUI);
-
-(function(Application, Window, Utils, VFS, API, GUI) {
- 'use strict';
- function DefaultApplication(name, args, metadata, opts) {
- this.defaultOptions = Utils.argumentDefaults(opts, {
- readData: true,
- rawData: false,
- extension: '',
- mime: 'application/octet-stream',
- filetypes: [],
- filename: 'New file'
- });
- Application.apply(this, [name, args, metadata]);
- }
- DefaultApplication.prototype = Object.create(Application.prototype);
- DefaultApplication.constructor = Application;
- DefaultApplication.prototype.destroy = function() {
- Application.prototype.destroy.apply(this, arguments);
- };
- DefaultApplication.prototype._onMessage = function(obj, msg, args) {
- Application.prototype._onMessage.apply(this, arguments);
- var self = this;
- var current = this._getArgument('file');
- var win = this._getWindow(this.__mainwindow);
- if ( msg === 'vfs' && args.source !== null && args.source !== this.__pid && args.file ) {
- if ( win && current && current.path === args.file.path ) {
- win._toggleDisabled(true);
- API.createDialog('Confirm', {
- buttons: ['yes', 'no'],
- message: API._('MSG_FILE_CHANGED')
- }, function(ev, button) {
- win._toggleDisabled(false);
- if ( button === 'ok' || button === 'yes' ) {
- self.openFile(new VFS.File(args.file), win);
- }
- }, win);
- }
- }
- };
- DefaultApplication.prototype.openFile = function(file, win) {
- var self = this;
- if ( !file ) {
- return;
- }
- function onError(error) {
- if ( error ) {
- API.error(self.__label,
- API._('ERR_FILE_APP_OPEN'),
- API._('ERR_FILE_APP_OPEN_ALT_FMT',
- file.path));
- return true;
- }
- return false;
- }
- function onDone(result) {
- self._setArgument('file', file);
- win.showFile(file, result);
- }
- var check = this.__metadata.mime || [];
- if ( !Utils.checkAcceptMime(file.mime, check) ) {
- API.error(this.__label,
- API._('ERR_FILE_APP_OPEN'),
- API._('ERR_FILE_APP_OPEN_FMT',
- file.path, file.mime)
- );
- return false;
- }
- win._toggleLoading(true);
- function CallbackVFS(error, result) {
- win._toggleLoading(false);
- if ( onError(error) ) {
- return;
- }
- onDone(result);
- }
- if ( this.defaultOptions.readData ) {
- VFS.read(file, CallbackVFS, {type: this.defaultOptions.rawData ? 'binary' : 'text'});
- } else {
- VFS.url(file, CallbackVFS);
- }
- return true;
- };
- DefaultApplication.prototype.saveFile = function(file, value, win) {
- var self = this;
- if ( !file ) {
- return;
- }
- win._toggleLoading(true);
- VFS.write(file, value || '', function(error, result) {
- win._toggleLoading(false);
- if ( error ) {
- API.error(self.__label,
- API._('ERR_FILE_APP_SAVE'),
- API._('ERR_FILE_APP_SAVE_ALT_FMT',
- file.path));
- return;
- }
- self._setArgument('file', file);
- win.updateFile(file);
- }, {}, this);
- };
- DefaultApplication.prototype.saveDialog = function(file, win, saveAs) {
- var self = this;
- var value = win.getFileData();
- if ( !saveAs ) {
- this.saveFile(file, value, win);
- return;
- }
- win._toggleDisabled(true);
- API.createDialog('File', {
- file: file,
- filename: file ? file.filename : this.defaultOptions.filename,
- filetypes: this.defaultOptions.filetypes,
- filter: this.__metadata.mime,
- extension: this.defaultOptions.extension,
- mime: this.defaultOptions.mime,
- type: 'save'
- }, function(ev, button, result) {
- win._toggleDisabled(false);
- if ( button === 'ok' ) {
- self.saveFile(result, value, win);
- }
- }, win);
- };
- DefaultApplication.prototype.openDialog = function(file, win) {
- var self = this;
- function openDialog() {
- win._toggleDisabled(true);
- API.createDialog('File', {
- file: file,
- filter: self.__metadata.mime
- }, function(ev, button, result) {
- win._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- self.openFile(new VFS.File(result), win);
- }
- }, win);
- }
- win.checkHasChanged(function(discard) {
- if ( discard ) {
- openDialog();
- }
- });
- };
- DefaultApplication.prototype.newDialog = function(path, win) {
- var self = this;
- win.checkHasChanged(function(discard) {
- if ( discard ) {
- self._setArgument('file', null);
- win.showFile(null, null);
- }
- });
- };
- OSjs.Helpers.DefaultApplication = DefaultApplication;
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.VFS, OSjs.API, OSjs.GUI);
-
-(function(Application, Window, Utils, VFS, API, GUI) {
- 'use strict';
- function DefaultApplicationWindow(name, app, args, scheme, file) {
- Window.apply(this, arguments);
- this.hasClosingDialog = false;
- this.currentFile = file ? new VFS.File(file) : null;
- this.hasChanged = false;
- }
- DefaultApplicationWindow.prototype = Object.create(Window.prototype);
- DefaultApplicationWindow.constructor = Window;
- DefaultApplicationWindow.prototype.destroy = function() {
- Window.prototype.destroy.apply(this, arguments);
- this.currentFile = null;
- };
- DefaultApplicationWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
- return root;
- };
- DefaultApplicationWindow.prototype._inited = function() {
- var result = Window.prototype._inited.apply(this, arguments);
- var self = this;
- var app = this._app;
- var menuMap = {
- MenuNew: function() {
- app.newDialog(self.currentFile, self);
- },
- MenuSave: function() {
- app.saveDialog(self.currentFile, self);
- },
- MenuSaveAs: function() {
- app.saveDialog(self.currentFile, self, true);
- },
- MenuOpen: function() {
- app.openDialog(self.currentFile, self);
- },
- MenuClose: function() {
- self._close();
- }
- };
- this._scheme.find(this, 'SubmenuFile').on('select', function(ev) {
- if ( menuMap[ev.detail.id] ) {
- menuMap[ev.detail.id]();
- }
- });
- this._scheme.find(this, 'MenuSave').set('disabled', true);
- if ( this.currentFile ) {
- if ( !this._app.openFile(this.currentFile, this) ) {
- this.currentFile = null;
- }
- }
- return result;
- };
- DefaultApplicationWindow.prototype._onDndEvent = function(ev, type, item, args) {
- if ( !Window.prototype._onDndEvent.apply(this, arguments) ) {
- return;
- }
- if ( type === 'itemDrop' && item ) {
- var data = item.data;
- if ( data && data.type === 'file' && data.mime ) {
- this._app.openFile(new VFS.File(data), this);
- }
- }
- };
- DefaultApplicationWindow.prototype._close = function() {
- var self = this;
- if ( this.hasClosingDialog ) {
- return;
- }
- if ( this.hasChanged ) {
- this.hasClosingDialog = true;
- this.checkHasChanged(function(discard) {
- self.hasClosingDialog = false;
- if ( discard ) {
- self.hasChanged = false; // IMPORTANT
- self._close();
- }
- });
- return;
- }
- Window.prototype._close.apply(this, arguments);
- };
- DefaultApplicationWindow.prototype.checkHasChanged = function(cb) {
- var self = this;
- if ( this.hasChanged ) {
- this._toggleDisabled(true);
- API.createDialog('Confirm', {
- buttons: ['yes', 'no'],
- message: API._('MSG_GENERIC_APP_DISCARD')
- }, function(ev, button) {
- self._toggleDisabled(false);
- cb(button === 'ok' || button === 'yes');
- });
- return;
- }
- cb(true);
- };
- DefaultApplicationWindow.prototype.showFile = function(file, content) {
- this.updateFile(file);
- };
- DefaultApplicationWindow.prototype.updateFile = function(file) {
- this.currentFile = file || null;
- this.hasChanged = false;
- if ( this._scheme && (this._scheme instanceof GUI.Scheme) ) {
- this._scheme.find(this, 'MenuSave').set('disabled', !file);
- }
- if ( file ) {
- this._setTitle(file.filename, true);
- } else {
- this._setTitle();
- }
- };
- DefaultApplicationWindow.prototype.getFileData = function() {
- return null;
- };
- DefaultApplicationWindow.prototype._onKeyEvent = function(ev, type, shortcut) {
- if ( shortcut === 'SAVE' ) {
- this._app.saveDialog(this.currentFile, this, !this.currentFile);
- return false;
- } else if ( shortcut === 'SAVEAS' ) {
- this._app.saveDialog(this.currentFile, this, true);
- return false;
- } else if ( shortcut === 'OPEN' ) {
- this._app.openDialog(this.currentFile, this);
- return false;
- }
- return Window.prototype._onKeyEvent.apply(this, arguments);
- };
- OSjs.Helpers.DefaultApplicationWindow = DefaultApplicationWindow;
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.VFS, OSjs.API, OSjs.GUI);
-
-(function(Utils, API) {
- 'use strict';
- var gapi = window.gapi = window.gapi || {};
- var SingletonInstance = null;
- function GoogleAPI(clientId) {
- this.clientId = clientId;
- this.accessToken = null;
- this.userId = null;
- this.preloaded = false;
- this.authenticated = false;
- this.loaded = [];
- this.preloads = [
- {
- type: 'javascript',
- src: 'https://apis.google.com/js/api.js'
- }
- ];
- }
- GoogleAPI.prototype.destroy = function() {
- };
- GoogleAPI.prototype.init = function(callback) {
- var self = this;
- callback = callback || function() {};
- if ( this.preloaded ) {
- callback(false, true);
- } else {
- Utils.preload(this.preloads, function(total, failed) {
- if ( !failed.length ) {
- self.preloaded = true;
- }
- callback(failed.join('\n'));
- });
- }
- };
- GoogleAPI.prototype.load = function(load, scope, client, callback) {
- var self = this;
- function auth(cb) {
- self.authenticate(scope, function(error, result) {
- if ( error ) {
- return cb(error);
- }
- if ( !self.authenticated ) {
- return cb(API._('GAPI_AUTH_FAILURE'));
- }
- cb(false, result);
- });
- }
- function loadAll(finished) {
- var lload = [];
- load.forEach(function(i) {
- if ( self.loaded.indexOf(i) === -1 ) {
- lload.push(i);
- }
- });
- var current = 0;
- var total = lload.length;
- function _load(iter, cb) {
- var args = [];
- var name = null;
- if ( iter instanceof Array ) {
- if ( iter.length > 0 && iter.length < 3 ) {
- args = args.concat(iter);
- name = iter[0];
- }
- } else {
- args.push(iter);
- name = iter;
- }
- args.push(function() {
- self.loaded.push(name);
- cb.apply(this, arguments);
- });
- if ( client ) {
- gapi.client.load.apply(gapi, args);
- } else {
- gapi.load.apply(gapi, args);
- }
- }
- function _next() {
- if ( current >= total ) {
- finished();
- } else {
- _load(lload[current], function() {
- _next();
- });
- current++;
- }
- }
- _next();
- }
- this.init(function(error) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !window.gapi || !gapi.load ) {
- callback(API._('GAPI_LOAD_FAILURE'));
- return;
- }
- auth(function(error) {
- if ( error ) {
- callback(error);
- return;
- }
- loadAll(function(error, result) {
- callback(error, result, SingletonInstance);
- });
- });
- });
- };
- GoogleAPI.prototype.signOut = function(cb) {
- cb = cb || function() {};
- if ( this.authenticated ) {
- try {
- gapi.auth.signOut();
- } catch ( e ) {
- console.warn('GoogleAPI::signOut()', 'failed', e);
- console.warn(e.stack);
- }
- this.authenticated = false;
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.remove('Google API');
- }
- }
- OSjs.Core.getMountManager().remove('GoogleDrive');
- cb(false, true);
- };
- GoogleAPI.prototype.revoke = function(callback) {
- if ( !this.accessToken ) {
- return callback(false);
- }
- var url = 'https://accounts.google.com/o/oauth2/revoke?token=' + this.accessToken;
- Utils.ajax({
- url: url,
- jsonp: true,
- onsuccess: function() {
- callback(true);
- },
- onerror: function() {
- callback(false);
- }
- });
- };
- GoogleAPI.prototype.authenticate = function(scope, callback) {
- callback = callback || function() {};
- var self = this;
- function getUserId(cb) {
- cb = cb || function() {};
- gapi.client.load('oauth2', 'v2', function() {
- gapi.client.oauth2.userinfo.get().execute(function(resp) {
- cb(resp.id);
- });
- });
- }
- function login(immediate, cb) {
- cb = cb || function() {};
- gapi.auth.authorize({
- client_id: self.clientId,
- scope: scope,
- user_id: self.userId,
- immediate: immediate
- }, cb);
- }
- function createRingNotification() {
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.remove('Google API');
- ring.add('Google API', [{
- title: API._('GAPI_SIGN_OUT'),
- onClick: function() {
- self.signOut();
- }
- }, {
- title: API._('GAPI_REVOKE'),
- onClick: function() {
- self.revoke(function() {
- self.signOut();
- });
- }
- }]);
- }
- }
- var handleAuthResult = function(authResult, immediate) {
- if ( authResult.error ) {
- if ( authResult.error_subtype === 'origin_mismatch' || (authResult.error_subtype === 'access_denied' && !immediate) ) {
- var msg = API._('GAPI_AUTH_FAILURE_FMT', authResult.error, authResult.error_subtype);
- callback(msg);
- return;
- }
- }
- if ( authResult && !authResult.error ) {
- getUserId(function(id) {
- self.userId = id;
- if ( id ) {
- createRingNotification();
- self.authenticated = true;
- self.accessToken = authResult.access_token || null;
- callback(false, true);
- } else {
- callback(false, false);
- }
- });
- } else {
- login(false, function(res) {
- handleAuthResult(res, false);
- });
- }
- };
- gapi.load('auth:client', function(result) {
- if ( result && result.error ) {
- var msg = API._('GAPI_AUTH_FAILURE_FMT', result.error, result.error_subtype);
- callback(msg);
- return;
- }
- login(true, function(res) {
- handleAuthResult(res, true);
- });
- });
- };
- OSjs.Helpers.GoogleAPI = OSjs.Helpers.GoogleAPI || {};
- OSjs.Helpers.GoogleAPI.getInstance = function() {
- return SingletonInstance;
- };
- OSjs.Helpers.GoogleAPI.createInstance = function(args, callback) {
- var load = args.load || [];
- var scope = args.scope || [];
- var client = args.client === true;
- function _run() {
- SingletonInstance.load(load, scope, client, callback);
- }
- if ( SingletonInstance ) {
- return _run();
- }
- var clientId = null;
- try {
- clientId = API.getConfig('GoogleAPI.ClientId');
- } catch ( e ) {
- console.warn('getGoogleAPI()', e, e.stack);
- }
- if ( !clientId ) {
- callback(API._('GAPI_DISABLED'));
- return;
- }
- SingletonInstance = new GoogleAPI(clientId);
- _run();
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API) {
- 'use strict';
- var redirectURI = window.location.href.replace(/\/$/, '') + '/vendor/wlOauthReceiver.html';
- var SingletonInstance = null;
- function WindowsLiveAPI(clientId) {
- this.hasSession = false;
- this.clientId = clientId;
- this.loaded = false;
- this.inited = false;
- this.accessToken = null;
- this.lastScope = null;
- this.preloads = [{
- type: 'javascript',
- src: '//js.live.net/v5.0/wl.js'
- }];
- }
- WindowsLiveAPI.prototype.destroy = function() {
- };
- WindowsLiveAPI.prototype.init = function(callback) {
- callback = callback || function() {};
- var self = this;
- if ( this.loaded ) {
- callback(false, true);
- } else {
- Utils.preload(this.preloads, function(total, failed) {
- if ( !failed.length ) {
- self.loaded = true;
- }
- callback(failed.join('\n'));
- });
- }
- };
- WindowsLiveAPI.prototype.load = function(scope, callback) {
- var self = this;
- var WL = window.WL || {};
- function _login() {
- var lastScope = (self.lastScope || []).sort();
- var currScope = (scope || []).sort();
- if ( self.hasSession && (lastScope.toString() === currScope.toString()) ) {
- callback(false, true);
- return;
- }
- self.login(scope, function(error, response) {
- if ( error ) {
- callback(error);
- return;
- }
- setTimeout(function() {
- callback(false, true);
- }, 10);
- });
- }
- this.init(function(error) {
- if ( error ) {
- callback(error);
- return;
- }
- if ( !window.WL ) {
- callback(API._('WLAPI_LOAD_FAILURE'));
- return;
- }
- WL = window.WL || {};
- if ( self.inited ) {
- _login();
- } else {
- self.inited = true;
- WL.Event.subscribe('auth.login', function() {
- self.onLogin.apply(self, arguments);
- });
- WL.Event.subscribe('auth.logout', function() {
- self.onLogout.apply(self, arguments);
- });
- WL.Event.subscribe('wl.log', function() {
- self.onLog.apply(self, arguments);
- });
- WL.Event.subscribe('auth.sessionChange', function() {
- self.onSessionChange.apply(self, arguments);
- });
- WL.init({
- client_id: self.clientId,
- display: 'popup',
- redirect_uri: redirectURI
- }).then(function(result) {
- if ( result.session ) {
- self.accessToken = result.session.access_token || null;
- }
- if ( result.status === 'connected' ) {
- callback(false, true);
- } else if ( result.status === 'success' ) {
- _login();
- } else {
- callback(API._('WLAPI_INIT_FAILED_FMT', result.status.toString()));
- }
- }, function(result) {
- console.error('WindowsLiveAPI::load()', 'init() error', result);
- callback(result.error_description);
- });
- }
- });
- };
- WindowsLiveAPI.prototype._removeRing = function() {
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.remove('Windows Live API');
- }
- };
- WindowsLiveAPI.prototype.logout = function(callback) {
- callback = callback || function() {};
- var self = this;
- var WL = window.WL || {};
- if ( this.hasSession ) {
- callback(false, false);
- }
- WL.Event.unsubscribe('auth.logout');
- WL.Event.subscribe('auth.logout', function() {
- self._removeRing();
- WL.Event.unsubscribe('auth.logout');
- callback(false, true);
- });
- WL.logout();
- OSjs.Core.getMountManager().remove('OneDrive');
- };
- WindowsLiveAPI.prototype.login = function(scope, callback) {
- var WL = window.WL || {};
- if ( this.hasSession ) {
- callback(false, true);
- return;
- }
- WL.login({
- scope: scope,
- redirect_uri: redirectURI
- }).then(function(result) {
- if ( result.status === 'connected' ) {
- callback(false, true);
- } else {
- callback(API._('WLAPI_LOGIN_FAILED'));
- }
- }, function(result) {
- callback(API._('WLAPI_LOGIN_FAILED_FMT', result.error_description));
- });
- };
- WindowsLiveAPI.prototype.onSessionChange = function() {
- console.warn('WindowsLiveAPI::onSessionChange()', arguments);
- var WL = window.WL || {};
- var session = WL.getSession();
- if ( session ) {
- this.hasSession = true;
- } else {
- this.hasSession = false;
- }
- };
- WindowsLiveAPI.prototype.onLogin = function() {
- console.warn('WindowsLiveAPI::onLogin()', arguments);
- this.hasSession = true;
- var self = this;
- var ring = API.getServiceNotificationIcon();
- if ( ring ) {
- ring.add('Windows Live API', [{
- title: API._('WLAPI_SIGN_OUT'),
- onClick: function() {
- self.logout();
- }
- }]);
- }
- };
- WindowsLiveAPI.prototype.onLogout = function() {
- console.warn('WindowsLiveAPI::onLogout()', arguments);
- this.hasSession = false;
- this._removeRing();
- };
- WindowsLiveAPI.prototype.onLog = function() {
- };
- OSjs.Helpers.WindowsLiveAPI = OSjs.Helpers.WindowsLiveAPI || {};
- OSjs.Helpers.WindowsLiveAPI.getInstance = function() {
- return SingletonInstance;
- };
- OSjs.Helpers.WindowsLiveAPI.createInstance = function(args, callback) {
- args = args || {};
- function _run() {
- var scope = args.scope;
- SingletonInstance.load(scope, function(error) {
- callback(error ? error : false, SingletonInstance);
- });
- }
- if ( SingletonInstance ) {
- _run();
- return;
- }
- var clientId = null;
- try {
- clientId = API.getConfig('WindowsLiveAPI.ClientId');
- } catch ( e ) {
- console.warn('getWindowsLiveAPI()', e, e.stack);
- }
- if ( !clientId ) {
- callback(API._('WLAPI_DISABLED'));
- return;
- }
- SingletonInstance = new WindowsLiveAPI(clientId);
- _run();
- };
-})(OSjs.Utils, OSjs.API);
-
-(function(Utils, API, VFS) {
- 'use strict';
- function getEntries(file, callback) {
- zip.createReader(new zip.BlobReader(file), function(zipReader) {
- zipReader.getEntries(function(entries) {
- callback(false, entries);
- });
- }, function(message) {
- callback(message);
- });
- }
- function getEntryFile(entry, onend, onprogress) {
- var writer = new zip.BlobWriter();
- entry.getData(writer, function(blob) {
- onend(blob);
- writer = null;
- }, onprogress);
- }
- function openFile(file, done) {
- VFS.download(file, function(error, data) {
- if ( error ) {
- console.warning('An error while opening zip', error);
- done(error);
- return;
- }
- var blob = new Blob([data], {type: file.mime});
- getEntries(blob, function(error, result) {
- done(error, result || []);
- });
- });
- }
- function importFiles(writer, entries, pr, done, ignore) {
- ignore = ignore || [];
- function _next(index) {
- if ( !entries.length || index >= entries.length ) {
- done(false);
- return;
- }
- var current = entries[index];
- if ( ignore.indexOf(current.filename) >= 0 ) {
- console.warn('Ignoring', index, current);
- pr('ignored', index, current);
- _next(index + 1);
- return;
- }
- getEntryFile(current, function(blob) {
- writer.add(current.filename, new zip.BlobReader(blob), function() {
- pr('added', index, current);
- _next(index + 1);
- }, function(current, total) {
- pr('reading', index, total, current);
- }, {
- directory: current.directory,
- lastModDate: current.lastModDate,
- version: current.version
- });
- });
- }
- _next(0);
- }
- function createZip(done) {
- var writer = new zip.BlobWriter();
- zip.createWriter(writer, function(writer) {
- done(false, writer);
- }, function(error) {
- done(error);
- });
- }
- function saveZip(writer, file, ccb) {
- writer.close(function(blob) {
- VFS.upload({
- destination: Utils.dirname(file.path),
- files: [{filename: Utils.filename(file.path), data: blob}]
- }, function(type, ev) {
- var error = (type === 'error') ? ev : false;
- ccb(error, !!error);
- }, {overwrite: true});
- });
- }
- var SingletonInstance = null;
- function ZipArchiver(opts) {
- this.opts = opts;
- this.inited = false;
- this.preloads = [{
- type: 'javascript',
- src: '/vendor/zip.js/WebContent/zip.js'
- }];
- }
- ZipArchiver.prototype.init = function(cb) {
- cb = cb || function() {};
- if ( this.inited ) {
- cb();
- return;
- }
- var self = this;
- Utils.preload(this.preloads, function(total, failed) {
- if ( failed.length ) {
- cb(API._('ZIP_PRELOAD_FAIL'), failed);
- return;
- }
- if ( window.zip ) {
- zip.workerScriptsPath = '/vendor/zip.js/WebContent/';
- self.inited = true;
- }
- cb();
- });
- };
- ZipArchiver.prototype.list = function(file, cb) {
- VFS.download(file, function(error, result) {
- if ( error ) {
- alert(error);
- cb(error, null);
- return;
- }
- var blob = new Blob([result], {type: 'application/zip'});
- getEntries(blob, function(error, entries) {
- cb(error, entries);
- });
- });
- };
- ZipArchiver.prototype.create = function(file, cb, appRef) {
- var writer = new zip.BlobWriter();
- zip.createWriter(writer, function(writer) {
- writer.close(function(blob) {
- VFS.upload({
- destination: Utils.dirname(file.path),
- files: [
- {filename: Utils.filename(file.path), data: blob}
- ]
- }, function(type, ev) {
- if ( type === 'error' ) {
- console.warn('Error creating blank zip', ev);
- }
- writer = null;
- if ( type !== 'error' ) {
- API.message('vfs:upload', file, {source: appRef ? appRef.__pid : null});
- }
- cb(type === 'error' ? ev : false, type !== 'error');
- }, {overwrite: true});
- });
- });
- };
- ZipArchiver.prototype.add = function(file, add, args) {
- var cb = args.oncomplete || function() {};
- var pr = args.onprogress || function() {};
- var currentDir = args.path || '/';
- function finished(err, res) {
- cb(err, res);
- }
- function checkIfExists(entries, done) {
- var found = false;
- var chk = Utils.filename(add.path);
- entries.forEach(function(i) {
- if ( i.filename === chk ) {
- if ( !i.directory || (i.directory && add.type === 'dir') ) {
- found = true;
- }
- }
- return !found;
- });
- done(found ? 'File is already in archive' : false);
- }
- function addFile(writer, done) {
- var filename = add instanceof window.File ? add.name : add.filename;
- var type = add instanceof window.File ? 'file' : (add.type || 'file');
- filename = ((currentDir || '/').replace(/\/$/, '') + '/' + filename).replace(/^\//, '');
- function _addBlob(blob) {
- writer.add(filename, new zip.BlobReader(blob), function() {
- saveZip(writer, file, done);
- }, function(current, total) {
- pr('compressing', current);
- });
- }
- function _addFolder() {
- writer.add(filename, null, function() {
- saveZip(writer, file, done);
- }, null, {directory: true});
- }
- if ( type === 'dir' ) {
- _addFolder();
- } else {
- if ( add instanceof window.File ) {
- _addBlob(add);
- } else {
- VFS.download(add, function(error, data) {
- if ( error ) {
- done(error);
- return;
- }
- var blob = new Blob([data], {type: add.mime});
- _addBlob(blob);
- });
- }
- }
- }
- openFile(file, function(err, entries) {
- if ( err ) {
- finished(err); return;
- }
- checkIfExists(entries, function(err) {
- if ( err ) {
- finished(err); return;
- }
- createZip(function(err, writer) {
- if ( err ) {
- finished(err); return;
- }
- importFiles(writer, entries, pr, function(err) {
- if ( err ) {
- finished(err); return;
- }
- addFile(writer, function(err) {
- finished(err, !!err);
- });
- });
- });
- });
- });
- };
- ZipArchiver.prototype.remove = function(file, path, cb) {
- function finished(err, res, writer) {
- if ( err || !writer ) {
- cb(err || API._('ZIP_NO_RESOURCE'));
- return;
- }
- saveZip(writer, file, function(eer, rees) {
- cb(eer, rees);
- });
- }
- if ( !path ) {
- finished(API._('ZIP_NO_PATH'));
- return;
- }
- openFile(file, function(err, entries) {
- if ( err ) {
- finished(err); return;
- }
- createZip(function(err, writer) {
- if ( err ) {
- finished(err); return;
- }
- importFiles(writer, entries, function() {
- }, function(err) {
- finished(err, !!err, writer);
- }, [path]);
- });
- });
- };
- ZipArchiver.prototype.extract = function(file, destination, args) {
- args = args || {};
- args.onprogress = args.onprogress || function() {};
- args.oncomplete = args.oncomplete || function() {};
- function finished(error, warnings, result) {
- if ( !error ) {
- API.message('vfs:update', destination, {source: args.app ? args.app.__pid : null});
- }
- args.oncomplete(error, warnings, result);
- }
- var extracted = [];
- var warnings = [];
- var total = 0;
- function _extractList(list, destination) {
- total = list.length;
- var index = 0;
- function _extract(item, cb) {
- args.onprogress(item.filename, index, total);
- var dest = destination;
- if ( item.filename.match(/\//) ) {
- if ( item.directory ) {
- dest += '/' + item.filename;
- } else {
- dest += '/' + Utils.dirname(item.filename);
- }
- }
- if ( item.directory ) {
- VFS.mkdir(new VFS.File(dest), function(error, result) {
- if ( error ) {
- warnings.push(Utils.format('Could not create directory "{0}": {1}', item.filename, error));
- } else {
- extracted.push(item.filename);
- }
- cb();
- });
- return;
- }
- getEntryFile(item, function(blob) {
- VFS.upload({
- destination: dest,
- files: [{filename: Utils.filename(item.filename), data: blob}]
- }, function(type, ev) { // error, result, ev
- console.warn('ZipArchiver::extract()', '_extract()', 'upload', type, ev);
- if ( type === 'error' ) {
- warnings.push(Utils.format('Could not extract "{0}": {1}', item.filename, ev));
- } else {
- extracted.push(item.filename);
- }
- cb();
- });
- }, function() {
- });
- }
- function _finished() {
- finished(false, warnings, true);
- }
- function _next() {
- if ( !list.length || index >= list.length ) {
- return _finished();
- }
- _extract(list[index], function() {
- index++;
- _next();
- });
- }
- _next();
- }
- function _checkDirectory(destination, cb) {
- var dst = new VFS.File({path: destination, type: 'dir'});
- VFS.mkdir(dst, function(error, result) {
- if ( error ) {
- console.warn('ZipArchiver::extract()', '_checkDirectory()', 'VFS::mkdir()', error);
- }
- VFS.exists(dst, function(err, result) {
- if ( err ) {
- console.warn('ZipArchiver::extract()', '_checkDirectory()', 'VFS::exists()', err);
- }
- if ( result ) {
- cb(false);
- } else {
- cb('Destination directory was not created or does not exist');
- }
- });
- });
- }
- VFS.download(file, function(error, result) {
- if ( error ) {
- finished(error, warnings, false);
- return;
- }
- var blob = new Blob([result], {type: 'application/zip'});
- _checkDirectory(destination, function(err) {
- if ( err ) {
- finished(error, warnings, false);
- return;
- }
- getEntries(blob, function(error, entries) {
- if ( error ) {
- finished(error, warnings, false);
- return;
- }
- _extractList(entries, destination);
- });
- });
- });
- };
- OSjs.Helpers.ZipArchiver = OSjs.Helpers.ZipArchiver || {};
- OSjs.Helpers.ZipArchiver.getInstance = function() {
- return SingletonInstance;
- };
- OSjs.Helpers.ZipArchiver.createInstance = function(args, callback) {
- args = args || {};
- if ( !SingletonInstance ) {
- SingletonInstance = new ZipArchiver(args);
- }
- SingletonInstance.init(function(error) {
- if ( !error ) {
- if ( !window.zip ) {
- error = API._('ZIP_VENDOR_FAIL');
- }
- }
- callback(error, error ? false : SingletonInstance);
- });
- };
-})(OSjs.Utils, OSjs.API, OSjs.VFS);
-
-(function(Utils) {
- 'use strict';
- function SettingsFragment(obj, poolName) {
- this._pool = poolName;
- if ( obj.constructor !== {}.constructor ) {
- throw new Error('SettingsFragment will not work unless you give it a object to manage.');
- }
- this._settings = obj;
- }
- SettingsFragment.prototype.get = function(key, defaultValue) {
- var ret = key ? this._settings[key] : this._settings;
- return (typeof ret === 'undefined') ? defaultValue : ret;
- };
- SettingsFragment.prototype.set = function(key, value, save, triggerWatch) {
- if ( key === null ) {
- Utils.mergeObject(this._settings, value);
- } else {
- if ( (['number', 'string']).indexOf(typeof key) >= 0 ) {
- this._settings[key] = value;
- } else {
- console.warn('SettingsFragment::set()', 'expects key to be a valid iter, not', key);
- }
- }
- if (save) {
- OSjs.Core.getSettingsManager().save(this._pool, save);
- }
- if ( typeof triggerWatch === 'undefined' || triggerWatch === true ) {
- OSjs.Core.getSettingsManager().changed(this._pool);
- }
- return this;
- };
- SettingsFragment.prototype.save = function(callback) {
- return OSjs.Core.getSettingsManager().save(this._pool, callback);
- };
- SettingsFragment.prototype.getChained = function() {
- var nestedSetting = this._settings;
- arguments.every(function(key) {
- if (nestedSetting[key]) {
- nestedSetting = nestedSetting[key];
- return true;
- }
- return false;
- });
- return nestedSetting;
- };
- SettingsFragment.prototype.mergeDefaults = function(defaults) {
- Utils.mergeObject(this._settings, defaults, {overwrite: false});
- return this;
- };
- SettingsFragment.prototype.instance = function(key) {
- if (typeof this._settings[key] === 'undefined') {
- throw new Error('The object doesn\'t contain that key. SettingsFragment will not work.');
- }
- return new OSjs.Helpers.SettingsFragment(this._settings[key], this._pool);
- };
- OSjs.Helpers.SettingsFragment = SettingsFragment;
-})(OSjs.Utils);
diff --git a/build/htdocs/dist/packages.js b/build/htdocs/dist/packages.js
deleted file mode 100644
index b095dc7..0000000
--- a/build/htdocs/dist/packages.js
+++ /dev/null
@@ -1,650 +0,0 @@
-(function() {
- window.OSjs = window.OSjs || {}
- OSjs.Core = OSjs.Core || {}
- OSjs.Core.getMetadata = function() {
- return Object.freeze({
- "default/About": {
- "className": "ApplicationAbout",
- "name": "About OS.js",
- "description": "About OS.js",
- "names": {
- "bg_BG": " За OS.js",
- "de_DE": "Über OS.js",
- "fr_FR": "À propos d'OS.js",
- "it_IT": "Informazioni su OS.js",
- "ko_KR": "OS.js에 대하여",
- "nl_NL": "Over OS.js",
- "no_NO": "Om OS.js",
- "pl_PL": "o OS.js",
- "ru_RU": "Об OS.js",
- "sk_SK": "o OS.js",
- "tr_TR": "hakkında OS.js",
- "vi_VN": "Thông tin về OS.js"
- },
- "descriptions": {
- "bg_BG": "За OS.js",
- "de_DE": "Über OS.js",
- "fr_FR": "À propos d'OS.js",
- "it_IT": "Informazioni su OS.js",
- "ko_KR": "OS.js에 대하여",
- "nl_NL": "Over OS.js",
- "no_NO": "Om OS.js",
- "pl_PL": "o OS.js",
- "ru_RU": "Об OS.js",
- "sk_SK": "o OS.js",
- "tr_TR": "hakkında OS.js",
- "vi_VN": "Thông tin về OS.js"
- },
- "singular": true,
- "category": "system",
- "icon": "apps/help-browser.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/About",
- "build": {},
- "repo": "default"
- },
- "default/Calculator": {
- "className": "ApplicationCalculator",
- "name": "Calculator",
- "names": {
- "bg_Bg": "Клакулатор",
- "fr_FR": "Calculatrice",
- "it_IT": "Calcolatrice",
- "ko_KR": "계산기",
- "nl_NL": "Rekenmachine",
- "no_NO": "Kalkulator",
- "pl_PL": "Kalkulator",
- "ru_RU": "Калькулятор",
- "sk_SK": "Kalkulačka",
- "tr_TR": "Hesap Makinesi",
- "vi_VN": "Máy tính"
- },
- "icon": "apps/calc.png",
- "category": "office",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Calculator",
- "build": {},
- "repo": "default"
- },
- "default/CoreWM": {
- "className": "CoreWM",
- "name": "OS.js Window Manager",
- "names": {
- "bg_BG": "Мениджър на прозорци на OS.js",
- "de_DE": "OS.js Fenster-Manager",
- "es_ES": "OS.js Window Manager",
- "fr_FR": "Gestionnaire de fenêtre OS.js",
- "it_IT": "OS.js Gestore Finestre",
- "ko_KR": "OS.js 윈도우 관리자",
- "nl_NL": "OS.js venster beheer",
- "no_NO": "OS.js Vinduhåndterer",
- "pl_PL": "Menedżer Okien OS.js",
- "ru_RU": "OS.js Оконный менеджер",
- "sk_SK": "Správca Okien OS.js",
- "tr_TR": "OS.js Pencere Yöneticisi",
- "vi_VN": "Quản lí cửa sổ OS.js"
- },
- "singular": true,
- "type": "windowmanager",
- "icon": "apps/gnome-window-manager.png",
- "splash": false,
- "preload": [
- {
- "src": "scheme.html",
- "type": "scheme"
- },
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- }
- ],
- "panelItems": {
- "AppMenu": {
- "Name": "AppMenu",
- "Description": "Application Menu",
- "Icon": "actions/stock_about.png",
- "HasOptions": false
- },
- "Buttons": {
- "Name": "Buttons",
- "Description": "Button Bar",
- "Icon": "actions/stock_about.png"
- },
- "Clock": {
- "Name": "Clock",
- "Description": "View the time",
- "Icon": "status/appointment-soon.png",
- "HasOptions": true
- },
- "NotificationArea": {
- "Name": "NotificationArea",
- "Description": "View notifications",
- "Icon": "apps/gnome-panel-notification-area.png"
- },
- "Search": {
- "Name": "Search",
- "Description": "Perform searches",
- "Icon": "actions/find.png",
- "HasOptions": true
- },
- "Weather": {
- "Name": "Weather",
- "Description": "Weather notification",
- "Icon": "status/weather-few-clouds.png"
- },
- "WindowList": {
- "Name": "Window List",
- "Description": "Toggle between open windows",
- "Icon": "apps/xfwm4.png"
- }
- },
- "path": "default/CoreWM",
- "build": {},
- "repo": "default"
- },
- "default/Draw": {
- "className": "ApplicationDraw",
- "name": "Draw",
- "description": "Simple drawing application",
- "names": {
- "bg_BG": "Рисуване",
- "de_DE": "Zeichnen",
- "fr_FR": "Dessin",
- "it_IT": "Disegna",
- "ko_KR": "그림판",
- "nl_NL": "Tekenen",
- "no_NO": "Tegne",
- "pl_PL": "Rysowanie",
- "ru_RU": "Графический редактор",
- "sk_SK": "Kreslenie",
- "tr_TR": "Çiz",
- "vi_VN": "Vẽ"
- },
- "descriptions": {
- "bg_BG": "Приложение за рисуване",
- "de_DE": "Einfaches Zeichen-Programm",
- "fr_FR": "Programme de dessin simple",
- "it_IT": "Semplice applicazione per creazione/modifica immagini",
- "ko_KR": "간단한 그리기 응용 프로그램",
- "nl_NL": "Eenvoudig tekenprogramma",
- "no_NO": "Simpelt tegne-program",
- "pl_PL": "Prosta aplikacja do rysowania",
- "ru_RU": "Простой графический редактор",
- "sk_SK": "Jednoduchá aplikácia na kreslenie",
- "vi_VN": "Phần mềm vẽ đơn giản"
- },
- "mime": [
- "^image"
- ],
- "category": "graphics",
- "icon": "categories/gnome-graphics.png",
- "compability": [
- "canvas"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Draw",
- "build": {},
- "repo": "default"
- },
- "default/FileManager": {
- "className": "ApplicationFileManager",
- "name": "File Manager",
- "description": "The default file manager",
- "names": {
- "bg_BG": "Файлов мениджър",
- "de_DE": "Dateimanager",
- "fr_FR": "Explorateur de fichier",
- "it_IT": "Gestore File",
- "nl_NL": "bestands beheer",
- "no_NO": "Fil-håndtering",
- "pl_PL": "Menedżer Plików",
- "ko_KR": "파일 탐색기",
- "sk_SK": "Správca súborov",
- "ru_RU": "Файловый менеджер",
- "tr_TR": "Dosya Yöneticisi",
- "vi_VN": "Quản lí file"
- },
- "descriptions": {
- "bg_BG": "Стандартния файлов мениджър",
- "de_DE": "Standardmäßiger Dateimanager",
- "fr_FR": "Gestionnaire de fichier par défaut",
- "it_IT": "Il gestore file predefinito",
- "nl_NL": "Standaard bestands beheerder",
- "no_NO": "Standard Fil-håndtering program",
- "pl_PL": "Domyślny Menedżer Plików",
- "ko_KR": "기본 파일 관리자",
- "sk_SK": "Štandardný správca súborov",
- "ru_RU": "Стандартный файловый менеджер",
- "tr_TR": "Varsayılan dosya yöneticisi",
- "vi_VN": "Trình quản lí file mặc định"
- },
- "category": "utilities",
- "icon": "apps/file-manager.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/FileManager",
- "build": {},
- "repo": "default"
- },
- "default/HTMLViewer": {
- "className": "ApplicationHTMLViewer",
- "name": "HTML Viewer",
- "mime": [
- "text\\/html"
- ],
- "icon": "mimetypes/html.png",
- "category": "utilities",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/HTMLViewer",
- "build": {},
- "repo": "default"
- },
- "default/MusicPlayer": {
- "className": "ApplicationMusicPlayer",
- "name": "Music Player",
- "names": {
- "bg_BG": "Музикален плеър",
- "de_DE": "Musikspieler",
- "es_ES": "Music Player",
- "fr_FR": "Lecteur de musique",
- "it_IT": "Lettore Musicale",
- "ko_KR": "뮤직 플레이어",
- "nl_NL": "Audio speler",
- "no_NO": "Musikkspiller",
- "pl_PL": "Odtwarzacz muzyki",
- "ru_RU": "Аудиоплеер",
- "sk_SK": "Prehrávač hudby",
- "tr_TR": "Muzik Çalar",
- "vi_VN": "Nghe nhạc"
- },
- "mime": [
- "^audio",
- "osjs\\/playlist"
- ],
- "category": "multimedia",
- "icon": "status/audio-volume-high.png",
- "singular": true,
- "compability": [
- "audio"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/MusicPlayer",
- "build": {},
- "repo": "default"
- },
- "default/Preview": {
- "className": "ApplicationPreview",
- "name": "Preview",
- "description": "Preview image files",
- "names": {
- "bg_BG": "Преглед на изображения",
- "de_DE": "Vorschau",
- "fr_FR": "Visionneuse",
- "it_IT": "Anteprima Immagini",
- "ko_KR": "미리보기",
- "nl_NL": "Foto viewer",
- "no_NO": "Forhåndsviser",
- "pl_PL": "Podgląd",
- "ru_RU": "Просмотрщик",
- "sk_SK": "Prehliadač obrázkov",
- "tr_TR": "Önizle",
- "vi_VN": "Trình xem ảnh"
- },
- "descriptions": {
- "bg_BG": "Преглед на изображения",
- "de_DE": "Bildervorschau",
- "fr_FR": "Visionneuse de photos",
- "it_IT": "Anteprima Immagini",
- "ko_KR": "이미지 파일을 미리 봅니다",
- "nl_NL": "Foto viewer",
- "no_NO": "Forhåndsvisning av bilde-filer",
- "pl_PL": "Podgląd zdjęć",
- "ru_RU": "Просмотрщик изображений",
- "sk_SK": "Prehliadač obrázkov",
- "tr_TR": "resim dosyalarını önizle",
- "vi_VN": "Trình xem ảnh"
- },
- "mime": [
- "^image",
- "^video"
- ],
- "category": "multimedia",
- "icon": "mimetypes/image.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Preview",
- "build": {},
- "repo": "default"
- },
- "default/ProcessViewer": {
- "className": "ApplicationProcessViewer",
- "name": "Process Viewer",
- "description": "View running processes",
- "names": {
- "bg_BG": "Процеси",
- "de_DE": "Prozess-Manager",
- "fr_FR": "Gestionnaire de processus",
- "it_IT": "Gestore Attività",
- "ko_KR": "프로세스 관리자",
- "nl_NL": "Proces manager",
- "no_NO": "Prosess oversikt",
- "pl_PL": "Procesy",
- "ru_RU": "Менеджер процессов",
- "sk_SK": "Správca procesov",
- "tr_TR": "İşlemleri Görüntüle",
- "vi_VN": "Xem tiến trình"
- },
- "descriptions": {
- "bg_BG": "Преглед на процеси",
- "de_DE": "Laufende Prozesse verwalten",
- "fr_FR": "Visualiser les processus en cours",
- "it_IT": "Mostri processi attivi",
- "ko_KR": "실행 중인 프로세스를 관리합니다",
- "nl_NL": "Bekijk de lopende processen",
- "no_NO": "Se oversikt over kjørende prosesser",
- "pl_PL": "Zobacz działające procesy",
- "ru_RU": "Менеджер запущенных процессов",
- "sk_SK": "Spravovanie bežiacich procesov",
- "tr_TR": "çalışan işlemleri görüntüle",
- "vi_VN": "Xem các tiến trình đang chạy"
- },
- "singular": true,
- "category": "system",
- "icon": "apps/gnome-monitor.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/ProcessViewer",
- "build": {},
- "repo": "default"
- },
- "default/Settings": {
- "className": "ApplicationSettings",
- "preloadParallel": true,
- "name": "Settings",
- "mime": null,
- "icon": "categories/applications-system.png",
- "category": "system",
- "singular": true,
- "names": {
- "bg_BG": "Настройки",
- "de_DE": "Einstellungen",
- "es_ES": "Settings",
- "fr_FR": "Paramètres",
- "it_IT": "Settaggi",
- "ko_KR": "환경설정",
- "nl_NL": "Instellingen",
- "no_NO": "Instillinger",
- "pl_PL": "Ustawienia",
- "ru_RU": "Настройки",
- "sk_SK": "Nastavenia",
- "tr_TR": "Ayarlar",
- "vi_VN": "Cài đặt"
- },
- "descriptions": {
- "bg_BG": "Настройки",
- "de_DE": "Einstellungen",
- "es_ES": "Settings",
- "fr_FR": "Paramètres",
- "it_IT": "Settaggi",
- "ko_KR": "환경설정",
- "nl_NL": "Instellingen",
- "no_NO": "Instillinger",
- "pl_PL": "Ustawienia",
- "ru_RU": "Настройки",
- "sk_SK": "Nastavenia",
- "tr_TR": "Program Ayarlarını düzenle",
- "vi_VN": "Cài đặt"
- },
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Settings",
- "build": {},
- "repo": "default"
- },
- "default/Textpad": {
- "className": "ApplicationTextpad",
- "name": "Textpad",
- "description": "Simple text editor",
- "names": {
- "bg_BG": "Текстов редактор",
- "de_DE": "Texteditor",
- "fr_FR": "Éditeur de texte",
- "it_IT": "Editor Testi",
- "ko_KR": "텍스트패드",
- "nl_NL": "Notities",
- "no_NO": "Tekstblokk",
- "pl_PL": "Notatnik",
- "ru_RU": "Редактор текста",
- "sk_SK": "Poznámkový blok",
- "tr_TR": "Basit Bir Metin Düzenleyicisi",
- "vi_VN": "Trình sửa văn bản"
- },
- "descriptions": {
- "bg_BG": "Стандартен текстов редактор",
- "de_DE": "Einfacher Texteditor",
- "fr_FR": "Éditeur de texte simple",
- "it_IT": "Semplice editor di testi",
- "ko_KR": "간단한 텍스트 편집기",
- "nl_NL": "Eenvoudige Tekstverwerker",
- "no_NO": "Simpel tekst redigering",
- "pl_PL": "Prosty edytor tekstu",
- "ru_RU": "Простой текстовый редактор",
- "sk_SK": "Jednoduchý textový editor",
- "tr_TR": "Basit Bir Metin Düzenleyicisi",
- "vi_VN": "Trình sửa văn bản đơn giản"
- },
- "mime": [
- "^text",
- "inode\\/x\\-empty",
- "application\\/x\\-empty",
- "application\\/x\\-lua",
- "application\\/x\\-python",
- "application\\/javascript",
- "application\\/json"
- ],
- "category": "utilities",
- "icon": "apps/accessories-text-editor.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Textpad",
- "build": {},
- "repo": "default"
- },
- "default/Writer": {
- "className": "ApplicationWriter",
- "name": "Writer",
- "description": "Write rich text documents",
- "names": {
- "bg_BG": "Текст",
- "de_DE": "Writer",
- "fr_FR": "Traitement de texte",
- "it_IT": "Editor Testi",
- "ko_KR": "글쓰기",
- "nl_NL": "Tekstverwerker",
- "no_NO": "Writer",
- "pl_PL": "Writer",
- "ru_RU": "Текстовый процессор",
- "sk_SK": "Writer",
- "tr_TR": "Writer",
- "vi_VN": "Viết"
- },
- "descriptions": {
- "bg_BG": "Писанене на обогатен текст",
- "de_DE": "Verfassen Sie Rich-Text-Dokumente",
- "fr_FR": "Traitement de texte riche",
- "it_IT": "Scrivi documenti di testo formattati",
- "ko_KR": "리치 텍스트 문서 작성",
- "nl_NL": "Tekst verwerker met opmaak",
- "no_NO": "Skriv riktekst dokumenter",
- "pl_PL": "Twórz dokumenty rich text",
- "ru_RU": "Текстовый процессор",
- "sk_SK": "Editor na tvorbu Rich-Text dokumentov",
- "tr_TR": "Gelişmiş dökümanlar oluşturun",
- "vi_VN": "Xem, chỉnh sửa văn bản"
- },
- "mime": [
- "^text",
- "osjs\\/document"
- ],
- "category": "office",
- "icon": "apps/libreoffice34-writer.png",
- "compability": [
- "richtext"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Writer",
- "build": {},
- "repo": "default"
- }
-});
- };
-})();
diff --git a/build/htdocs/dist/packages/.gitignore b/build/htdocs/dist/packages/.gitignore
deleted file mode 100644
index e69de29..0000000
diff --git a/build/htdocs/dist/packages/default/About/about.png b/build/htdocs/dist/packages/default/About/about.png
deleted file mode 100644
index 8821eae..0000000
Binary files a/build/htdocs/dist/packages/default/About/about.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/About/combined.css b/build/htdocs/dist/packages/default/About/combined.css
deleted file mode 100644
index f8a478a..0000000
--- a/build/htdocs/dist/packages/default/About/combined.css
+++ /dev/null
@@ -1,44 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-.ApplicationAboutWindow application-window-content {
- background-color : #fff;
- color : #000;
- text-align : center;
-}
-.ApplicationAboutWindow application-window-content > div > div {
- padding : 10px;
-}
-.ApplicationAboutWindow h1 {
- margin : 0;
- padding : 10px;
- font-size : 40px;
-}
-
diff --git a/build/htdocs/dist/packages/default/About/combined.js b/build/htdocs/dist/packages/default/About/combined.js
deleted file mode 100644
index 2adee1c..0000000
--- a/build/htdocs/dist/packages/default/About/combined.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationAboutWindow(app, metadata, scheme) {
- Window.apply(this, ['ApplicationAboutWindow', {
- icon: metadata.icon,
- title: metadata.name,
- gravity: 'center',
- allow_resize: false,
- allow_maximize: false,
- width: 320,
- height: 320,
- min_width: 320,
- min_height: 320
- }, app, scheme]);
- }
-
- ApplicationAboutWindow.prototype = Object.create(Window.prototype);
- ApplicationAboutWindow.constructor = Window.prototype;
-
- ApplicationAboutWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
- scheme.render(this, 'AboutWindow', root);
- root.getElementsByTagName('img')[0].src = API.getApplicationResource(app, 'about.png');
- return root;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationAbout = function(args, metadata) {
- Application.apply(this, ['ApplicationAbout', args, metadata]);
- };
-
- ApplicationAbout.prototype = Object.create(Application.prototype);
- ApplicationAbout.constructor = Application;
-
- ApplicationAbout.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.apply(this, arguments);
- this._addWindow(new ApplicationAboutWindow(this, metadata, scheme));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationAbout = OSjs.Applications.ApplicationAbout || {};
- OSjs.Applications.ApplicationAbout.Class = Object.seal(ApplicationAbout);
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/About/metadata.json b/build/htdocs/dist/packages/default/About/metadata.json
deleted file mode 100644
index 5eefc34..0000000
--- a/build/htdocs/dist/packages/default/About/metadata.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "className": "ApplicationAbout",
- "name": "About OS.js",
- "description": "About OS.js",
- "names": {
- "bg_BG": " За OS.js",
- "de_DE": "Über OS.js",
- "fr_FR": "À propos d'OS.js",
- "it_IT": "Informazioni su OS.js",
- "ko_KR": "OS.js에 대하여",
- "nl_NL": "Over OS.js",
- "no_NO": "Om OS.js",
- "pl_PL": "o OS.js",
- "ru_RU": "Об OS.js",
- "sk_SK": "o OS.js",
- "tr_TR": "hakkında OS.js",
- "vi_VN": "Thông tin về OS.js"
- },
- "descriptions": {
- "bg_BG": "За OS.js",
- "de_DE": "Über OS.js",
- "fr_FR": "À propos d'OS.js",
- "it_IT": "Informazioni su OS.js",
- "ko_KR": "OS.js에 대하여",
- "nl_NL": "Over OS.js",
- "no_NO": "Om OS.js",
- "pl_PL": "o OS.js",
- "ru_RU": "Об OS.js",
- "sk_SK": "o OS.js",
- "tr_TR": "hakkında OS.js",
- "vi_VN": "Thông tin về OS.js"
- },
- "singular": true,
- "category": "system",
- "icon": "apps/help-browser.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/About",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/About/scheme.html b/build/htdocs/dist/packages/default/About/scheme.html
deleted file mode 100644
index c598719..0000000
--- a/build/htdocs/dist/packages/default/About/scheme.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
OS.js
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Broadway/api.php b/build/htdocs/dist/packages/default/Broadway/api.php
deleted file mode 100644
index 5ee5a75..0000000
--- a/build/htdocs/dist/packages/default/Broadway/api.php
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/build/htdocs/dist/packages/default/Broadway/broadway.js b/build/htdocs/dist/packages/default/Broadway/broadway.js
deleted file mode 100644
index 5d7c473..0000000
--- a/build/htdocs/dist/packages/default/Broadway/broadway.js
+++ /dev/null
@@ -1,1171 +0,0 @@
-/**
- * This a rewrite of GTK broadway.js
- *
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function() {
-
- var connected = false;
- var lastTimeStamp = 0;
- var lastState;
- var inputSocket = null;
- var globalOpts = {};
- var connection;
- var outstandingCommands = [];
- var keyDownList = [];
- var lastSerial = 0;
- var surfaces = {};
-
- /////////////////////////////////////////////////////////////////////////////
- // CONSTANTS
- /////////////////////////////////////////////////////////////////////////////
-
- var ON_KEYDOWN = 1 << 0; /* Report on keydown, otherwise wait until keypress */
- var GDK_CROSSING_NORMAL = 0;
- var GDK_CROSSING_GRAB = 1;
- var GDK_CROSSING_UNGRAB = 2;
-
- // GdkModifierType
- var GDK_SHIFT_MASK = 1 << 0;
- var GDK_LOCK_MASK = 1 << 1;
- var GDK_CONTROL_MASK = 1 << 2;
- var GDK_MOD1_MASK = 1 << 3;
- var GDK_MOD2_MASK = 1 << 4;
- var GDK_MOD3_MASK = 1 << 5;
- var GDK_MOD4_MASK = 1 << 6;
- var GDK_MOD5_MASK = 1 << 7;
- var GDK_BUTTON1_MASK = 1 << 8;
- var GDK_BUTTON2_MASK = 1 << 9;
- var GDK_BUTTON3_MASK = 1 << 10;
- var GDK_BUTTON4_MASK = 1 << 11;
- var GDK_BUTTON5_MASK = 1 << 12;
- var GDK_SUPER_MASK = 1 << 26;
- var GDK_HYPER_MASK = 1 << 27;
- var GDK_META_MASK = 1 << 28;
- var GDK_RELEASE_MASK = 1 << 30;
-
- var specialKeyTable = {
- 8: [0xFF08, ON_KEYDOWN], // BACKSPACE
- 13: [0xFF0D, ON_KEYDOWN], // ENTER
-
- // This generates a keyDown and keyPress in Opera
- 9: [0xFF09, ON_KEYDOWN], // TAB
-
- 27: 0xFF1B, // ESCAPE
- 46: 0xFFFF, // DELETE
- 36: 0xFF50, // HOME
- 35: 0xFF57, // END
- 33: 0xFF55, // PAGE_UP
- 34: 0xFF56, // PAGE_DOWN
- 45: 0xFF63, // INSERT
- 37: 0xFF51, // LEFT
- 38: 0xFF52, // UP
- 39: 0xFF53, // RIGHT
- 40: 0xFF54, // DOWN
- 16: 0xFFE1, // SHIFT
- 17: 0xFFE3, // CONTROL
- 18: 0xFFE9, // Left ALT (Mac Command)
- 112: 0xFFBE, // F1
- 113: 0xFFBF, // F2
- 114: 0xFFC0, // F3
- 115: 0xFFC1, // F4
- 116: 0xFFC2, // F5
- 117: 0xFFC3, // F6
- 118: 0xFFC4, // F7
- 119: 0xFFC5, // F8
- 120: 0xFFC6, // F9
- 121: 0xFFC7, // F10
- 122: 0xFFC8, // F11
- 123: 0xFFC9 // F12
- };
-
- /* Some of the keyboard handling code is from noVNC and
- * (c) Joel Martin (github@martintribe.org), used with permission
- * Original code at:
- * https://github.com/kanaka/noVNC/blob/master/include/input.js
- */
- var unicodeTable = {
- 0x0104: 0x01a1, 0x02D8: 0x01a2, 0x0141: 0x01a3, 0x013D: 0x01a5, 0x015A: 0x01a6, 0x0160: 0x01a9, 0x015E: 0x01aa, 0x0164: 0x01ab, 0x0179: 0x01ac, 0x017D: 0x01ae, 0x017B: 0x01af, 0x0105: 0x01b1, 0x02DB: 0x01b2, 0x0142: 0x01b3, 0x013E: 0x01b5, 0x015B: 0x01b6, 0x02C7: 0x01b7, 0x0161: 0x01b9, 0x015F: 0x01ba, 0x0165: 0x01bb, 0x017A: 0x01bc, 0x02DD: 0x01bd, 0x017E: 0x01be, 0x017C: 0x01bf, 0x0154: 0x01c0, 0x0102: 0x01c3, 0x0139: 0x01c5, 0x0106: 0x01c6, 0x010C: 0x01c8, 0x0118: 0x01ca, 0x011A: 0x01cc, 0x010E: 0x01cf, 0x0110: 0x01d0, 0x0143: 0x01d1, 0x0147: 0x01d2, 0x0150: 0x01d5, 0x0158: 0x01d8, 0x016E: 0x01d9, 0x0170: 0x01db, 0x0162: 0x01de, 0x0155: 0x01e0, 0x0103: 0x01e3, 0x013A: 0x01e5, 0x0107: 0x01e6, 0x010D: 0x01e8, 0x0119: 0x01ea, 0x011B: 0x01ec, 0x010F: 0x01ef, 0x0111: 0x01f0, 0x0144: 0x01f1, 0x0148: 0x01f2, 0x0151: 0x01f5, 0x0171: 0x01fb, 0x0159: 0x01f8, 0x016F: 0x01f9, 0x0163: 0x01fe, 0x02D9: 0x01ff, 0x0126: 0x02a1, 0x0124: 0x02a6, 0x0130: 0x02a9, 0x011E: 0x02ab, 0x0134: 0x02ac, 0x0127: 0x02b1, 0x0125: 0x02b6, 0x0131: 0x02b9, 0x011F: 0x02bb, 0x0135: 0x02bc, 0x010A: 0x02c5, 0x0108: 0x02c6, 0x0120: 0x02d5, 0x011C: 0x02d8, 0x016C: 0x02dd, 0x015C: 0x02de, 0x010B: 0x02e5, 0x0109: 0x02e6, 0x0121: 0x02f5, 0x011D: 0x02f8, 0x016D: 0x02fd, 0x015D: 0x02fe, 0x0138: 0x03a2, 0x0156: 0x03a3, 0x0128: 0x03a5, 0x013B: 0x03a6, 0x0112: 0x03aa, 0x0122: 0x03ab, 0x0166: 0x03ac, 0x0157: 0x03b3, 0x0129: 0x03b5, 0x013C: 0x03b6, 0x0113: 0x03ba, 0x0123: 0x03bb, 0x0167: 0x03bc, 0x014A: 0x03bd, 0x014B: 0x03bf, 0x0100: 0x03c0, 0x012E: 0x03c7, 0x0116: 0x03cc, 0x012A: 0x03cf, 0x0145: 0x03d1, 0x014C: 0x03d2, 0x0136: 0x03d3, 0x0172: 0x03d9, 0x0168: 0x03dd, 0x016A: 0x03de, 0x0101: 0x03e0, 0x012F: 0x03e7, 0x0117: 0x03ec, 0x012B: 0x03ef, 0x0146: 0x03f1, 0x014D: 0x03f2, 0x0137: 0x03f3, 0x0173: 0x03f9, 0x0169: 0x03fd, 0x016B: 0x03fe, 0x1E02: 0x1001e02, 0x1E03: 0x1001e03, 0x1E0A: 0x1001e0a, 0x1E80: 0x1001e80, 0x1E82: 0x1001e82, 0x1E0B: 0x1001e0b, 0x1EF2: 0x1001ef2, 0x1E1E: 0x1001e1e, 0x1E1F: 0x1001e1f, 0x1E40: 0x1001e40, 0x1E41: 0x1001e41, 0x1E56: 0x1001e56, 0x1E81: 0x1001e81, 0x1E57: 0x1001e57, 0x1E83: 0x1001e83, 0x1E60: 0x1001e60, 0x1EF3: 0x1001ef3, 0x1E84: 0x1001e84, 0x1E85: 0x1001e85, 0x1E61: 0x1001e61, 0x0174: 0x1000174, 0x1E6A: 0x1001e6a, 0x0176: 0x1000176, 0x0175: 0x1000175, 0x1E6B: 0x1001e6b, 0x0177: 0x1000177, 0x0152: 0x13bc, 0x0153: 0x13bd, 0x0178: 0x13be, 0x203E: 0x047e, 0x3002: 0x04a1, 0x300C: 0x04a2, 0x300D: 0x04a3, 0x3001: 0x04a4, 0x30FB: 0x04a5, 0x30F2: 0x04a6, 0x30A1: 0x04a7, 0x30A3: 0x04a8, 0x30A5: 0x04a9, 0x30A7: 0x04aa, 0x30A9: 0x04ab, 0x30E3: 0x04ac, 0x30E5: 0x04ad, 0x30E7: 0x04ae, 0x30C3: 0x04af, 0x30FC: 0x04b0, 0x30A2: 0x04b1, 0x30A4: 0x04b2, 0x30A6: 0x04b3, 0x30A8: 0x04b4, 0x30AA: 0x04b5, 0x30AB: 0x04b6, 0x30AD: 0x04b7, 0x30AF: 0x04b8, 0x30B1: 0x04b9, 0x30B3: 0x04ba, 0x30B5: 0x04bb, 0x30B7: 0x04bc, 0x30B9: 0x04bd, 0x30BB: 0x04be, 0x30BD: 0x04bf, 0x30BF: 0x04c0, 0x30C1: 0x04c1, 0x30C4: 0x04c2, 0x30C6: 0x04c3, 0x30C8: 0x04c4, 0x30CA: 0x04c5, 0x30CB: 0x04c6, 0x30CC: 0x04c7, 0x30CD: 0x04c8, 0x30CE: 0x04c9, 0x30CF: 0x04ca, 0x30D2: 0x04cb, 0x30D5: 0x04cc, 0x30D8: 0x04cd, 0x30DB: 0x04ce, 0x30DE: 0x04cf, 0x30DF: 0x04d0, 0x30E0: 0x04d1, 0x30E1: 0x04d2, 0x30E2: 0x04d3, 0x30E4: 0x04d4, 0x30E6: 0x04d5, 0x30E8: 0x04d6, 0x30E9: 0x04d7, 0x30EA: 0x04d8, 0x30EB: 0x04d9, 0x30EC: 0x04da, 0x30ED: 0x04db, 0x30EF: 0x04dc, 0x30F3: 0x04dd, 0x309B: 0x04de, 0x309C: 0x04df, 0x06F0: 0x10006f0, 0x06F1: 0x10006f1, 0x06F2: 0x10006f2, 0x06F3: 0x10006f3, 0x06F4: 0x10006f4, 0x06F5: 0x10006f5, 0x06F6: 0x10006f6, 0x06F7: 0x10006f7, 0x06F8: 0x10006f8, 0x06F9: 0x10006f9, 0x066A: 0x100066a, 0x0670: 0x1000670, 0x0679: 0x1000679, 0x067E: 0x100067e, 0x0686: 0x1000686, 0x0688: 0x1000688, 0x0691: 0x1000691, 0x060C: 0x05ac, 0x06D4: 0x10006d4, 0x0660: 0x1000660, 0x0661: 0x1000661, 0x0662: 0x1000662, 0x0663: 0x1000663, 0x0664: 0x1000664, 0x0665: 0x1000665, 0x0666: 0x1000666, 0x0667: 0x1000667, 0x0668: 0x1000668, 0x0669: 0x1000669, 0x061B: 0x05bb, 0x061F: 0x05bf, 0x0621: 0x05c1, 0x0622: 0x05c2, 0x0623: 0x05c3, 0x0624: 0x05c4, 0x0625: 0x05c5, 0x0626: 0x05c6, 0x0627: 0x05c7, 0x0628: 0x05c8, 0x0629: 0x05c9, 0x062A: 0x05ca, 0x062B: 0x05cb, 0x062C: 0x05cc, 0x062D: 0x05cd, 0x062E: 0x05ce, 0x062F: 0x05cf, 0x0630: 0x05d0, 0x0631: 0x05d1, 0x0632: 0x05d2, 0x0633: 0x05d3, 0x0634: 0x05d4, 0x0635: 0x05d5, 0x0636: 0x05d6, 0x0637: 0x05d7, 0x0638: 0x05d8, 0x0639: 0x05d9, 0x063A: 0x05da, 0x0640: 0x05e0, 0x0641: 0x05e1, 0x0642: 0x05e2, 0x0643: 0x05e3, 0x0644: 0x05e4, 0x0645: 0x05e5, 0x0646: 0x05e6, 0x0647: 0x05e7, 0x0648: 0x05e8, 0x0649: 0x05e9, 0x064A: 0x05ea, 0x064B: 0x05eb, 0x064C: 0x05ec, 0x064D: 0x05ed, 0x064E: 0x05ee, 0x064F: 0x05ef, 0x0650: 0x05f0, 0x0651: 0x05f1, 0x0652: 0x05f2, 0x0653: 0x1000653, 0x0654: 0x1000654, 0x0655: 0x1000655, 0x0698: 0x1000698, 0x06A4: 0x10006a4, 0x06A9: 0x10006a9, 0x06AF: 0x10006af, 0x06BA: 0x10006ba, 0x06BE: 0x10006be, 0x06CC: 0x10006cc, 0x06D2: 0x10006d2, 0x06C1: 0x10006c1, 0x0492: 0x1000492, 0x0493: 0x1000493, 0x0496: 0x1000496, 0x0497: 0x1000497, 0x049A: 0x100049a, 0x049B: 0x100049b, 0x049C: 0x100049c, 0x049D: 0x100049d, 0x04A2: 0x10004a2, 0x04A3: 0x10004a3, 0x04AE: 0x10004ae, 0x04AF: 0x10004af, 0x04B0: 0x10004b0, 0x04B1: 0x10004b1, 0x04B2: 0x10004b2, 0x04B3: 0x10004b3, 0x04B6: 0x10004b6, 0x04B7: 0x10004b7, 0x04B8: 0x10004b8, 0x04B9: 0x10004b9, 0x04BA: 0x10004ba, 0x04BB: 0x10004bb, 0x04D8: 0x10004d8, 0x04D9: 0x10004d9, 0x04E2: 0x10004e2, 0x04E3: 0x10004e3, 0x04E8: 0x10004e8, 0x04E9: 0x10004e9, 0x04EE: 0x10004ee, 0x04EF: 0x10004ef, 0x0452: 0x06a1, 0x0453: 0x06a2, 0x0451: 0x06a3, 0x0454: 0x06a4, 0x0455: 0x06a5, 0x0456: 0x06a6, 0x0457: 0x06a7, 0x0458: 0x06a8, 0x0459: 0x06a9, 0x045A: 0x06aa, 0x045B: 0x06ab, 0x045C: 0x06ac, 0x0491: 0x06ad, 0x045E: 0x06ae, 0x045F: 0x06af, 0x2116: 0x06b0, 0x0402: 0x06b1, 0x0403: 0x06b2, 0x0401: 0x06b3, 0x0404: 0x06b4, 0x0405: 0x06b5, 0x0406: 0x06b6, 0x0407: 0x06b7, 0x0408: 0x06b8, 0x0409: 0x06b9, 0x040A: 0x06ba, 0x040B: 0x06bb, 0x040C: 0x06bc, 0x0490: 0x06bd, 0x040E: 0x06be, 0x040F: 0x06bf, 0x044E: 0x06c0, 0x0430: 0x06c1, 0x0431: 0x06c2, 0x0446: 0x06c3, 0x0434: 0x06c4, 0x0435: 0x06c5, 0x0444: 0x06c6, 0x0433: 0x06c7, 0x0445: 0x06c8, 0x0438: 0x06c9, 0x0439: 0x06ca, 0x043A: 0x06cb, 0x043B: 0x06cc, 0x043C: 0x06cd, 0x043D: 0x06ce, 0x043E: 0x06cf, 0x043F: 0x06d0, 0x044F: 0x06d1, 0x0440: 0x06d2, 0x0441: 0x06d3, 0x0442: 0x06d4, 0x0443: 0x06d5, 0x0436: 0x06d6, 0x0432: 0x06d7, 0x044C: 0x06d8, 0x044B: 0x06d9, 0x0437: 0x06da, 0x0448: 0x06db, 0x044D: 0x06dc, 0x0449: 0x06dd, 0x0447: 0x06de, 0x044A: 0x06df, 0x042E: 0x06e0, 0x0410: 0x06e1, 0x0411: 0x06e2, 0x0426: 0x06e3, 0x0414: 0x06e4, 0x0415: 0x06e5, 0x0424: 0x06e6, 0x0413: 0x06e7, 0x0425: 0x06e8, 0x0418: 0x06e9, 0x0419: 0x06ea, 0x041A: 0x06eb, 0x041B: 0x06ec, 0x041C: 0x06ed, 0x041D: 0x06ee, 0x041E: 0x06ef, 0x041F: 0x06f0, 0x042F: 0x06f1, 0x0420: 0x06f2, 0x0421: 0x06f3, 0x0422: 0x06f4, 0x0423: 0x06f5, 0x0416: 0x06f6, 0x0412: 0x06f7, 0x042C: 0x06f8, 0x042B: 0x06f9, 0x0417: 0x06fa, 0x0428: 0x06fb, 0x042D: 0x06fc, 0x0429: 0x06fd, 0x0427: 0x06fe, 0x042A: 0x06ff, 0x0386: 0x07a1, 0x0388: 0x07a2, 0x0389: 0x07a3, 0x038A: 0x07a4, 0x03AA: 0x07a5, 0x038C: 0x07a7, 0x038E: 0x07a8, 0x03AB: 0x07a9, 0x038F: 0x07ab, 0x0385: 0x07ae, 0x2015: 0x07af, 0x03AC: 0x07b1, 0x03AD: 0x07b2, 0x03AE: 0x07b3, 0x03AF: 0x07b4, 0x03CA: 0x07b5, 0x0390: 0x07b6, 0x03CC: 0x07b7, 0x03CD: 0x07b8, 0x03CB: 0x07b9, 0x03B0: 0x07ba, 0x03CE: 0x07bb, 0x0391: 0x07c1, 0x0392: 0x07c2, 0x0393: 0x07c3, 0x0394: 0x07c4, 0x0395: 0x07c5, 0x0396: 0x07c6, 0x0397: 0x07c7, 0x0398: 0x07c8, 0x0399: 0x07c9, 0x039A: 0x07ca, 0x039B: 0x07cb, 0x039C: 0x07cc, 0x039D: 0x07cd, 0x039E: 0x07ce, 0x039F: 0x07cf, 0x03A0: 0x07d0, 0x03A1: 0x07d1, 0x03A3: 0x07d2, 0x03A4: 0x07d4, 0x03A5: 0x07d5, 0x03A6: 0x07d6, 0x03A7: 0x07d7, 0x03A8: 0x07d8, 0x03A9: 0x07d9, 0x03B1: 0x07e1, 0x03B2: 0x07e2, 0x03B3: 0x07e3, 0x03B4: 0x07e4, 0x03B5: 0x07e5, 0x03B6: 0x07e6, 0x03B7: 0x07e7, 0x03B8: 0x07e8, 0x03B9: 0x07e9, 0x03BA: 0x07ea, 0x03BB: 0x07eb, 0x03BC: 0x07ec, 0x03BD: 0x07ed, 0x03BE: 0x07ee, 0x03BF: 0x07ef, 0x03C0: 0x07f0, 0x03C1: 0x07f1, 0x03C3: 0x07f2, 0x03C2: 0x07f3, 0x03C4: 0x07f4, 0x03C5: 0x07f5, 0x03C6: 0x07f6, 0x03C7: 0x07f7, 0x03C8: 0x07f8, 0x03C9: 0x07f9, 0x23B7: 0x08a1, 0x2320: 0x08a4, 0x2321: 0x08a5, 0x23A1: 0x08a7, 0x23A3: 0x08a8, 0x23A4: 0x08a9, 0x23A6: 0x08aa, 0x239B: 0x08ab, 0x239D: 0x08ac, 0x239E: 0x08ad, 0x23A0: 0x08ae, 0x23A8: 0x08af, 0x23AC: 0x08b0, 0x2264: 0x08bc, 0x2260: 0x08bd, 0x2265: 0x08be, 0x222B: 0x08bf, 0x2234: 0x08c0, 0x221D: 0x08c1, 0x221E: 0x08c2, 0x2207: 0x08c5, 0x223C: 0x08c8, 0x2243: 0x08c9, 0x21D4: 0x08cd, 0x21D2: 0x08ce, 0x2261: 0x08cf, 0x221A: 0x08d6, 0x2282: 0x08da, 0x2283: 0x08db, 0x2229: 0x08dc, 0x222A: 0x08dd, 0x2227: 0x08de, 0x2228: 0x08df, 0x2202: 0x08ef, 0x0192: 0x08f6, 0x2190: 0x08fb, 0x2191: 0x08fc, 0x2192: 0x08fd, 0x2193: 0x08fe, 0x25C6: 0x09e0, 0x2592: 0x09e1, 0x2409: 0x09e2, 0x240C: 0x09e3, 0x240D: 0x09e4, 0x240A: 0x09e5, 0x2424: 0x09e8, 0x240B: 0x09e9, 0x2518: 0x09ea, 0x2510: 0x09eb, 0x250C: 0x09ec, 0x2514: 0x09ed, 0x253C: 0x09ee, 0x23BA: 0x09ef, 0x23BB: 0x09f0, 0x2500: 0x09f1, 0x23BC: 0x09f2, 0x23BD: 0x09f3, 0x251C: 0x09f4, 0x2524: 0x09f5, 0x2534: 0x09f6, 0x252C: 0x09f7, 0x2502: 0x09f8, 0x2003: 0x0aa1, 0x2002: 0x0aa2, 0x2004: 0x0aa3, 0x2005: 0x0aa4, 0x2007: 0x0aa5, 0x2008: 0x0aa6, 0x2009: 0x0aa7, 0x200A: 0x0aa8, 0x2014: 0x0aa9, 0x2013: 0x0aaa, 0x2026: 0x0aae, 0x2025: 0x0aaf, 0x2153: 0x0ab0, 0x2154: 0x0ab1, 0x2155: 0x0ab2, 0x2156: 0x0ab3, 0x2157: 0x0ab4, 0x2158: 0x0ab5, 0x2159: 0x0ab6, 0x215A: 0x0ab7, 0x2105: 0x0ab8, 0x2012: 0x0abb, 0x215B: 0x0ac3, 0x215C: 0x0ac4, 0x215D: 0x0ac5, 0x215E: 0x0ac6, 0x2122: 0x0ac9, 0x2018: 0x0ad0, 0x2019: 0x0ad1, 0x201C: 0x0ad2, 0x201D: 0x0ad3, 0x211E: 0x0ad4, 0x2032: 0x0ad6, 0x2033: 0x0ad7, 0x271D: 0x0ad9, 0x2663: 0x0aec, 0x2666: 0x0aed, 0x2665: 0x0aee, 0x2720: 0x0af0, 0x2020: 0x0af1, 0x2021: 0x0af2, 0x2713: 0x0af3, 0x2717: 0x0af4, 0x266F: 0x0af5, 0x266D: 0x0af6, 0x2642: 0x0af7, 0x2640: 0x0af8, 0x260E: 0x0af9, 0x2315: 0x0afa, 0x2117: 0x0afb, 0x2038: 0x0afc, 0x201A: 0x0afd, 0x201E: 0x0afe, 0x22A4: 0x0bc2, 0x230A: 0x0bc4, 0x2218: 0x0bca, 0x2395: 0x0bcc, 0x22A5: 0x0bce, 0x25CB: 0x0bcf, 0x2308: 0x0bd3, 0x22A3: 0x0bdc, 0x22A2: 0x0bfc, 0x2017: 0x0cdf, 0x05D0: 0x0ce0, 0x05D1: 0x0ce1, 0x05D2: 0x0ce2, 0x05D3: 0x0ce3, 0x05D4: 0x0ce4, 0x05D5: 0x0ce5, 0x05D6: 0x0ce6, 0x05D7: 0x0ce7, 0x05D8: 0x0ce8, 0x05D9: 0x0ce9, 0x05DA: 0x0cea, 0x05DB: 0x0ceb, 0x05DC: 0x0cec, 0x05DD: 0x0ced, 0x05DE: 0x0cee, 0x05DF: 0x0cef, 0x05E0: 0x0cf0, 0x05E1: 0x0cf1, 0x05E2: 0x0cf2, 0x05E3: 0x0cf3, 0x05E4: 0x0cf4, 0x05E5: 0x0cf5, 0x05E6: 0x0cf6, 0x05E7: 0x0cf7, 0x05E8: 0x0cf8, 0x05E9: 0x0cf9, 0x05EA: 0x0cfa, 0x0E01: 0x0da1, 0x0E02: 0x0da2, 0x0E03: 0x0da3, 0x0E04: 0x0da4, 0x0E05: 0x0da5, 0x0E06: 0x0da6, 0x0E07: 0x0da7, 0x0E08: 0x0da8, 0x0E09: 0x0da9, 0x0E0A: 0x0daa, 0x0E0B: 0x0dab, 0x0E0C: 0x0dac, 0x0E0D: 0x0dad, 0x0E0E: 0x0dae, 0x0E0F: 0x0daf, 0x0E10: 0x0db0, 0x0E11: 0x0db1, 0x0E12: 0x0db2, 0x0E13: 0x0db3, 0x0E14: 0x0db4, 0x0E15: 0x0db5, 0x0E16: 0x0db6, 0x0E17: 0x0db7, 0x0E18: 0x0db8, 0x0E19: 0x0db9, 0x0E1A: 0x0dba, 0x0E1B: 0x0dbb, 0x0E1C: 0x0dbc, 0x0E1D: 0x0dbd, 0x0E1E: 0x0dbe, 0x0E1F: 0x0dbf, 0x0E20: 0x0dc0, 0x0E21: 0x0dc1, 0x0E22: 0x0dc2, 0x0E23: 0x0dc3, 0x0E24: 0x0dc4, 0x0E25: 0x0dc5, 0x0E26: 0x0dc6, 0x0E27: 0x0dc7, 0x0E28: 0x0dc8, 0x0E29: 0x0dc9, 0x0E2A: 0x0dca, 0x0E2B: 0x0dcb, 0x0E2C: 0x0dcc, 0x0E2D: 0x0dcd, 0x0E2E: 0x0dce, 0x0E2F: 0x0dcf, 0x0E30: 0x0dd0, 0x0E31: 0x0dd1, 0x0E32: 0x0dd2, 0x0E33: 0x0dd3, 0x0E34: 0x0dd4, 0x0E35: 0x0dd5, 0x0E36: 0x0dd6, 0x0E37: 0x0dd7, 0x0E38: 0x0dd8, 0x0E39: 0x0dd9, 0x0E3A: 0x0dda, 0x0E3F: 0x0ddf, 0x0E40: 0x0de0, 0x0E41: 0x0de1, 0x0E42: 0x0de2, 0x0E43: 0x0de3, 0x0E44: 0x0de4, 0x0E45: 0x0de5, 0x0E46: 0x0de6, 0x0E47: 0x0de7, 0x0E48: 0x0de8, 0x0E49: 0x0de9, 0x0E4A: 0x0dea, 0x0E4B: 0x0deb, 0x0E4C: 0x0dec, 0x0E4D: 0x0ded, 0x0E50: 0x0df0, 0x0E51: 0x0df1, 0x0E52: 0x0df2, 0x0E53: 0x0df3, 0x0E54: 0x0df4, 0x0E55: 0x0df5, 0x0E56: 0x0df6, 0x0E57: 0x0df7, 0x0E58: 0x0df8, 0x0E59: 0x0df9, 0x0587: 0x1000587, 0x0589: 0x1000589, 0x055D: 0x100055d, 0x058A: 0x100058a, 0x055C: 0x100055c, 0x055B: 0x100055b, 0x055E: 0x100055e, 0x0531: 0x1000531, 0x0561: 0x1000561, 0x0532: 0x1000532, 0x0562: 0x1000562, 0x0533: 0x1000533, 0x0563: 0x1000563, 0x0534: 0x1000534, 0x0564: 0x1000564, 0x0535: 0x1000535, 0x0565: 0x1000565, 0x0536: 0x1000536, 0x0566: 0x1000566, 0x0537: 0x1000537, 0x0567: 0x1000567, 0x0538: 0x1000538, 0x0568: 0x1000568, 0x0539: 0x1000539, 0x0569: 0x1000569, 0x053A: 0x100053a, 0x056A: 0x100056a, 0x053B: 0x100053b, 0x056B: 0x100056b, 0x053C: 0x100053c, 0x056C: 0x100056c, 0x053D: 0x100053d, 0x056D: 0x100056d, 0x053E: 0x100053e, 0x056E: 0x100056e, 0x053F: 0x100053f, 0x056F: 0x100056f, 0x0540: 0x1000540, 0x0570: 0x1000570, 0x0541: 0x1000541, 0x0571: 0x1000571, 0x0542: 0x1000542, 0x0572: 0x1000572, 0x0543: 0x1000543, 0x0573: 0x1000573, 0x0544: 0x1000544, 0x0574: 0x1000574, 0x0545: 0x1000545, 0x0575: 0x1000575, 0x0546: 0x1000546, 0x0576: 0x1000576, 0x0547: 0x1000547, 0x0577: 0x1000577, 0x0548: 0x1000548, 0x0578: 0x1000578, 0x0549: 0x1000549, 0x0579: 0x1000579, 0x054A: 0x100054a, 0x057A: 0x100057a, 0x054B: 0x100054b, 0x057B: 0x100057b, 0x054C: 0x100054c, 0x057C: 0x100057c, 0x054D: 0x100054d, 0x057D: 0x100057d, 0x054E: 0x100054e, 0x057E: 0x100057e, 0x054F: 0x100054f, 0x057F: 0x100057f, 0x0550: 0x1000550, 0x0580: 0x1000580, 0x0551: 0x1000551, 0x0581: 0x1000581, 0x0552: 0x1000552, 0x0582: 0x1000582, 0x0553: 0x1000553, 0x0583: 0x1000583, 0x0554: 0x1000554, 0x0584: 0x1000584, 0x0555: 0x1000555, 0x0585: 0x1000585, 0x0556: 0x1000556, 0x0586: 0x1000586, 0x055A: 0x100055a, 0x10D0: 0x10010d0, 0x10D1: 0x10010d1, 0x10D2: 0x10010d2, 0x10D3: 0x10010d3, 0x10D4: 0x10010d4, 0x10D5: 0x10010d5, 0x10D6: 0x10010d6, 0x10D7: 0x10010d7, 0x10D8: 0x10010d8, 0x10D9: 0x10010d9, 0x10DA: 0x10010da, 0x10DB: 0x10010db, 0x10DC: 0x10010dc, 0x10DD: 0x10010dd, 0x10DE: 0x10010de, 0x10DF: 0x10010df, 0x10E0: 0x10010e0, 0x10E1: 0x10010e1, 0x10E2: 0x10010e2, 0x10E3: 0x10010e3, 0x10E4: 0x10010e4, 0x10E5: 0x10010e5, 0x10E6: 0x10010e6, 0x10E7: 0x10010e7, 0x10E8: 0x10010e8, 0x10E9: 0x10010e9, 0x10EA: 0x10010ea, 0x10EB: 0x10010eb, 0x10EC: 0x10010ec, 0x10ED: 0x10010ed, 0x10EE: 0x10010ee, 0x10EF: 0x10010ef, 0x10F0: 0x10010f0, 0x10F1: 0x10010f1, 0x10F2: 0x10010f2, 0x10F3: 0x10010f3, 0x10F4: 0x10010f4, 0x10F5: 0x10010f5, 0x10F6: 0x10010f6, 0x1E8A: 0x1001e8a, 0x012C: 0x100012c, 0x01B5: 0x10001b5, 0x01E6: 0x10001e6, 0x01D2: 0x10001d1, 0x019F: 0x100019f, 0x1E8B: 0x1001e8b, 0x012D: 0x100012d, 0x01B6: 0x10001b6, 0x01E7: 0x10001e7, 0x01D2: 0x10001d2, 0x0275: 0x1000275, 0x018F: 0x100018f, 0x0259: 0x1000259, 0x1E36: 0x1001e36, 0x1E37: 0x1001e37, 0x1EA0: 0x1001ea0, 0x1EA1: 0x1001ea1, 0x1EA2: 0x1001ea2, 0x1EA3: 0x1001ea3, 0x1EA4: 0x1001ea4, 0x1EA5: 0x1001ea5, 0x1EA6: 0x1001ea6, 0x1EA7: 0x1001ea7, 0x1EA8: 0x1001ea8, 0x1EA9: 0x1001ea9, 0x1EAA: 0x1001eaa, 0x1EAB: 0x1001eab, 0x1EAC: 0x1001eac, 0x1EAD: 0x1001ead, 0x1EAE: 0x1001eae, 0x1EAF: 0x1001eaf, 0x1EB0: 0x1001eb0, 0x1EB1: 0x1001eb1, 0x1EB2: 0x1001eb2, 0x1EB3: 0x1001eb3, 0x1EB4: 0x1001eb4, 0x1EB5: 0x1001eb5, 0x1EB6: 0x1001eb6, 0x1EB7: 0x1001eb7, 0x1EB8: 0x1001eb8, 0x1EB9: 0x1001eb9, 0x1EBA: 0x1001eba, 0x1EBB: 0x1001ebb, 0x1EBC: 0x1001ebc, 0x1EBD: 0x1001ebd, 0x1EBE: 0x1001ebe, 0x1EBF: 0x1001ebf, 0x1EC0: 0x1001ec0, 0x1EC1: 0x1001ec1, 0x1EC2: 0x1001ec2, 0x1EC3: 0x1001ec3, 0x1EC4: 0x1001ec4, 0x1EC5: 0x1001ec5, 0x1EC6: 0x1001ec6, 0x1EC7: 0x1001ec7, 0x1EC8: 0x1001ec8, 0x1EC9: 0x1001ec9, 0x1ECA: 0x1001eca, 0x1ECB: 0x1001ecb, 0x1ECC: 0x1001ecc, 0x1ECD: 0x1001ecd, 0x1ECE: 0x1001ece, 0x1ECF: 0x1001ecf, 0x1ED0: 0x1001ed0, 0x1ED1: 0x1001ed1, 0x1ED2: 0x1001ed2, 0x1ED3: 0x1001ed3, 0x1ED4: 0x1001ed4, 0x1ED5: 0x1001ed5, 0x1ED6: 0x1001ed6, 0x1ED7: 0x1001ed7, 0x1ED8: 0x1001ed8, 0x1ED9: 0x1001ed9, 0x1EDA: 0x1001eda, 0x1EDB: 0x1001edb, 0x1EDC: 0x1001edc, 0x1EDD: 0x1001edd, 0x1EDE: 0x1001ede, 0x1EDF: 0x1001edf, 0x1EE0: 0x1001ee0, 0x1EE1: 0x1001ee1, 0x1EE2: 0x1001ee2, 0x1EE3: 0x1001ee3, 0x1EE4: 0x1001ee4, 0x1EE5: 0x1001ee5, 0x1EE6: 0x1001ee6, 0x1EE7: 0x1001ee7, 0x1EE8: 0x1001ee8, 0x1EE9: 0x1001ee9, 0x1EEA: 0x1001eea, 0x1EEB: 0x1001eeb, 0x1EEC: 0x1001eec, 0x1EED: 0x1001eed, 0x1EEE: 0x1001eee, 0x1EEF: 0x1001eef, 0x1EF0: 0x1001ef0, 0x1EF1: 0x1001ef1, 0x1EF4: 0x1001ef4, 0x1EF5: 0x1001ef5, 0x1EF6: 0x1001ef6, 0x1EF7: 0x1001ef7, 0x1EF8: 0x1001ef8, 0x1EF9: 0x1001ef9, 0x01A0: 0x10001a0, 0x01A1: 0x10001a1, 0x01AF: 0x10001af, 0x01B0: 0x10001b0, 0x20A0: 0x10020a0, 0x20A1: 0x10020a1, 0x20A2: 0x10020a2, 0x20A3: 0x10020a3, 0x20A4: 0x10020a4, 0x20A5: 0x10020a5, 0x20A6: 0x10020a6, 0x20A7: 0x10020a7, 0x20A8: 0x10020a8, 0x20A9: 0x10020a9, 0x20AA: 0x10020aa, 0x20AB: 0x10020ab, 0x20AC: 0x20ac, 0x2070: 0x1002070, 0x2074: 0x1002074, 0x2075: 0x1002075, 0x2076: 0x1002076, 0x2077: 0x1002077, 0x2078: 0x1002078, 0x2079: 0x1002079, 0x2080: 0x1002080, 0x2081: 0x1002081, 0x2082: 0x1002082, 0x2083: 0x1002083, 0x2084: 0x1002084, 0x2085: 0x1002085, 0x2086: 0x1002086, 0x2087: 0x1002087, 0x2088: 0x1002088, 0x2089: 0x1002089, 0x2202: 0x1002202, 0x2205: 0x1002205, 0x2208: 0x1002208, 0x2209: 0x1002209, 0x220B: 0x100220B, 0x221A: 0x100221A, 0x221B: 0x100221B, 0x221C: 0x100221C, 0x222C: 0x100222C, 0x222D: 0x100222D, 0x2235: 0x1002235, 0x2245: 0x1002248, 0x2247: 0x1002247, 0x2262: 0x1002262, 0x2263: 0x1002263, 0x2800: 0x1002800, 0x2801: 0x1002801, 0x2802: 0x1002802, 0x2803: 0x1002803, 0x2804: 0x1002804, 0x2805: 0x1002805, 0x2806: 0x1002806, 0x2807: 0x1002807, 0x2808: 0x1002808, 0x2809: 0x1002809, 0x280a: 0x100280a, 0x280b: 0x100280b, 0x280c: 0x100280c, 0x280d: 0x100280d, 0x280e: 0x100280e, 0x280f: 0x100280f, 0x2810: 0x1002810, 0x2811: 0x1002811, 0x2812: 0x1002812, 0x2813: 0x1002813, 0x2814: 0x1002814, 0x2815: 0x1002815, 0x2816: 0x1002816, 0x2817: 0x1002817, 0x2818: 0x1002818, 0x2819: 0x1002819, 0x281a: 0x100281a, 0x281b: 0x100281b, 0x281c: 0x100281c, 0x281d: 0x100281d, 0x281e: 0x100281e, 0x281f: 0x100281f, 0x2820: 0x1002820, 0x2821: 0x1002821, 0x2822: 0x1002822, 0x2823: 0x1002823, 0x2824: 0x1002824, 0x2825: 0x1002825, 0x2826: 0x1002826, 0x2827: 0x1002827, 0x2828: 0x1002828, 0x2829: 0x1002829, 0x282a: 0x100282a, 0x282b: 0x100282b, 0x282c: 0x100282c, 0x282d: 0x100282d, 0x282e: 0x100282e, 0x282f: 0x100282f, 0x2830: 0x1002830, 0x2831: 0x1002831, 0x2832: 0x1002832, 0x2833: 0x1002833, 0x2834: 0x1002834, 0x2835: 0x1002835, 0x2836: 0x1002836, 0x2837: 0x1002837, 0x2838: 0x1002838, 0x2839: 0x1002839, 0x283a: 0x100283a, 0x283b: 0x100283b, 0x283c: 0x100283c, 0x283d: 0x100283d, 0x283e: 0x100283e, 0x283f: 0x100283f, 0x2840: 0x1002840, 0x2841: 0x1002841, 0x2842: 0x1002842, 0x2843: 0x1002843, 0x2844: 0x1002844, 0x2845: 0x1002845, 0x2846: 0x1002846, 0x2847: 0x1002847, 0x2848: 0x1002848, 0x2849: 0x1002849, 0x284a: 0x100284a, 0x284b: 0x100284b, 0x284c: 0x100284c, 0x284d: 0x100284d, 0x284e: 0x100284e, 0x284f: 0x100284f, 0x2850: 0x1002850, 0x2851: 0x1002851, 0x2852: 0x1002852, 0x2853: 0x1002853, 0x2854: 0x1002854, 0x2855: 0x1002855, 0x2856: 0x1002856, 0x2857: 0x1002857, 0x2858: 0x1002858, 0x2859: 0x1002859, 0x285a: 0x100285a, 0x285b: 0x100285b, 0x285c: 0x100285c, 0x285d: 0x100285d, 0x285e: 0x100285e, 0x285f: 0x100285f, 0x2860: 0x1002860, 0x2861: 0x1002861, 0x2862: 0x1002862, 0x2863: 0x1002863, 0x2864: 0x1002864, 0x2865: 0x1002865, 0x2866: 0x1002866, 0x2867: 0x1002867, 0x2868: 0x1002868, 0x2869: 0x1002869, 0x286a: 0x100286a, 0x286b: 0x100286b, 0x286c: 0x100286c, 0x286d: 0x100286d, 0x286e: 0x100286e, 0x286f: 0x100286f, 0x2870: 0x1002870, 0x2871: 0x1002871, 0x2872: 0x1002872, 0x2873: 0x1002873, 0x2874: 0x1002874, 0x2875: 0x1002875, 0x2876: 0x1002876, 0x2877: 0x1002877, 0x2878: 0x1002878, 0x2879: 0x1002879, 0x287a: 0x100287a, 0x287b: 0x100287b, 0x287c: 0x100287c, 0x287d: 0x100287d, 0x287e: 0x100287e, 0x287f: 0x100287f, 0x2880: 0x1002880, 0x2881: 0x1002881, 0x2882: 0x1002882, 0x2883: 0x1002883, 0x2884: 0x1002884, 0x2885: 0x1002885, 0x2886: 0x1002886, 0x2887: 0x1002887, 0x2888: 0x1002888, 0x2889: 0x1002889, 0x288a: 0x100288a, 0x288b: 0x100288b, 0x288c: 0x100288c, 0x288d: 0x100288d, 0x288e: 0x100288e, 0x288f: 0x100288f, 0x2890: 0x1002890, 0x2891: 0x1002891, 0x2892: 0x1002892, 0x2893: 0x1002893, 0x2894: 0x1002894, 0x2895: 0x1002895, 0x2896: 0x1002896, 0x2897: 0x1002897, 0x2898: 0x1002898, 0x2899: 0x1002899, 0x289a: 0x100289a, 0x289b: 0x100289b, 0x289c: 0x100289c, 0x289d: 0x100289d, 0x289e: 0x100289e, 0x289f: 0x100289f, 0x28a0: 0x10028a0, 0x28a1: 0x10028a1, 0x28a2: 0x10028a2, 0x28a3: 0x10028a3, 0x28a4: 0x10028a4, 0x28a5: 0x10028a5, 0x28a6: 0x10028a6, 0x28a7: 0x10028a7, 0x28a8: 0x10028a8, 0x28a9: 0x10028a9, 0x28aa: 0x10028aa, 0x28ab: 0x10028ab, 0x28ac: 0x10028ac, 0x28ad: 0x10028ad, 0x28ae: 0x10028ae, 0x28af: 0x10028af, 0x28b0: 0x10028b0, 0x28b1: 0x10028b1, 0x28b2: 0x10028b2, 0x28b3: 0x10028b3, 0x28b4: 0x10028b4, 0x28b5: 0x10028b5, 0x28b6: 0x10028b6, 0x28b7: 0x10028b7, 0x28b8: 0x10028b8, 0x28b9: 0x10028b9, 0x28ba: 0x10028ba, 0x28bb: 0x10028bb, 0x28bc: 0x10028bc, 0x28bd: 0x10028bd, 0x28be: 0x10028be, 0x28bf: 0x10028bf, 0x28c0: 0x10028c0, 0x28c1: 0x10028c1, 0x28c2: 0x10028c2, 0x28c3: 0x10028c3, 0x28c4: 0x10028c4, 0x28c5: 0x10028c5, 0x28c6: 0x10028c6, 0x28c7: 0x10028c7, 0x28c8: 0x10028c8, 0x28c9: 0x10028c9, 0x28ca: 0x10028ca, 0x28cb: 0x10028cb, 0x28cc: 0x10028cc, 0x28cd: 0x10028cd, 0x28ce: 0x10028ce, 0x28cf: 0x10028cf, 0x28d0: 0x10028d0, 0x28d1: 0x10028d1, 0x28d2: 0x10028d2, 0x28d3: 0x10028d3, 0x28d4: 0x10028d4, 0x28d5: 0x10028d5, 0x28d6: 0x10028d6, 0x28d7: 0x10028d7, 0x28d8: 0x10028d8, 0x28d9: 0x10028d9, 0x28da: 0x10028da, 0x28db: 0x10028db, 0x28dc: 0x10028dc, 0x28dd: 0x10028dd, 0x28de: 0x10028de, 0x28df: 0x10028df, 0x28e0: 0x10028e0, 0x28e1: 0x10028e1, 0x28e2: 0x10028e2, 0x28e3: 0x10028e3, 0x28e4: 0x10028e4, 0x28e5: 0x10028e5, 0x28e6: 0x10028e6, 0x28e7: 0x10028e7, 0x28e8: 0x10028e8, 0x28e9: 0x10028e9, 0x28ea: 0x10028ea, 0x28eb: 0x10028eb, 0x28ec: 0x10028ec, 0x28ed: 0x10028ed, 0x28ee: 0x10028ee, 0x28ef: 0x10028ef, 0x28f0: 0x10028f0, 0x28f1: 0x10028f1, 0x28f2: 0x10028f2, 0x28f3: 0x10028f3, 0x28f4: 0x10028f4, 0x28f5: 0x10028f5, 0x28f6: 0x10028f6, 0x28f7: 0x10028f7, 0x28f8: 0x10028f8, 0x28f9: 0x10028f9, 0x28fa: 0x10028fa, 0x28fb: 0x10028fb, 0x28fc: 0x10028fc, 0x28fd: 0x10028fd, 0x28fe: 0x10028fe, 0x28ff: 0x10028ff
- };
-
-
- /////////////////////////////////////////////////////////////////////////////
- // HELPERS
- /////////////////////////////////////////////////////////////////////////////
-
- function getKeysymSpecial(ev) {
- if (ev.keyCode in specialKeyTable) {
- var r = specialKeyTable[ev.keyCode];
- var flags = 0;
- if (typeof r !== 'number') {
- flags = r[1];
- r = r[0];
- }
- if (ev.type === 'keydown' || flags & ON_KEYDOWN) return r;
- }
- if (!ev.ctrlKey && !ev.altKey) return null;
-
- var keysym = getEventKeySym(ev);
-
- /* Remap symbols */
- switch (keysym) {
- case 186 : keysym = 59; break; // ; (IE)
- case 187 : keysym = 61; break; // = (IE)
- case 188 : keysym = 44; break; // , (Mozilla, IE)
- case 109 : // - (Mozilla, Opera)
- if (true /* TODO: check if browser is firefox or opera */)
- keysym = 45;
- break;
- case 189 : keysym = 45; break; // - (IE)
- case 190 : keysym = 46; break; // . (Mozilla, IE)
- case 191 : keysym = 47; break; // / (Mozilla, IE)
- case 192 : keysym = 96; break; // ` (Mozilla, IE)
- case 219 : keysym = 91; break; // [ (Mozilla, IE)
- case 220 : keysym = 92; break; // \ (Mozilla, IE)
- case 221 : keysym = 93; break; // ] (Mozilla, IE)
- case 222 : keysym = 39; break; // ' (Mozilla, IE)
- }
-
- /* Remap shifted and unshifted keys */
- if (!!ev.shiftKey) {
- switch (keysym) {
- case 48 : keysym = 41 ; break; // ) (shifted 0)
- case 49 : keysym = 33 ; break; // ! (shifted 1)
- case 50 : keysym = 64 ; break; // @ (shifted 2)
- case 51 : keysym = 35 ; break; // # (shifted 3)
- case 52 : keysym = 36 ; break; // $ (shifted 4)
- case 53 : keysym = 37 ; break; // % (shifted 5)
- case 54 : keysym = 94 ; break; // ^ (shifted 6)
- case 55 : keysym = 38 ; break; // & (shifted 7)
- case 56 : keysym = 42 ; break; // * (shifted 8)
- case 57 : keysym = 40 ; break; // ( (shifted 9)
- case 59 : keysym = 58 ; break; // : (shifted `)
- case 61 : keysym = 43 ; break; // + (shifted ;)
- case 44 : keysym = 60 ; break; // < (shifted ,)
- case 45 : keysym = 95 ; break; // _ (shifted -)
- case 46 : keysym = 62 ; break; // > (shifted .)
- case 47 : keysym = 63 ; break; // ? (shifted /)
- case 96 : keysym = 126; break; // ~ (shifted `)
- case 91 : keysym = 123; break; // { (shifted [)
- case 92 : keysym = 124; break; // | (shifted \)
- case 93 : keysym = 125; break; // } (shifted ])
- case 39 : keysym = 34 ; break; // ' (shifted ')
- }
- } else if ((keysym >= 65) && (keysym <=90)) {
- /* Remap unshifted A-Z */
- keysym += 32;
- } else if (ev.keyLocation === 3) {
- // numpad keys
- switch (keysym) {
- case 96 : keysym = 48; break; // 0
- case 97 : keysym = 49; break; // 1
- case 98 : keysym = 50; break; // 2
- case 99 : keysym = 51; break; // 3
- case 100: keysym = 52; break; // 4
- case 101: keysym = 53; break; // 5
- case 102: keysym = 54; break; // 6
- case 103: keysym = 55; break; // 7
- case 104: keysym = 56; break; // 8
- case 105: keysym = 57; break; // 9
- case 109: keysym = 45; break; // -
- case 110: keysym = 46; break; // .
- case 111: keysym = 47; break; // /
- }
- }
- return keysym;
- }
-
- function getEventKeySym(ev) {
- if (typeof ev.which !== 'undefined' && ev.which > 0)
- return ev.which;
- return ev.keyCode;
- }
-
- function ignoreKeyEvent(ev) {
- // Blarg. Some keys have a different keyCode on keyDown vs keyUp
- if (ev.keyCode === 229) {
- // French AZERTY keyboard dead key.
- // Lame thing is that the respective keyUp is 219 so we can't
- // properly ignore the keyUp event
- return true;
- }
- return false;
- }
-
- function getKeysym(ev) {
- var keysym = getEventKeySym(ev);
- if ((keysym > 255) && (keysym < 0xFF00)) { // Map Unicode outside Latin 1 to gdk keysyms
- keysym = (typeof keysym === 'undefined') ? 0 : unicodeTable[keysym];
- }
- return keysym;
- }
-
- function getRelativeLayer(id, ev, opts) {
- opts = opts || {};
-
- var cid = id;
- if ( ev.target ) {
- var tmp = ev.target.getAttribute('data-surface-id');
- if ( tmp ) {
- cid = parseInt(tmp, 10);
- }
- }
-
- if ( cid !== id ) {
- var surface = surfaces[cid];
- if ( surface && surface.canvas ) {
- opts.mx -= surface.canvas.offsetLeft;
- opts.my -= surface.canvas.offsetTop;
- }
- }
-
- return cid;
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // WRAPPERS
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * Command for binary/arraybuffer connection
- */
- function BinCommands(message) {
- this.arraybuffer = message;
- this.u8 = new Uint8Array(message);
- this.length = this.u8.length;
- this.pos = 0;
- }
- BinCommands.prototype.get_char = function() {
- return String.fromCharCode(this.u8[this.pos++]);
- };
- BinCommands.prototype.get_bool = function() {
- return this.u8[this.pos++] !== 0;
- };
- BinCommands.prototype.get_flags = function() {
- return this.u8[this.pos++];
- }
- BinCommands.prototype.get_16 = function() {
- var v = this.u8[this.pos] + (this.u8[this.pos+1] << 8);
- this.pos = this.pos + 2;
- return v;
- };
- BinCommands.prototype.get_16s = function() {
- var v = this.get_16 ();
- if (v > 32767) return v - 65536;
- return v;
- };
- BinCommands.prototype.get_32 = function() {
- var v = this.u8[this.pos] +
- (this.u8[this.pos+1] << 8) +
- (this.u8[this.pos+2] << 16) +
- (this.u8[this.pos+3] << 24);
-
- this.pos = this.pos + 4;
- return v;
- };
- BinCommands.prototype.get_image_url = function() {
- var size = this.get_32();
- var png_blob = new Blob ([new Uint8Array (this.arraybuffer, this.pos, size)], {type:'image/png'});
- var url;
- if (window.webkitURL) {
- url = window.webkitURL.createObjectURL(png_blob);
- } else {
- url = window.URL.createObjectURL(png_blob, {oneTimeOnly: true});
- }
- this.pos = this.pos + size;
- return url;
- };
- BinCommands.prototype.free_image_url = function(url) {
- URL.revokeObjectURL(url);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // ACTIONS
- /////////////////////////////////////////////////////////////////////////////
-
- function doLogin() {
- // TODO
- }
-
- function doLoggedIn() {
- // TODO
- }
-
- function doDisconnect() {
- // TODO
- }
-
- /**
- * Closes a surface
- */
- function closeSurface(id) {
- if ( surfaces[id] ) {
- sendInput('W', [id]);
- }
- }
-
- /**
- * Moves a surface
- */
- function moveSurface(id, x, y) {
- if ( surfaces[id] ) {
- var surface = surfaces[id];
- surface.x = x;
- surface.y = y;
- sendConfigureNotify(surface);
- }
- }
-
- /**
- * Resizes a surface
- */
- function resizeSurface(id, w, h) {
- if ( surfaces[id] ) {
- var surface = surfaces[id];
- surface.width = w;
- surface.height = h;
- console.log(surface);
- sendConfigureNotify(surface);
- // sendInput('m', [id, 1, surface.x, surface.y, 2, surface.width, surface.height]);
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EVENTS
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * On Create Surface Event
- */
- function onCreateSurface(cmd) {
- var id = cmd.get_16();
- var x = cmd.get_16s();
- var y = cmd.get_16s();
- var w = cmd.get_16();
- var h = cmd.get_16();
- var isTemp = cmd.get_bool();
- var surface = { id: id, x: x, y:y, width: w, height: h, isTemp: isTemp };
- surface.positioned = isTemp;
- surface.drawQueue = [];
- surface.transientParent = 0;
- surface.visible = false;
- surfaces[id] = surface;
- sendConfigureNotify(surface);
-
- console.debug('Broadway', 'onCreateSurface()', id, x, y, w, h, isTemp);
- if ( isTemp ) {
- surface.canvas = document.createElement('canvas');
- surface.canvas.width = w;
- surface.canvas.height = h;
- surface.canvas.style.position = 'absolute';
- surface.canvas.style.left = x + 'px';
- surface.canvas.style.top = y + 'px';
- surface.canvas.style.zIndex = '9999999';
- surface.canvas.style.display = 'none';
- surface.canvas.setAttribute('data-surface-id', id.toString());
- } else {
- if ( globalOpts.onCreateSurface ) {
- var canvas = globalOpts.onCreateSurface(id, surface);
- if ( canvas ) {
- canvas.surfaceId = id;
- }
- }
- }
- }
-
- /**
- * On Show Surface Event
- */
- function onShowSurface(cmd) {
- var id = cmd.get_16();
- var surface = surfaces[id];
-
- if ( surface ) {
- surface.visible = true;
- if ( surface.canvas ) {
- surface.canvas.style.display = 'inline';
- }
-
- console.debug('Broadway', 'onShowSurface()', id);
- if ( globalOpts.onShowSurface ) {
- globalOpts.onShowSurface(id);
- }
- }
- }
-
- /**
- * On Hide Surface Event
- */
- function onHideSurface(cmd) {
- var id = cmd.get_16();
- var surface = surfaces[id];
-
- if ( surface ) {
- surface.visible = false;
- if ( surface.canvas ) {
- surface.canvas.style.display = 'none';
- }
-
- console.debug('Broadway', 'onHideSurface()', id);
- if ( globalOpts.onHideSurface ) {
- globalOpts.onHideSurface(id);
- }
- }
- }
-
- /**
- * On Set Transient Event
- */
- function onSetTransient(cmd) {
- var id = cmd.get_16();
- var parentId = cmd.get_16();
- var surface = surfaces[id];
-
- if ( surface ) {
- console.debug('Broadway', 'onSetTransient()', id, parentId);
-
- surface.transientParent = parentId;
- if ( globalOpts.onSetTransient ) {
- globalOpts.onSetTransient(id, parentId, surface);
- }
- }
- }
-
- /**
- * On Delete Surface Event
- */
- function onDeleteSurface(cmd) {
- var id = cmd.get_16();
- var surface = surfaces[id];
-
- console.debug('Broadway', 'onDeleteSurface()', id);
- if ( surface ) {
- if ( surface.canvas ) {
- if ( surface.canvas.parentNode ) {
- surface.canvas.parentNode.removeChild(surface.canvas);
- }
- } else {
- if ( globalOpts.onDeleteSurface ) {
- globalOpts.onDeleteSurface(id);
- }
- }
- delete surfaces[id];
- }
- }
-
- /**
- * On Move Surface Event
- */
- function onMoveSurface(cmd) {
- var id = cmd.get_16();
- var ops = cmd.get_flags();
- var surface = surfaces[id];
-
- if ( !surface ) { return; }
-
- var has_pos = ops & 1;
- if (has_pos) {
- surface.x = cmd.get_16s();
- surface.y = cmd.get_16s();
- }
-
- var has_size = ops & 2;
- if (has_size) {
- surface.width = cmd.get_16();
- surface.height = cmd.get_16();
- }
-
- console.debug('Broadway', 'onMoveSurface()', id, has_pos, has_size, surface);
- if ( surface.isTemp ) {
- if ( has_pos ) {
- var par = surfaces[surface.transientParent] || {x: 0, y: 0};
- console.log([surface.x, par.x], [surface.y, par.y]);
- surface.canvas.style.left = (surface.x - par.x) + 'px';
- surface.canvas.style.top = (surface.y - par.y) + 'px';
- }
- } else {
- if ( globalOpts.onMoveSurface ) {
- globalOpts.onMoveSurface(id, has_pos, has_size, surface);
- }
- }
- sendConfigureNotify(surface);
- }
-
- /**
- * On Image Data Event
- */
- function onImageData(cmd) {
- var q = {
- op: 'i',
- id: cmd.get_16(),
- x: cmd.get_16(),
- y: cmd.get_16()
- };
-
- var url = cmd.get_image_url();
- q.img = new Image();
- q.img.src = url;
-
- //console.debug('Broadway', 'onImageData()', url);
- surfaces[q.id].drawQueue.push(q);
-
- if (!q.img.complete) {
- q.img.onload = function() {
- cmd.free_image_url (url);
-
- handleOutstanding();
- };
- return false;
- }
- cmd.free_image_url(url);
-
- return true;
- }
-
- /**
- * On Copy Rects Event
- */
- function onCopyRects(cmd) {
- var id = cmd.get_16();
- if ( surfaces[id] ) {
- console.debug('Broadway', 'onCopyRects()', id);
-
- var q = {
- op: 'b',
- id: id,
- rects: []
- };
-
- var nrects = cmd.get_16();
- for (var r = 0; r < nrects; r++) {
- q.rects.push({
- x: cmd.get_16(),
- y: cmd.get_16(),
- w: cmd.get_16(),
- h: cmd.get_16()
- });
- }
-
- q.dx = cmd.get_16s();
- q.dy = cmd.get_16s();
- surfaces[q.id].drawQueue.push(q);
- }
- }
-
- /**
- * On Flush Sufrace Event
- */
- function onFlushSurface(cmd) {
- var id = cmd.get_16();
- var surface = surfaces[id];
-
- if ( surface ) {
- //console.debug('Broadway', 'onFlushSurface()', id);
-
- var canvas = surface.canvas;
- if ( !surface.isTemp && globalOpts.onFlushSurface ) {
- canvas = globalOpts.onFlushSurface(id);
- }
-
- if ( surface && canvas ) {
- var commands = surface.drawQueue;
- var context = canvas.getContext('2d');
- context.globalCompositeOperation = 'source-over';
-
- var i = 0;
- var cmd, j, rect;
- for (i; i < commands.length; i++) {
- cmd = commands[i];
- switch (cmd.op) {
- case 'i': // put image data surface
- context.globalCompositeOperation = 'source-over';
- context.drawImage(cmd.img, cmd.x, cmd.y);
- break;
-
- case 'b': // copy rects
- context.save();
- context.beginPath();
-
- for (j = 0; j < cmd.rects.length; j++) {
- rect = cmd.rects[j];
- context.rect(rect.x, rect.y, rect.w, rect.h);
- }
-
- context.clip();
- context.drawImage(surface.canvas, cmd.dx, cmd.dy);
- context.restore();
- break;
-
- default:
- console.warn('Broadway', 'onFlushSurface()', 'Invalid command', cmd.op, cmd);
- }
- }
- }
- }
- }
-
- /**
- * On Grab Pointer Event
- */
- function onGrabPointer(cmd) {
- var id = cmd.get_16();
- var ownerEvents = cmd.get_bool();
-
- // TODO
- sendInput('g', []);
- console.debug('Broadway', 'onGrabPointer()', id, ownerEvents);
- }
-
- /**
- * On Ungrab Pointer Event
- */
- function onUngrabPointer() {
- sendInput('u', []);
-
- // TODO
- console.debug('Broadway', 'onUngrabPointer()');
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // ACTIONS
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * Handle outstanding commands
- */
- function handleOutstanding() {
- while ( outstandingCommands.length > 0 ) {
- var cmd = outstandingCommands.shift();
- if ( !handleCommands(cmd) ) {
- outstandingCommands.unshift(cmd);
- return;
- }
- }
- }
-
- /**
- * Handles a list of commands
- */
- function handleCommands(cmd) {
- var mapping = {
- 'l': doLogin,
- 'L': doLoggedIn,
- 'D': doDisconnect,
- 's': onCreateSurface,
- 'S': onShowSurface,
- 'H': onHideSurface,
- 'p': onSetTransient,
- 'd': onDeleteSurface,
- 'm': onMoveSurface,
- 'i': onImageData,
- 'b': onCopyRects,
- 'f': onFlushSurface,
- 'g': onGrabPointer,
- 'u': onUngrabPointer
- };
-
- while (cmd.pos < cmd.length) {
- var command = cmd.get_char();
- lastSerial = cmd.get_32();
-
- //console.debug('Broadway', 'handleCommands()', command);
-
- if ( mapping[command] ) {
- if ( mapping[command](cmd) === false ) {
- return false;
- }
- } else {
- console.error('Invalid command', command);
- }
- }
-
- return true;
- }
-
- /**
- * Send configuration notification
- */
- function sendConfigureNotify(surface) {
- if ( !connected ) { return; }
-
- sendInput('w', [surface.id, surface.x, surface.y, surface.width, surface.height]);
- }
-
- /**
- * Send input
- */
- function sendInput(cmd, args) {
- if ( !connected ) { return; }
-
- if ( inputSocket != null ) {
- inputSocket.send(cmd + ([lastSerial, lastTimeStamp].concat(args)).join(','));
- }
- }
-
- /**
- * Update last input state
- */
- function updateForEvent(ev) {
- lastState &= ~(GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK);
- if (ev.shiftKey) lastState |= GDK_SHIFT_MASK;
- if (ev.ctrlKey) lastState |= GDK_CONTROL_MASK;
- if (ev.altKey) lastState |= GDK_MOD1_MASK;
- lastTimeStamp = ev.timeStamp;
- }
-
- /**
- * Get GDK button mask from DOM Event
- */
- function getButtonMask (button) {
- if (button === 1) return GDK_BUTTON1_MASK;
- if (button === 2) return GDK_BUTTON2_MASK;
- if (button === 3) return GDK_BUTTON3_MASK;
- if (button === 4) return GDK_BUTTON4_MASK;
- if (button === 5) return GDK_BUTTON5_MASK;
- return 0;
- }
-
- /**
- * Get GDK button
- */
- function getKeyEvent(keyCode, pop) {
- var i, fev = null;
- for (i = keyDownList.length-1; i >= 0; i--) {
- if ( keyDownList[i].keyCode === keyCode ) {
- if ((typeof pop !== 'undefined') && pop)
- fev = keyDownList.splice(i, 1)[0];
- else
- fev = keyDownList[i];
- break;
- }
- }
- return fev;
- }
-
- /**
- * Cancels an event
- */
- function cancelEvent(ev) {
- ev = ev ? ev : window.event;
- if (ev.stopPropagation) ev.stopPropagation();
- if (ev.preventDefault) ev.preventDefault();
- ev.cancelBubble = true;
- ev.cancel = true;
- ev.returnValue = false;
- return false;
- }
-
- /**
- * Copy the key event object
- */
- function copyKeyEvent(ev) {
- var members = ['type', 'keyCode', 'charCode', 'which', 'altKey', 'ctrlKey', 'shiftKey', 'keyLocation', 'keyIdentifier'];
- var i, obj = {};
- for (i = 0; i < members.length; i++) {
- if (typeof ev[members[i]] !== 'undefined')
- obj[members[i]] = ev[members[i]];
- }
- return obj;
- }
-
- /**
- * Keyboard Down
- */
- function handleKeyDown(id, ev) {
- updateForEvent(ev);
-
- if ( surfaces[id] ) {
- var suppress = false;
- var fev = copyKeyEvent(ev);
- var keysym = getKeysymSpecial(ev);
- fev.keysym = keysym;
-
- console.debug('Broadway', 'handleKeyDown()', fev, keysym);
-
- if ( keysym ) {
- if ( !ignoreKeyEvent(ev) ) {
- sendInput('k', [id, keysym, lastState]);
- }
- suppress = true;
- }
-
- if ( !ignoreKeyEvent(ev) ) {
- keyDownList.push(fev);
- }
-
- if ( suppress ) {
- return cancelEvent(ev);
- }
-
- }
-
- return true;
- }
-
- /**
- * Keyboard Up
- */
- function handleKeyUp(id, ev) {
- updateForEvent(ev);
-
- if ( surfaces[id] ) {
- var fev = getKeyEvent(ev.keyCode, true);
- var keysym = fev ? fev.keysym : 0;
-
- console.debug('Broadway', 'handleKeyUp()', fev, keysym);
- if ( keysym > 0 ) {
- sendInput('K', [id, keysym, lastState]);
- }
- }
-
- return cancelEvent(ev);
- }
-
- /**
- * Keyboard Press
- */
- function handleKeyPress(id, ev) {
- updateForEvent(ev);
-
- if ( surfaces[id] ) {
-
- if (((ev.which !== 'undefined') && (ev.which === 0)) || getKeysymSpecial(ev)) {
- return cancelEvent(ev);
- }
-
- var keysym = getKeysym(ev);
- var kdlen = keyDownList.length;
-
- console.debug('Broadway', 'handleKeyPress()', keysym);
-
- if ( kdlen > 0 ) {
- keyDownList[kdlen-1].keysym = keysym;
- }
-
- if ( keysym > 0 ) {
- sendInput('k', [id, keysym, lastState]);
- }
- }
-
- return cancelEvent(ev);
- }
-
- /**
- * Mouse Wheel
- */
- function handleMouseWheel(id, ev, opts) {
- updateForEvent(ev);
- if ( surfaces[id] ) {
- var offset = ev.detail ? ev.detail : -ev.wheelDelta;
- var dir = offset > 0 ? 1 : 0;
- var cid = getRelativeLayer(id, ev, opts);
-
- console.debug('Broadway', 'handleMouseWheel()', dir);
- sendInput('s', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState, dir]);
- }
- return true;
- }
-
- /**
- * Mouse Movment
- */
- function handleMouseMove(id, ev, opts) {
- updateForEvent(ev);
- if ( surfaces[id] ) {
- var cid = getRelativeLayer(id, ev, opts);
- //console.debug('Broadway', 'handleMouseMove()', opts);
- sendInput('m', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState]);
- }
- return true;
- }
-
- /**
- * Mouse Down
- */
- function handleMouseDown(id, ev, opts) {
- updateForEvent(ev);
- var button = ev.button + 1;
- var cid = getRelativeLayer(id, ev, opts);
- lastState = lastState | getButtonMask (button);
-
- if ( surfaces[id] ) {
- console.debug('Broadway', 'handleMouseDown()', opts);
- sendInput('b', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState, button]);
- }
- return true;
- }
-
- /**
- * Mouse Up
- */
- function handleMouseUp(id, ev, opts) {
- updateForEvent(ev);
- var button = ev.button + 1;
- var cid = getRelativeLayer(id, ev, opts);
- lastState = lastState & ~getButtonMask (button);
- if ( surfaces[id] ) {
- console.debug('Broadway', 'handleMouseUp()', opts);
- sendInput('B', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState, button]);
- }
- return true;
- }
-
- function handleMouseOver(id, ev, opts) {
- updateForEvent(ev);
- var cid = getRelativeLayer(id, ev, opts);
- if ( surfaces[id] ) {
- //console.debug('Broadway', 'handleMouseOver()', opts);
- sendInput('e', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState, GDK_CROSSING_NORMAL]);
- }
- return true;
- }
-
- function handleMouseOut(id, ev, opts) {
- updateForEvent(ev);
- var cid = getRelativeLayer(id, ev, opts);
- if ( surfaces[id] ) {
- //console.debug('Broadway', 'handleMouseOut()', opts);
- sendInput('l', [id, cid, ev.pageX, ev.pageY, opts.mx, opts.my, lastState, GDK_CROSSING_NORMAL]);
- }
- return true;
- }
-
- function handleResize(ev) {
- if ( connected ) {
- sendInput('d', [window.innerWidth, window.innerHeight]);
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // API
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * On message() in socket
- */
- function onSocketMessage(message) {
- var cmd = new BinCommands(message);
- outstandingCommands.push(cmd);
- if ( outstandingCommands.length === 1 ) {
- handleOutstanding();
- }
- }
-
- /**
- * Connects to Broadway server
- */
- function connect(hostname, cb, cbclose) {
- cb = cb || function() {};
- cbclose = cbclose || function() {};
-
- function onSocketOpen() {
- connected = true;
-
- handleResize();
-
- if ( globalOpts.onSocketOpen ) {
- globalOpts.onSocketOpen();
- }
-
- cb(false);
- }
-
- function onSocketClose() {
- if ( globalOpts.onSocketClose ) {
- globalOpts.onSocketClose();
- }
- }
-
- console.info('Broadway', 'Connecting to', hostname);
- connection = new WebSocket(hostname, 'broadway');
- connection.binaryType = 'arraybuffer';
-
- connection.onerror = function() {
- if ( !connected ) {
- cb('Connection timeout?');
- }
- };
-
- connection.onopen = function() {
- inputSocket = connection;
-
- onSocketOpen();
- };
- connection.onclose = function() {
- onSocketClose();
-
- connection = null;
- inputSocket = null;
-
- cbclose();
- };
- connection.onmessage = function(ev) {
- onSocketMessage(ev.data);
- };
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- window.GTK = window.GTK || {};
-
- window.GTK.disconnect = function() {
- if ( connection && connected ) {
- connection.close();
- }
-
- Object.keys(surfaces).forEach(function(i) {
- if ( i && surfaces[i] ) {
- if ( globalOpts.onDeleteSurface ) {
- globalOpts.onDeleteSurface(i);
- }
- }
- });
-
- connected = false;
- surfaces = {};
- lastTimeStamp = 0;
- lastState = null;
- keyDownList = [];
- lastSerial = 0;
- outstandingCommands = [];
-
- connection.onclose();
- };
-
- /**
- * Connect to broadway
- *
- * Available callbacks in opts:
- *
- * onImageData REQUIRED Return your canvas object here
- *
- * onCreateSurface
- * onShowSurface
- * onHideSurface
- * onSetTransient
- * onDeleteSurface
- * onMoveSurface
- * onFlushSurface
- *
- * onSocketOpen
- * onSocketClose
- *
- */
- window.GTK.connect = function(host, opts, cb, cbclose) {
- if ( connection ) {
- console.error('Broadway', 'Only one connection allowed!');
- return;
- }
-
- globalOpts = opts || {};
- connect(host, cb, cbclose);
- };
-
- /**
- * Closes a surface
- */
- window.GTK.close = function(id) {
- closeSurface(id);
- }
-
- /**
- * Moves a surface
- */
- window.GTK.move = function(id, x, y) {
- moveSurface(id, x, y);
- };
-
- /**
- * Resizes a surface
- */
- window.GTK.resize = function(id, w, h) {
- resizeSurface(id, w, h);
- };
-
- /**
- * Inject keyboard/mouse event
- */
- window.GTK.inject = function(id, type, ev, opts) {
- if ( !connection ) {
- console.error('Broadway', 'No connections created!');
- return false;
- }
-
- switch ( type ) {
- case 'resize' :
- return handleResize();
- break;
-
- case 'mousewheel' :
- return handleMouseWheel(id, ev, opts);
- break;
-
- case 'mousemove' :
- return handleMouseMove(id, ev, opts);
- break;
-
- case 'mousedown' :
- return handleMouseDown(id, ev, opts);
- break;
-
- case 'mouseup' :
- return handleMouseUp(id, ev, opts);
- break;
-
- case 'keypress' :
- return handleKeyPress(id, ev, opts);
- break;
-
- case 'keyup' :
- return handleKeyUp(id, ev, opts);
- break;
-
- case 'keydown' :
- return handleKeyDown(id, ev, opts);
- break;
-
- case 'mouseout' :
- return handleMouseOver(id, ev, opts);
- break;
-
- case 'mouseover' :
- return handleMouseOver(id, ev, opts);
- break;
-
- default:
- console.warn('Broadway', 'inject()', 'invalid type', type);
- break;
- }
-
- return true;
- };
-
-})();
diff --git a/build/htdocs/dist/packages/default/Broadway/extension.css b/build/htdocs/dist/packages/default/Broadway/extension.css
deleted file mode 100644
index eba6275..0000000
--- a/build/htdocs/dist/packages/default/Broadway/extension.css
+++ /dev/null
@@ -1,19 +0,0 @@
-
-/*.Window_BroadwayConnectionWindow .WindowWrapper {
-}
-
-.Window_BroadwayConnectionWindow .WindowWrapper {
-}*/
-
-.Window_BroadwayConnectionWindow .WindowWrapper .supported {
- color : #33dd33;
-}
-
-.Window_BroadwayConnectionWindow .WindowWrapper .unsupported {
- color : #dd3333;
-}
-
-.Window_BroadwayConnectionWindow .WindowWrapper > * {
- margin : 10px;
-}
-
diff --git a/build/htdocs/dist/packages/default/Broadway/extension.js b/build/htdocs/dist/packages/default/Broadway/extension.js
deleted file mode 100644
index e9e053b..0000000
--- a/build/htdocs/dist/packages/default/Broadway/extension.js
+++ /dev/null
@@ -1,459 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Window, Utils, API, GUI) {
- 'use strict';
-
- var _isConnected = false;
- var _connWindow = null;
- var _scheme = null;
-
- function createConnectionWindow() {
- if ( _connWindow ) { return; }
-
- function addWindow() {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- _connWindow = new BroadwayConnectionWindow(_scheme);
- wm.addWindow(_connWindow, true);
- }
- }
-
- if ( _scheme ) {
- addWindow();
- return;
- }
-
- var url = API.getApplicationResource('ExtensionBroadway', 'scheme.html');
- var scheme = GUI.createScheme(url);
- scheme.load(function(error, result) {
- if ( result ) {
- _scheme = scheme;
- addWindow();
- }
- });
- }
-
- function destroyConnectionWindow() {
- if ( _connWindow ) {
- _connWindow._close();
- _connWindow = null;
- }
- }
-
- function createNotification() {
- var wm = OSjs.Core.getWindowManager();
-
- function displayMenu(ev) {
- var menuItems = [];
- if ( _isConnected ) {
- menuItems.push({
- title: 'Disconnect from Broadway server',
- onClick: function() {
- window.GTK.disconnect();
- }
- });
- } else {
- menuItems.push({
- title: 'Connect to Broadway server',
- onClick: function() {
- createConnectionWindow();
- }
- });
- }
-
- OSjs.API.createMenu(menuItems, ev);
- }
-
- if ( wm ) {
- removeNotification();
-
- wm.createNotificationIcon('BroadwayService', {
- image: API.getIcon('status/network-transmit-receive.png'),
- onContextMenu: function(ev) {
- displayMenu(ev);
- return false;
- },
- onClick: function(ev) {
- displayMenu(ev);
- return false;
- }
- });
- }
- }
-
- function removeNotification() {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.removeNotificationIcon('BroadwayService');
- }
- }
-
- function actionOnWindow(id, cb) {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- var win = wm.getWindow('BroadwayWindow' + id);
- if ( win ) {
- return cb(win);
- }
- }
- return null;
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // CLIENT WINDOW
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * Main Window Constructor
- */
- var BroadwayConnectionWindow = function(scheme) {
- Window.apply(this, ['BroadwayConnectionWindow', {
- title: 'Broadway Client',
- allow_maximize: false,
- allow_reszie: false,
- gravity: 'center',
- width: 400,
- height: 250
- }, null, scheme]);
- };
-
- BroadwayConnectionWindow.prototype = Object.create(Window.prototype);
-
- BroadwayConnectionWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
- var self = this;
-
- var supported = OSjs.Helpers.Broadway ? true : false;
- var lbl = 'Broadway support is ' + (supported ? 'loaded' : 'not loaded');
- var ws;
-
- scheme.render(this, 'ConnectionWindow', root);
-
- var connectInput = scheme.find(this, 'GtkConnection').set('disabled', !supported);
- var procConnection = scheme.find(this, 'ProcConnection').set('disabled', !supported);
- var connectButton = scheme.find(this, 'ConnectButton').set('disabled', !supported);
-
- var procInput = scheme.find(this, 'StartProc').set('disabled', true);
- var procButton = scheme.find(this, 'StartButton').set('disabled', true);
-
- var statusText = scheme.find(this, 'StatusText').set('value', lbl);
-
- connectButton.on('click', function() {
- if ( self._destroyed ) { return; }
-
- if ( ws ) {
- ws.close();
- ws = null;
- }
-
- ws = new WebSocket(procConnection.get('value'), 'broadway-spawner');
- ws.onerror = function() {
- alert('Failed to connect to spawner');
- };
- ws.onopen = function() {
- if ( self._destroyed ) { return; }
- procButton.set('disabled', false);
- };
- ws.onclose = function() {
- if ( self._destroyed ) { return; }
- procButton.set('disabled', true);
- };
-
- connectButton.set('disabled', true);
- statusText.set('value', 'Connecting...');
-
- OSjs.Helpers.Broadway.init(connectInput.get('value'), function(error) {
- if ( self._destroyed ) { return; }
-
- if ( error ) {
- console.warn('BroadwayClient', error);
- statusText.set('value', error);
- connectButton.set('disabled', false);
- } else {
- procInput.set('disabled', false);
- connectButton.set('disabled', true);
- statusText.set('value', 'Connected!');
- }
- }, function() {
- if ( self._destroyed ) { return; }
-
- statusText.set('value', 'Disconnecting...');
- connectButton.set('disabled', false);
- procInput.set('disabled', true);
-
- if ( ws ) {
- ws.close();
- ws = null;
- }
- });
- });
-
- procButton.on('click', function() {
- if ( self._destroyed ) { return; }
- if ( ws ) {
- ws.send(JSON.stringify({
- method: 'launch',
- argument: procInput.get('value')
- }));
- }
- });
-
- return root;
- };
-
- BroadwayConnectionWindow.prototype.destroy = function() {
- _connWindow = null;
- return Window.prototype.destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // BROADWAY WINDOW
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * Dialog Window
- */
- var BroadwayWindow = function(id, x, y, w, h) {
- Window.apply(this, ['BroadwayWindow' + id, {
- w: w,
- h: h,
- title: 'Broadway Window ' + id.toString(),
- min_width: 100,
- min_height: 100,
- allow_resize: false,
- allow_minimize: false,
- allow_maximize: false,
- allow_session: false,
- key_capture: true // IMPORTANT
- }]);
-
- this._broadwayId = id;
- this._canvas = document.createElement('canvas');
- };
-
- BroadwayWindow.prototype = Object.create(Window.prototype);
-
- BroadwayWindow.prototype.init = function() {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- this._canvas.width = this._dimension.w;
- this._canvas.height = this._dimension.h;
-
-
- function getMousePos(ev) {
- return {
- x:ev.pageX - self._position.x,
- y:ev.pageY - self._position.y - 26 // FIXME
- };
- }
-
- function inject(type, ev) {
- var pos = getMousePos(ev);
- return window.GTK.inject(self._broadwayId, type, ev, {
- wx: self._position.x,
- wy: self._position.y,
- mx: parseInt(pos.x, 0),
- my: parseInt(pos.y, 0)
- });
- }
-
- Utils.$bind(root, 'mouseover', function(ev) {
- return inject('mouseover', ev);
- });
- Utils.$bind(root, 'mouseout', function(ev) {
- return inject('mouseout', ev);
- });
- Utils.$bind(root, 'mousemove', function(ev) {
- return inject('mousemove', ev);
- });
- Utils.$bind(root, 'mousedown', function(ev) {
- return inject('mousedown', ev);
- });
- Utils.$bind(root, 'mouseup', function(ev) {
- return inject('mouseup', ev);
- });
- Utils.$bind(root, 'DOMMouseScroll', function(ev) {
- return inject('mousewheel', ev);
- });
- Utils.$bind(root, 'mousewheel', function(ev) {
- return inject('mousewheel', ev);
- });
-
- root.appendChild(this._canvas);
- return root;
- };
-
- BroadwayWindow.prototype.destroy = function() {
- Window.prototype.destroy.apply(this, arguments);
- this._canvas = null;
- };
-
- BroadwayWindow.prototype._inited = function() {
- Window.prototype._inited.apply(this, arguments);
-
- this._onChange('move', true);
- };
-
- BroadwayWindow.prototype._close = function() {
- if ( !Window.prototype._close.apply(this, arguments) ) {
- return false;
- }
-
- window.GTK.close(this._broadwayId);
-
- return true;
- };
-
- BroadwayWindow.prototype._resize = function(w, h) {
- if ( !Window.prototype._resize.apply(this, [w, h, true]) ) {
- return false;
- }
-
- function resizeCanvas(canvas, w, h) {
- var tmpCanvas = canvas.ownerDocument.createElement("canvas");
- tmpCanvas.width = canvas.width;
- tmpCanvas.height = canvas.height;
- var tmpContext = tmpCanvas.getContext("2d");
- tmpContext.globalCompositeOperation = "copy";
- tmpContext.drawImage(canvas, 0, 0, tmpCanvas.width, tmpCanvas.height);
-
- canvas.width = w;
- canvas.height = h;
-
- var context = canvas.getContext("2d");
-
- context.globalCompositeOperation = "copy";
- context.drawImage(tmpCanvas, 0, 0, tmpCanvas.width, tmpCanvas.height);
- }
-
- if ( this._canvas ) {
- resizeCanvas(this._canvas, w, h);
- }
-
- return true;
- };
-
- BroadwayWindow.prototype._onKeyEvent = function(ev, type) {
- window.GTK.inject(this._broadwayId, type, ev);
- };
-
- BroadwayWindow.prototype._onChange = function(ev, byUser) {
- if ( !byUser ) { return; }
-
- if ( ev === 'move' ) {
- window.GTK.move(this._broadwayId, this._position.x, this._position.y);
- } else if ( ev === 'resize' ) {
- window.GTK.resize(this._broadwayId, this._dimension.w, this._dimension.h);
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.API.addHook('onSessionLoaded', function() {
- createNotification();
- });
- OSjs.API.addHook('onLogout', function() {
- removeNotification();
- destroyConnectionWindow();
- });
-
- OSjs.Helpers.Broadway = {};
- OSjs.Helpers.Broadway.init = function(host, cb, cbclose) {
- window.GTK.connect(host, {
- onSocketOpen: function() {
- _isConnected = true;
- createNotification();
- },
-
- onSocketClose: function() {
- _isConnected = false;
- createNotification();
- },
-
- onSetTransient: function(id, parentId, surface) {
- return actionOnWindow(parentId, function(win) {
- if ( win._canvas && surface.canvas ) {
- if ( win._canvas.parentNode ) {
- win._canvas.parentNode.appendChild(surface.canvas);
- }
- }
- });
- },
-
- onFlushSurface: function(id, q) {
- return actionOnWindow(id, function(win) {
- return win._canvas;
- });
- },
-
- onDeleteSurface: function(id) {
- return actionOnWindow(id, function(win) {
- return win._close();
- });
- },
-
- onShowSurface: function(id) {
- return actionOnWindow(id, function(win) {
- return win._restore();
- });
- },
-
- onHideSurface: function(id) {
- return actionOnWindow(id, function(win) {
- return win._minimize();
- });
- },
-
- onMoveSurface: function(id, has_pos, has_size, surface) {
- return actionOnWindow(id, function(win) {
- /*
- if ( has_pos ) {
- win._move(x, y);
- }
- */
- if ( has_size ) {
- win._resize(surface.width, surface.height);
- }
- });
- },
-
- onCreateSurface: function(id, surface) {
- var wm = OSjs.Core.getWindowManager();
- var win = new BroadwayWindow(id, surface.x, surface.y, surface.width, surface.height);
- wm.addWindow(win);
- return win._canvas;
- }
-
- }, cb, cbclose);
- };
-
-})(OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Broadway/metadata.json b/build/htdocs/dist/packages/default/Broadway/metadata.json
deleted file mode 100644
index 82682ec..0000000
--- a/build/htdocs/dist/packages/default/Broadway/metadata.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "className": "ExtensionBroadway",
- "type": "extension",
- "enabled": false,
- "config": {},
- "build": {
- "copy": [
- "scheme.html",
- "metadata.json",
- "broadway.js",
- "extension.js",
- "extension.css",
- "api.php"
- ]
- },
- "sources": [
- {
- "type": "javascript",
- "src": "packages/default/Broadway/broadway.js"
- },
- {
- "type": "stylesheet",
- "src": "packages/default/Broadway/extension.css"
- },
- {
- "type": "javascript",
- "src": "packages/default/Broadway/extension.js"
- }
- ],
- "path": "default/Broadway",
- "repo": "default",
- "preload": []
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Broadway/scheme.html b/build/htdocs/dist/packages/default/Broadway/scheme.html
deleted file mode 100644
index acd5375..0000000
--- a/build/htdocs/dist/packages/default/Broadway/scheme.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- Start new process
-
-
- ws://10.0.0.113:8085/socket-bin
-
-
- ws://10.0.0.113:9000
-
-
- Connect
-
-
-
-
- Start new process
-
-
- /usr/bin/gtk3-demo
-
-
- Launch
-
-
-
-
- Checking broadway support...
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Calculator/combined.css b/build/htdocs/dist/packages/default/Calculator/combined.css
deleted file mode 100644
index bc6be18..0000000
--- a/build/htdocs/dist/packages/default/Calculator/combined.css
+++ /dev/null
@@ -1,142 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationCalculatorWindow {
-}*/
-
-.ApplicationCalculatorWindow gui-text {
- display : block;
- margin : 8px;
- height : 50px;
-}
-
-.ApplicationCalculatorWindow gui-text > input {
- font-size : 30px;
- font-family : Monospace;
- line-height : 50px;
- text-align : right;
-}
-
-.ApplicationCalculatorWindow.noop {
- opacity : .1;
-}
-
-.ApplicationCalculatorWindow.NaN {
- -webkit-animation:CalculatorSuck 3s linear;
- -moz-animation:CalculatorSuck 3s linear;
- -ms-animation:CalculatorSuck 3s linear;
- -o-animation:CalculatorSuck 3s linear;
- animation:CalculatorSuck 3s linear;
-}
-
-@-webkit-keyframes CalculatorSuck {
- 100% {
- -webkit-transform: scale(0) rotate(360deg);
- transform: scale(0) rotate(360deg);
- -webkit-opacity: 0;
- }
-
- 50% {
- -webkit-transform: scale(.5) rotate(180deg);
- transform: scale(.5) rotate(180deg);
- }
-
- 10% {
- -webkit-transform: scale(1.5) rotate(0deg);
- transform: scale(1.5) rotate(0deg);
- }
-
- 0% {
- -webkit-opacity: 1;
- }
-}
-
-@-moz-keyframes CalculatorSuck {
- 100% {
- -moz-transform: scale(0) rotate(360deg);
- transform: scale(0) rotate(360deg);
- -moz-opacity: 0;
- }
-
- 50% {
- -moz-transform: scale(.5) rotate(180deg);
- transform: scale(.5) rotate(180deg);
- }
-
- 10% {
- -moz-transform: scale(1.5) rotate(0deg);
- transform: scale(1.5) rotate(0deg);
- }
-
- 0% {
- -moz-opacity: 1;
- }
-}
-
-@-o-keyframes CalculatorSuck {
- 100% {
- -o-transform: scale(0) rotate(360deg);
- transform: scale(0) rotate(360deg);
- -o-opacity: 0;
- }
-
- 50% {
- -o-transform: scale(.5) rotate(180deg);
- transform: scale(.5) rotate(180deg);
- }
-
- 10% {
- -o-transform: scale(1.5) rotate(0deg);
- transform: scale(1.5) rotate(0deg);
- }
-
- 0% {
- -o-opacity: 1;
- }
-}
-
-@keyframes CalculatorSuck {
- 100% {
- transform: scale(0) rotate(360deg);
- opacity: 0;
- }
-
- 50% {
- transform: scale(.5) rotate(180deg);
- }
-
- 10% {
- transform: scale(1.5) rotate(0deg);
- }
-
- 0% {
- opacity: 1;
- }
-}
diff --git a/build/htdocs/dist/packages/default/Calculator/combined.js b/build/htdocs/dist/packages/default/Calculator/combined.js
deleted file mode 100644
index 150eb27..0000000
--- a/build/htdocs/dist/packages/default/Calculator/combined.js
+++ /dev/null
@@ -1,256 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- /*eslint eqeqeq: "off"*/
- 'use strict';
-
- var ops = {
- dec : '.',
- perc : '%',
- minus : '-',
- plus : '+',
- multiply : '*',
- divide : '/'
- };
-
- var keys = {
- 107: 'plus',
- 109: 'minus',
- 106: 'multiply',
- 111: 'divide',
- 110: 'dec',
- 188: 'dec',
- 13: 'equal',
- 47: 'divide',
- 46: 'CE',
- 45: 'minus',
- 44: 'dec',
- 43: 'plus',
- 42: 'multiply',
- 27: 'CE',
- 8: 'nbs'
- };
-
- var labels = {
- 'CE' : 'CE', 'AC' : 'AC', 'perc' : '%', 'plus' : '+',
- '7' : '7', '8' : '8', '9' : '9', 'minus' : '-',
- '4' : '4', '5' : '5', '6' : '6', 'multiply' : 'x',
- '1' : '1', '2' : '2', '3' : '3', 'divide' : '÷',
- '0' : '0', 'swap': '±', 'dec' : ',', 'equal' : '='
- };
-
- var buttons = [
- ['CE', 'AC', 'perc', 'plus'],
- ['7', '8', '9', 'minus'],
- ['4', '5', '6', 'multiply'],
- ['1', '2', '3', 'divide'],
- ['0', 'dec', 'equal']
- ];
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationCalculatorWindow(app, metadata, scheme) {
- Window.apply(this, ['ApplicationCalculatorWindow', {
- icon: metadata.icon,
- title: metadata.name,
- allow_resize: false,
- allow_maximize: false,
- width: 220,
- height: 340
- }, app, scheme]);
-
- this.total = 0;
- this.entries = [];
- this.temp = '';
- }
-
- ApplicationCalculatorWindow.prototype = Object.create(Window.prototype);
- ApplicationCalculatorWindow.constructor = Window.prototype;
-
- ApplicationCalculatorWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
- var self = this;
-
- // Load and gel.set up scheme (GUI) here
- scheme.render(this, 'CalculatorWindow', root);
-
- this._scheme.find(this, 'Output').on('keypress', function(ev) {
- ev.stopPropagation();
- ev.preventDefault();
-
- var keyCode = ev.which || ev.keyCode;
- if ( (keyCode > 95) && (keyCode < 106) ) {
- self.operation(keyCode - 96);
- } else if ( (keyCode > 47) && (keyCode < 58) ) {
- self.operation(keyCode - 48);
- } else {
- if ( typeof keys[keyCode] !== 'undefined' ) {
- self.operation(keys[keyCode]);
- }
- }
- }).set('readonly', true).focus();
-
- root.querySelectorAll('gui-button').forEach(function(el, idx) {
- var r = parseInt(idx / 4, 10);
- var c = idx % 4;
- var op = buttons[r][c];
-
- el = scheme.get(el);
- el.set('value', labels[op] || '');
- if ( op === null ) {
- Utils.$addClass(el.$element, 'noop');
- el.set('disabled', true);
- } else {
- el.on('click', function() {
- self.operation(op);
- });
- }
- });
-
- return root;
- };
-
- ApplicationCalculatorWindow.prototype.operation = function(val) {
- var self = this;
-
- if (this.temp == '' && ['plus', 'minus', 'multiply', 'divide'].indexOf(val) !== -1) {
- this.temp = this._scheme.find(this, 'Output').get('value');
- }
-
- function getAnswer() {
- var nt = Number(self.entries[0]);
-
- for ( var i = 1; i < self.entries.length; i++ ) {
- var nextNum = Number(self.entries[i + 1]);
- var symbol = self.entries[i];
- if (symbol === '+') {
- nt += nextNum;
- } else if ( symbol === '-' ) {
- nt -= nextNum;
- } else if ( symbol === '*' ) {
- nt *= nextNum;
- } else if ( symbol === '/' ) {
- nt /= nextNum;
- }
- i++;
- }
-
- if ( nt < 0 ) {
- nt = '-' + Math.abs(nt);
- }
-
- return nt;
- }
-
- var output = (function() {
- // Kudos http://codepen.io/GeoffStorbeck/pen/zxgaqw
-
- if ( !isNaN(val) || val === 'dec' ) { // Number
- self.temp += val === 'dec' ? ops[val] : val;
-
- return self.temp.substring(0,10);
- } else if ( val === 'AC' ) { // Clear
- self.entries = [];
- self.temp = '';
- self.total = 0;
-
- return '';
- } else if ( val === 'CE' ) { // Clear Last Entry
- self.temp = '';
-
- return '';
- } else if ( val === 'equal' ) { // Equal
- self.entries.push(self.temp);
-
- var nt = getAnswer();
- self.entries = [];
- self.temp = '';
-
- return nt;
- } else {
- if ( typeof ops[val] !== 'undefined' ) {
- val = ops[val];
- }
-
- self.entries.push(self.temp);
- self.entries.push(val);
- self.temp = '';
- }
-
- return null;
- })();
-
- if ( output !== null ) {
- if ( !String(output).length ) {
- output = String(0);
- }
-
- if ( output === 'NaN' || output === 'Infinity' || isNaN(output) || !isFinite(output) ) {
- Utils.$addClass(this._$element, 'NaN');
-
- setTimeout(function() {
- Utils.$removeClass(self._$element, 'NaN');
- }, 3000);
- }
-
- this._scheme.find(this, 'Output').set('value', String(output));
- }
-
- this._scheme.find(this, 'Output').focus();
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationCalculator = function(args, metadata) {
- Application.apply(this, ['ApplicationCalculator', args, metadata]);
- };
-
- ApplicationCalculator.prototype = Object.create(Application.prototype);
- ApplicationCalculator.constructor = Application;
-
- ApplicationCalculator.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.apply(this, arguments);
-
- this._addWindow(new ApplicationCalculatorWindow(this, metadata, scheme));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationCalculator = OSjs.Applications.ApplicationCalculator || {};
- OSjs.Applications.ApplicationCalculator.Class = Object.seal(ApplicationCalculator);
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Calculator/metadata.json b/build/htdocs/dist/packages/default/Calculator/metadata.json
deleted file mode 100644
index e5d0756..0000000
--- a/build/htdocs/dist/packages/default/Calculator/metadata.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "className": "ApplicationCalculator",
- "name": "Calculator",
- "names": {
- "bg_Bg": "Клакулатор",
- "fr_FR": "Calculatrice",
- "it_IT": "Calcolatrice",
- "ko_KR": "계산기",
- "nl_NL": "Rekenmachine",
- "no_NO": "Kalkulator",
- "pl_PL": "Kalkulator",
- "ru_RU": "Калькулятор",
- "sk_SK": "Kalkulačka",
- "tr_TR": "Hesap Makinesi",
- "vi_VN": "Máy tính"
- },
- "icon": "apps/calc.png",
- "category": "office",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Calculator",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Calculator/scheme.html b/build/htdocs/dist/packages/default/Calculator/scheme.html
deleted file mode 100644
index fbcf971..0000000
--- a/build/htdocs/dist/packages/default/Calculator/scheme.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
- 0
-
-
-
-
-
-
- X
-
-
- X
-
-
- X
-
-
- X
-
-
-
-
-
- X
-
-
- X
-
-
- X
-
-
- X
-
-
-
-
-
- X
-
-
- X
-
-
- X
-
-
- X
-
-
-
-
-
- X
-
-
- X
-
-
- X
-
-
- X
-
-
-
-
-
- X
-
-
- X
-
-
- X
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/CoreWM/animations.css b/build/htdocs/dist/packages/default/CoreWM/animations.css
deleted file mode 100644
index 8134b98..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/animations.css
+++ /dev/null
@@ -1,225 +0,0 @@
-
-/* Animations */
-@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
-@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
-@-o-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
-@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
-
-@-webkit-keyframes fadeOut { from { opacity:1; } to { opacity:0; } }
-@-moz-keyframes fadeOut { from { opacity:1; } to { opacity:0; } }
-@-o-keyframes fadeOut { from { opacity:1; } to { opacity:0; } }
-@keyframes fadeOut { from { opacity:1; } to { opacity:0; } }
-
-@-webkit-keyframes windowloadinganim {
- to {
- -webkit-transform: rotate( 180deg );
- }
-}
-@-moz-keyframes windowloadinganim {
- to {
- -moz-transform: rotate( 180deg );
- }
-}
-@-o-keyframes windowloadinganim {
- to {
- -o-transform: rotate( 180deg );
- }
-}
-@keyframes windowloadinganim {
- to {
- transform: rotate( 180deg );
- }
-}
-
-@-webkit-keyframes show {
- 50% { -webkit-transform: scale(1.03); }
-}
-@-moz-keyframes show {
- 50% { -moz-transform: scale(1.03); }
-}
-@keyframes show {
- 50% { transform: scale(1.03); }
-}
-
-@-webkit-keyframes hide {
- 50% { -webkit-transform: scale(0.97); }
- 100% { opacity: 0; -webkit-transform: scale(0.90); }
-}
-@-moz-keyframes hide {
- 50% { -moz-transform: scale(0.97); }
- 100% { opacity: 0; -moz-transform: scale(0.90); }
-}
-@keyframes hide {
- 50% { transform: scale(0.97); }
- 100% { opacity: 0; transform: scale(0.90); }
-}
-
-@-webkit-keyframes pulse {
- 0% {-webkit-transform: scale(0.95); opacity: 0;}
- 8% {-webkit-transform: scale(1.0); opacity: 0;}
- 15% {-webkit-transform: scale(1.001); opacity: 1;}
- 30% {-webkit-transform: scale(1.005); opacity: 1;}
- 100% {opacity: 0; -webkit-transform: scale(1);}
-}
-@-moz-keyframes pulse {
- 0% {-moz-transform: scale(0.95); opacity: 0;}
- 8% {-moz-transform: scale(1.0); opacity: 0;}
- 15% {-moz-transform: scale(1.001); opacity: 1;}
- 30% {-moz-transform: scale(1.005); opacity: 1;}
- 100% {opacity: 0; -moz-transform: scale(1);}
-}
-@keyframes pulse {
- 0% {transform: scale(0.95); opacity: 0;}
- 8% {transform: scale(1.0); opacity: 0;}
- 15% {transform: scale(1.001); opacity: 1;}
- 30% {transform: scale(1.005); opacity: 1;}
- 100% {opacity: 0; transform: scale(1);}
-}
-
-@-webkit-keyframes pulseback {
- 50% { opacity: .35; }
-}
-@-moz-keyframes pulseback {
- 50% { opacity: .35; }
-}
-@keyframes pulseback {
- 50% { opacity: .35; }
-}
-
-@-webkit-keyframes attention {
- 0% { -webkit-transform: scale(1); }
- 30% { -webkit-transform: scale(1); }
- 40% { -webkit-transform: scale(1.02); }
- 50% { -webkit-transform: scale(1); }
- 60% { -webkit-transform: scale(1); }
- 70% { -webkit-transform: scale(1.005); }
- 80% { -webkit-transform: scale(1); }
- 100% { -webkit-transform: scale(1); }
-}
-@-moz-keyframes attention {
- 0% { -moz-transform: scale(1); }
- 30% { -moz-transform: scale(1); }
- 40% { -moz-transform: scale(1.02); }
- 50% { -moz-transform: scale(1); }
- 60% { -moz-transform: scale(1); }
- 70% { -moz-transform: scale(1.005); }
- 80% { -moz-transform: scale(1); }
- 100% { -moz-transform: scale(1); }
-}
-@keyframes attention {
- 0% { transform: scale(1); }
- 30% { transform: scale(1); }
- 40% { transform: scale(1.02); }
- 50% { transform: scale(1); }
- 60% { transform: scale(1); }
- 70% { transform: scale(1.005); }
- 80% { transform: scale(1); }
- 100% { transform: scale(1); }
-}
-
-/* Windows */
-application-window {
- -webkit-animation: show .3s;
- -moz-animation: show .3s;
- -ms-animation: show .3s;
- animation: show .3s;
-
- -webkit-transition: height 0.3s ease-in-out, width 0.3s, top 0.3s, left 0.3s;
- -moz-transition: height 0.3s ease-in-out, width 0.3s, top 0.3s, left 0.3s;
- -ms-transition: height 0.3s ease-in-out, width 0.3s, top 0.3s, left 0.3s;
- -o-transition: height 0.3s ease-in-out, width 0.3s, top 0.3s, left 0.3s;
- transition: height 0.3s ease-in-out, width 0.3s, top 0.3s, left 0.3s;
-}
-application-window[data-hint="resizing"],
-application-window[data-hint="moving"] {
- -webkit-transition: none;
- -moz-transition: none;
- -ms-transition: none;
- -o-transition: none;
- transition: none;
-}
-
-application-window[data-hint="closing"],
-application-window[data-minimized="true"] {
- -webkit-animation: hide .3s;
- -moz-animation: hide .3s;
- -ms-animation: hide .3s;
- animation: hide .3s;
-
- -webkit-animation-fill-mode: forwards;
- -moz-animation-fill-mode: forwards;
- -ms-animation-fill-mode: forwards;
- -o-animation-fill-mode: forwards;
- animation-fill-mode: forwards;
-}
-
-.WindowDropRect {
- -webkit-animation: pulse 2s linear infinite;
- -moz-animation: pulse 2s linear infinite;
- -ms-animation: pulse 2s linear infinite;
- animation: pulse 2s linear infinite;
-
- border-image: initial;
-}
-
-.WindowAttentionBlink {
- -webkit-animation: attention 2s linear infinite;
- -moz-animation: attention 2s linear infinite;
- -ms-animation: attention 2s linear infinite;
- animation: attention 2s linear infinite;
-}
-
-
-/* Desktop */
-body[data-attention="true"]:after {
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- opacity : 0;
-
- -webkit-animation: pulseback 2s linear infinite;
- -moz-animation: pulseback 2s linear infinite;
- -ms-animation: pulseback 2s linear infinite;
- animation: pulseback 2s linear infinite;
-}
-
-/* Panel */
-corewm-panel {
- -webkit-transition: all .3s ease-in-out;
- -moz-transition: all .3s ease-in-out;
- -ms-transition: all .3s ease-in-out;
- -o-transition: all .3s ease-in-out;
- transition: all .3s ease-in-out;
-}
-
-corewm-panel .Button.Attention {
- -webkit-animation: attention 2s linear infinite;
- -moz-animation: attention 2s linear infinite;
- -ms-animation: attention 2s linear infinite;
- animation: attention 2s linear infinite;
-}
-
-/* Menus */
-gui-menu,
-corewm-notification-entry {
- -webkit-animation: fadeIn .3s;
- -moz-animation: fadeIn .3s;
- -ms-animation: fadeIn .3s;
- animation: fadeIn .3s;
-}
-gui-menu[data-hint="closing"],
-corewm-notification[data-hint="closing"] {
- -webkit-animation: fadeOut .3s;
- -moz-animation: fadeOut .3s;
- -ms-animation: fadeOut .3s;
- animation: fadeOut .3s;
-
- -webkit-animation-fill-mode: forwards;
- -moz-animation-fill-mode: forwards;
- -ms-animation-fill-mode: forwards;
- -o-animation-fill-mode: forwards;
- animation-fill-mode: forwards;
-}
-
diff --git a/build/htdocs/dist/packages/default/CoreWM/combined.css b/build/htdocs/dist/packages/default/CoreWM/combined.css
deleted file mode 100644
index f9bef36..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/combined.css
+++ /dev/null
@@ -1,672 +0,0 @@
-application-window-top .WindowFrost {
- position : absolute;
- top : 0;
- left : 0;
- width : 100%;
- height : 100%;
- -webkit-filter : blur(4px);
- opacity : .5;
-}
-
-/**
- * Default Wallpaper stuff
- */
-body[data-background-style="color"] {
- background-image : none;
-}
-body[data-background-style="default"] {
- background-repeat : repeat;
-}
-body[data-background-style="normal"] {
- background-repeat : no-repeat;
-}
-body[data-background-style="center"] {
- background-repeat : no-repeat;
- background-position : center center;
-}
-body[data-background-style="fill"] {
- background-repeat : no-repeat;
- background-size : cover;
- background-position : center center;
- /*
- background-attachment : fixed;
- */
-}
-body[data-background-style="strech"] {
- background-repeat : no-repeat;
- background-size : 100% auto;
-}
-
-/**
- * ===========================================================================
- * NOTIFICATIONS
- * ===========================================================================
- */
-
-corewm-notifications {
- position : absolute;
- top : 0;
- right : 0;
- z-index : 10000000;
- width : 400px;
-}
-
-corewm-notification {
- display : block;
- position : relative;
- min-height : 10px;
- overflow : hidden;
- white-space : nowrap;
-}
-corewm-notification.HasIcon {
- min-height : 32px;
-}
-corewm-notification.HasIcon img {
- position : absolute;
-}
-corewm-notification.HasIcon .Title,
-corewm-notification.HasIcon .Message {
- margin-left : 32px;
- padding-left : 5px;
- white-space: -moz-pre-wrap;
- white-space: -o-pre-wrap;
- white-space: -pre-wrap;
- white-space: pre-wrap;
- word-wrap: break-word;
-}
-corewm-notification:before {
- content : '';
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : -1;
-}
-
-/**
- * ===========================================================================
- * WINDOW SWITCHER
- * ===========================================================================
- */
-
-corewm-window-switcher {
- display : block;
- position : absolute;
- top : 50%;
- left : 50%;
- width : 256px;
- z-index : 999999;
- overflow : hidden;
- margin-left : -128px;
-}
-corewm-window-switcher > div {
- width : 256px;
- height : 32px;
- line-height : 32px;
- overflow : hidden;
-}
-corewm-window-switcher > div > img {
- vertical-align : middle;
- margin-right : 5px;
- margin-left : 5px;
- width : 16px;
-}
-
-/**
- * ===========================================================================
- * ICON VIEW
- * ===========================================================================
- */
-
-#CoreWMDesktopIconView {
- background : transparent !important;
- position : absolute;
- top : 10px;
- left : 10px;
- right : 10px;
- bottom : 10px;
- z-index : 1;
- border : 0 none !important;
- box-shadow : none !important;
- pointer-events : none;
- box-sizing : border-box;
-}
-
-#CoreWMDesktopIconView gui-icon-view-entry {
- pointer-events : all;
-}
-
-/**
- * ===========================================================================
- * APPLICATION MENU
- * ===========================================================================
- */
-
-#CoreWMApplicationMenu {
- z-index : 9999999999;
- position : absolute;
- left : 5%;
- right : 5%;
- top : 5% !important;
- bottom : 5%;
- width : 90%;
- height : 90%;
- overflow-x : hidden;
- overflow-y : auto;
- padding : 0;
- margin : 0;
- background : transparent;
- border : 0 none;
- box-shadow : none;
- text-align : center;
-}
-
-#CoreWMApplicationMenu:before {
- z-index : -1;
- position : fixed;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- overflow : hidden;
- background : rgba(0, 0, 0, .8);
- content : '';
-}
-
- #CoreWMApplicationMenu gui-menu-entry {
- width : 84px;
- height : 84px;
- padding : 4px;
- display : inline-block;
- overflow : hidden;
- line-height : 16px;
- position : relative;
- box-sizing : border-box;
- text-align : center;
- }
-
- #CoreWMApplicationMenu gui-menu-entry img {
- margin-top : 5px;
- width : 32px;
- height : 32px;
- }
-
- #CoreWMApplicationMenu gui-menu-entry div {
- white-space : normal;
- max-height : 30px;
- box-sizing : border-box;
- margin-top : 5px;
- color : #fff;
- }
-
-/**
- * ===========================================================================
- * PANELS
- * ===========================================================================
- */
-
-corewm-panel {
- display : block;
- position : absolute;
- overflow : hidden;
- z-index : 2;
- margin : 0;
- box-sizing : border-box;
-
- -webkit-user-select: none;
- -khtml-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-
- min-width : 16px;
- min-height : 16px;
-}
-
-corewm-panel[data-orientation="horizontal"] {
- top : 0;
- left : 0;
- right : 0;
-}
- corewm-panel[data-orientation="horizontal"] corewm-panel-item {
- height : 100%;
- }
- corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width : 100%;
- min-height : 16px;
- height : 16px;
- }
- corewm-panel[data-orientation="horizontal"] .corewm-panel-buttons {
- height : 100%;
- }
- corewm-panel[data-orientation="horizontal"] .corewm-panel-buttons > li {
- height : 100%;
- }
-
- corewm-panel[data-orientation="horizontal"] .corewm-panel-buttons > li > img {
- height : 100%;
- width : auto;
- }
-
-corewm-panel[data-orientation="vertical"] {
- left : 0;
- bottom : 0;
- top : 0;
-}
- corewm-panel[data-orientation="vertical"] corewm-panel-item {
- width : 100%;
- }
- corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height : 100%;
- min-width : 16px;
- width : 16px;
- flex-direction : column;
- }
- corewm-panel[data-orientation="vertical"] .corewm-panel-buttons {
- flex-direction : column;
- width : 100%;
- }
- corewm-panel[data-orientation="vertical"] .corewm-panel-buttons > li {
- max-width : 100%;
- width : 100%;
- }
- corewm-panel[data-orientation="vertical"] .corewm-panel-buttons > li > span {
- transform : rotate(90deg);
- }
- corewm-panel[data-orientation="vertical"] .corewm-panel-buttons > li > img {
- width : 100%;
- height : auto;
- }
-
-corewm-panel:before {
- content : '';
- display : block;
- position : absolute;
- top : 0;
- left : 0;
- right : 0;
- bottom : 0;
- z-index : 1;
-}
-
-corewm-panel[data-ontop="true"] {
- z-index : 9999998;
-}
-corewm-panel[data-position="bottom"] {
- top : auto;
- bottom : 0;
-}
-corewm-panel[data-autohide="true"] {
- height : 0;
-}
-corewm-panel[data-autohide="true"] > * {
- visibility : hidden;
-}
-
-corewm-panel-container {
- position : relative;
- z-index : 10;
-
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-
- justify-content: center;
-
- -ms-flex-align: center;
-
- -webkit-align-items: center;
- -moz-align-items: center;
- align-items: center;
-
- -webkit-box-align: center;
- -moz-box-align: center;
- -ms-box-align: center;
- -o-box-align: center;
- box-align: center;
-
- -webkit-flex-wrap: nowrap;
- -moz-flex-wrap: nowrap;
- -ms-flex-wrap: nowrap;
- -o-flex-wrap: nowrap;
- flex-wrap: nowrap;
-}
-
-corewm-panel-item {
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-
- box-sizing : border-box;
-
- -webkit-flex: 0 0 auto;
- -moz-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- -o-flex: 0 0 auto;
- flex: 0 0 auto;
-}
-
-corewm-panel-container > .corewm-panel-expand {
- -webkit-flex: 1 1 auto;
- -moz-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- -o-flex: 1 1 auto;
- flex: 1 1 auto;
-}
-corewm-panel-container > .corewm-panel-right {
- -webkit-justify-content : flex-end;
- -moz-justify-content : flex-end;
- -ms-justify-content : flex-end;
- -o-justify-content : flex-end;
- justify-content : flex-end;
-}
-
- corewm-panel-item .corewm-panel-buttons {
- list-style : none;
- margin : 0;
- padding : 0;
- position : relative;
- z-index : 10;
- box-sizing : border-box;
-
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-
- -ms-flex-align: center;
-
- -webkit-align-items: center;
- -moz-align-items: center;
- align-items: center;
- }
- corewm-panel-item .corewm-panel-buttons > li {
- margin : 0;
- padding : 0;
- box-sizing : border-box;
- position : relative;
- min-width : 16px;
- min-height : 16px;
-
- display: -webkit-box;
- display: -moz-box;
- display: -ms-flexbox;
- display: -webkit-flex;
- display: flex;
-
- -webkit-flex: 1 1 auto;
- -moz-flex: 1 1 auto;
- -ms-flex: 1 1 auto;
- -o-flex: 1 1 auto;
- flex: 1 1 auto;
-
-
- justify-content: center;
-
- -ms-flex-align: center;
-
- -webkit-align-items: center;
- -moz-align-items: center;
- align-items: center;
-
- -webkit-box-align: center;
- -moz-box-align: center;
- }
- corewm-panel-item .corewm-panel-buttons:first-child {
- margin-right : 0;
- margin-top : 0;
- }
- corewm-panel-item .corewm-panel-buttons:last-child {
- margin-right : 0;
- margin-bottom : 0;
- }
- corewm-panel-item .corewm-panel-buttons > li > img {
- display : inline-block;
- }
-
- corewm-panel-item .corewm-panel-buttons > li > img,
- corewm-panel-item .corewm-panel-buttons > li > span {
- pointer-events: none;
- }
-
-corewm-panel-item .Ghost {
- background-color : red !important;
- min-width : 16px;
-}
-
-.corewm-panel-dummy {
- min-width : 16px;
- min-height : 16px;
-}
-.corewm-panel-ellipsis span {
- display : inline-block;
- overflow : hidden;
- white-space : nowrap;
- text-overflow: ellipsis;
- -o-text-overflow: ellipsis;
-}
-
-/**
- * ===========================================================================
- * SEARCH
- * ===========================================================================
- */
-
-corewm-search {
- position : absolute;
- display : none;
- z-index : 99999;
- max-width : 400px;
-}
-corewm-search:before {
- position : absolute;
- top : 0;
- left : 0;
- bottom : 0;
- right : 0;
- z-index : -1;
-}
-corewm-search[data-visible=true] {
- display : block;
-}
- corewm-search > div {
- margin-top : 5px;
- }
- corewm-search gui-text {
- width : 100%;
- }
-
- corewm-search > ul {
- list-style-type : none;
- margin : 0;
- padding : 0;
- }
- corewm-search > ul > li {
- position : relative;
- margin : 0;
- padding : 0;
- }
- corewm-search > ul > li > * {
- pointer-events : none;
- }
- corewm-search > ul > li > img {
- position : absolute;
- top : 5px;
- left : 5px;
- }
-
-/**
- * ===========================================================================
- * PANEL ITEMS
- * ===========================================================================
- */
-
-corewm-panel .PanelItemClock {
- flex : 0 0 55px;
-}
-corewm-panel .PanelItemClock li {
- cursor : default;
-}
-corewm-panel .PanelItemWindowList li > span {
- max-width : 200px;
-}
-
-corewm-panel[data-orientation="horizontal"] .PanelItemWindowList li {
- -webkit-flex: 0 0 auto;
- -moz-flex: 0 0 auto;
- -ms-flex: 0 0 auto;
- -o-flex: 0 0 auto;
- flex: 0 0 auto;
-}
-corewm-panel[data-orientation="vertical"] .PanelItemWindowList li {
- -ms-flex-align: flex-start;
-
- -webkit-align-items: flex-start;
- -moz-align-items: flex-start;
- align-items: flex-start;
-}
-
-corewm-panel[data-orientation="vertical"] .PanelItemWindowList li > img {
- transform : rotate(90deg);
-}
-corewm-panel[data-orientation="vertical"] .PanelItemWindowList li > span {
- position: absolute;
- left: .5em;
- top: 20px;
- transform-origin: left;
-}
-
-corewm-panel .PanelItemNotificationArea .BusyNotification > div,
-corewm-panel .PanelItemNotificationArea .StartupNotification > div {
- cursor : help;
- width : 20px;
-}
-
-corewm-panel .PanelItemNotificationArea .BusyNotification > div > div,
-corewm-panel .PanelItemNotificationArea .StartupNotification > div > div {
- border: 2px solid #fff;
- border-radius: 100%;
- margin-left : -10px;
- margin-top : -10px;
- position : absolute;
- top : 50%;
- left : 50%;
- width : 20px;
- height : 20px;
- box-sizing : border-box;
-}
-corewm-panel .PanelItemNotificationArea .StartupNotification > div > div:before {
- display: block;
- position: absolute;
- left: 7px;
- top: 2px;
- width: 2px;
- height: 6px;
- background-color: #fff;
- content: "";
-
- -webkit-animation: NotificationSpinAnim 3s linear infinite;
- -moz-animation: NotificationSpinAnim 3s linear infinite;
- -ms-animation: NotificationSpinAnim 3s linear infinite;
- animation: NotificationSpinAnim 3s linear infinite;
-
- -webkit-transform-origin: 1px 6px;
- -moz-transform-origin: 1px 6px;
- -ms-transform-origin: 1px 6px;
- -o-transform-origin: 1px 6px;
- transform-origin: 1px 6px;
-}
-corewm-panel .PanelItemNotificationArea .StartupNotification > div > div:after {
- display: block;
- position: absolute;
- left: 7px; /*( 16px / 2 ) - 1px;*/
- top: 3px;
- width: 2px;
- height: 5px; /*( 16px / 2 ) - 3px;*/
- background-color: #fff;
- content: "";
-
- -webkit-animation: NotificationSpinAnim 18s linear infinite; /* NotificationSpinAnim 6 * 3s linear infinite; */
- -moz-animation: NotificationSpinAnim 18s linear infinite; /* NotificationSpinAnim 6 * 3s linear infinite; */
- -ms-animation: NotificationSpinAnim 18s linear infinite; /* NotificationSpinAnim 6 * 3s linear infinite; */
- -o-animation: NotificationSpinAnim 18s linear infinite; /* NotificationSpinAnim 6 * 3s linear infinite; */
- animation: NotificationSpinAnim 18s linear infinite; /* NotificationSpinAnim 6 * 3s linear infinite; */
-
- -webkit-transform-origin: 1px 5px; /* 1px ( 16px / 2 ) - 3px;*/
- -moz-transform-origin: 1px 5px; /* 1px ( 16px / 2 ) - 3px;*/
- -ms-transform-origin: 1px 5px; /* 1px ( 16px / 2 ) - 3px;*/
- -o-transform-origin: 1px 5px; /* 1px ( 16px / 2 ) - 3px;*/
- transform-origin: 1px 5px; /* 1px ( 16px / 2 ) - 3px;*/
-}
-
-corewm-panel .PanelItemNotificationArea .BusyNotification > div > div:after,
-corewm-panel .PanelItemNotificationArea .BusyNotification > div > div:before {
- display: block;
- position: absolute;
- left: 7px;
- top: 2px;
- width: 2px;
- height: 12px;
- background-color: #fff;
- content: "";
-
- -webkit-transform-origin: 1px 6px; /* 1px ( 24px / 2 ) - 2px;*/
- -moz-transform-origin: 1px 6px; /* 1px ( 24px / 2 ) - 2px;*/
- -ms-transform-origin: 1px 6px; /* 1px ( 24px / 2 ) - 2px;*/
- -o-transform-origin: 1px 6px; /* 1px ( 24px / 2 ) - 2px;*/
- transform-origin: 1px 6px; /* 1px ( 24px / 2 ) - 2px;*/
-
- -webkit-animation: NotificationSpinAnim 3s linear infinite;
- -moz-animation: NotificationSpinAnim 3s linear infinite;
- -ms-animation: NotificationSpinAnim 3s linear infinite;
- -o-animation: NotificationSpinAnim 3s linear infinite;
- animation: NotificationSpinAnim 3s linear infinite;
-}
-corewm-panel .PanelItemNotificationArea .BusyNotification > div > div:after {
- -webkit-animation: NotificationSpinAnim 3s linear -0.75s infinite;
- -moz-animation: NotificationSpinAnim 3s linear -0.75s infinite;
- -ms-animation: NotificationSpinAnim 3s linear -0.75s infinite;
- -o-animation: NotificationSpinAnim 3s linear -0.75s infinite;
- animation: NotificationSpinAnim 3s linear -0.75s infinite;
-}
-
-@-webkit-keyframes NotificationSpinAnim {
- to {
- -webkit-transform: rotate( 360deg );
- }
-}
-@-moz-keyframes notificationspinanim {
- to {
- -moz-transform: rotate( 360deg );
- }
-}
-@-o-keyframes notificationspinanim {
- to {
- -o-transform: rotate( 360deg );
- }
-}
-@keyframes NotificationSpinAnim {
- to {
- transform: rotate( 360deg );
- }
-}
-
-/**
- * ===========================================================================
- * RESPONSIVE
- * ===========================================================================
- */
-
-@media all and (max-width: 800px) {
-
- .PanelItemWindowList > ul > li > span {
- display: none;
- }
-
-}
diff --git a/build/htdocs/dist/packages/default/CoreWM/combined.js b/build/htdocs/dist/packages/default/CoreWM/combined.js
deleted file mode 100644
index 59d118b..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/combined.js
+++ /dev/null
@@ -1,4355 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, Window, GUI, Utils, API, VFS) {
- 'use strict';
-
- function _createIcon(aiter, aname, arg) {
- return API.getIcon(aiter.icon, arg, aiter.className);
- }
-
- /**
- * Create default application menu with categories (sub-menus)
- */
- function doBuildCategoryMenu(ev) {
- var apps = OSjs.Core.getPackageManager().getPackages();
- var wm = OSjs.Core.getWindowManager();
- var cfgCategories = wm.getSetting('menu');
-
- function createEvent(iter) {
- return function(el) {
- OSjs.GUI.Helpers.createDraggable(el, {
- type : 'application',
- data : {
- launch: iter.name
- }
- });
- };
- }
-
- function clickEvent(iter) {
- return function() {
- API.launch(iter.name);
- };
- }
-
- var cats = {};
-
- Object.keys(cfgCategories).forEach(function(c) {
- cats[c] = [];
- });
-
- Object.keys(apps).forEach(function(a) {
- var iter = apps[a];
- if ( iter.type === 'application' && iter.visible !== false ) {
- var cat = iter.category && cats[iter.category] ? iter.category : 'unknown';
- cats[cat].push({name: a, data: iter});
- }
- });
-
- var list = [];
- Object.keys(cats).forEach(function(c) {
- var submenu = [];
- for ( var a = 0; a < cats[c].length; a++ ) {
- var iter = cats[c][a];
- submenu.push({
- title: iter.data.name,
- icon: _createIcon(iter.data, iter.name),
- tooltip : iter.data.description,
- onCreated: createEvent(iter),
- onClick: clickEvent(iter)
- });
- }
-
- if ( submenu.length ) {
- list.push({
- title: OSjs.Applications.CoreWM._(cfgCategories[c].title),
- icon: API.getIcon(cfgCategories[c].icon, '16x16'),
- menu: submenu
- });
- }
- });
-
- return list;
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // NEW MENU
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationMenu() {
- var root = this.$element = document.createElement('gui-menu');
- this.$element.id = 'CoreWMApplicationMenu';
-
- var apps = OSjs.Core.getPackageManager().getPackages();
-
- function createEntry(a, iter) {
- var entry = document.createElement('gui-menu-entry');
-
- var img = document.createElement('img');
- img.src = _createIcon(iter, a, '32x32');
-
- var txt = document.createElement('div');
- txt.appendChild(document.createTextNode(iter.name)); //.replace(/([^\s-]{8})([^\s-]{8})/, '$1-$2')));
-
- Utils.$bind(entry, 'click', function(ev) {
- ev.stopPropagation();
- API.launch(a);
- API.blurMenu();
- });
-
- entry.appendChild(img);
- entry.appendChild(txt);
- root.appendChild(entry);
- }
-
- Object.keys(apps).forEach(function(a) {
- var iter = apps[a];
- if ( iter.type === 'application' && iter.visible !== false ) {
- createEntry(a, iter);
- }
- });
- }
-
- ApplicationMenu.prototype.destroy = function() {
- if ( this.$element && this.$element.parentNode ) {
- this.$element.parentNode.removeChild(this.$element);
- }
- this.$element = null;
- };
-
- ApplicationMenu.prototype.show = function(pos) {
- if ( !this.$element ) {
- return;
- }
-
- if ( !this.$element.parentNode ) {
- document.body.appendChild(this.$element);
- }
-
- // FIXME: This is a very hackish way of doing it and does not work when button is moved!
- Utils.$removeClass(this.$element, 'AtBottom');
- Utils.$removeClass(this.$element, 'AtTop');
- if ( pos.y > (window.innerHeight / 2) ) {
- Utils.$addClass(this.$element, 'AtBottom');
-
- this.$element.style.top = 'auto';
- this.$element.style.bottom = '30px';
- } else {
- Utils.$addClass(this.$element, 'AtTop');
-
- this.$element.style.bottom = 'auto';
- this.$element.style.top = '30px';
- }
-
- this.$element.style.left = pos.x + 'px';
- };
-
- ApplicationMenu.prototype.getRoot = function() {
- return this.$element;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // MENU
- /////////////////////////////////////////////////////////////////////////////
-
- function doShowMenu(ev) {
- var wm = OSjs.Core.getWindowManager();
-
- if ( (wm && wm.getSetting('useTouchMenu') === true) ) {
- var inst = new ApplicationMenu();
- var pos = {x: ev.clientX, y: ev.clientY};
-
- if ( ev.target ) {
- var rect = Utils.$position(ev.target, document.body);
- if ( rect.left && rect.top && rect.width && rect.height ) {
- pos.x = rect.left - (rect.width / 2);
-
- if ( pos.x <= 16 ) {
- pos.x = 0; // Snap to left
- }
-
- var panel = Utils.$parent(ev.target, function(node) {
- return node.tagName.toLowerCase() === 'corewm-panel';
- });
-
- if ( panel ) {
- var prect = Utils.$position(panel);
- pos.y = prect.top + prect.height;
- } else {
- pos.y = rect.top + rect.height;
- }
- }
- }
- API.createMenu(null, pos, inst);
- } else {
- var list = doBuildCategoryMenu(ev);
- var m = API.createMenu(list, ev);
- if ( m && m.$element ) {
- Utils.$addClass(m.$element, 'CoreWMDefaultApplicationMenu');
- }
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.showMenu = doShowMenu;
-
-})(OSjs.Core.WindowManager, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, Window, GUI, Utils, API, VFS) {
- 'use strict';
-
- function createCreateDialog(title, dir, cb) {
- API.createDialog('Input', {
- value: title,
- message: OSjs.Applications.CoreWM._('Create in {0}', dir)
- }, function(ev, button, result) {
- if ( result ) {
- cb(new VFS.File(Utils.pathJoin(dir, result)));
- }
- });
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // SHORTCUT DIALOG
- /////////////////////////////////////////////////////////////////////////////
-
- function IconViewShortcutDialog(item, scheme, closeCallback) {
- Window.apply(this, ['IconViewShortcutDialog', {
- title: 'Edit Launcher',
- icon: 'status/appointment-soon.png',
- width: 400,
- height: 220,
- allow_maximize: false,
- allow_resize: false,
- allow_minimize: false
- }]);
-
- this.scheme = scheme;
- this.values = {
- path: item.path,
- filename: item.filename,
- args: item.args || {}
- };
- this.cb = closeCallback || function() {};
- }
-
- IconViewShortcutDialog.prototype = Object.create(Window.prototype);
- IconViewShortcutDialog.constructor = Window;
-
- IconViewShortcutDialog.prototype.init = function(wm, app) {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- this.scheme.render(this, this._name);
-
- this.scheme.find(this, 'InputShortcutLaunch').set('value', this.values.path);
- this.scheme.find(this, 'InputShortcutLabel').set('value', this.values.filename);
- this.scheme.find(this, 'InputTooltipFormatString').set('value', JSON.stringify(this.values.args || {}));
-
- this.scheme.find(this, 'ButtonApply').on('click', function() {
- self.applySettings();
- self._close('ok');
- });
-
- this.scheme.find(this, 'ButtonCancel').on('click', function() {
- self._close();
- });
-
- return root;
- };
-
- IconViewShortcutDialog.prototype.applySettings = function() {
- this.values.path = this.scheme.find(this, 'InputShortcutLaunch').get('value');
- this.values.filename = this.scheme.find(this, 'InputShortcutLabel').get('value');
- this.values.args = JSON.parse(this.scheme.find(this, 'InputTooltipFormatString').get('value') || {});
- };
-
- IconViewShortcutDialog.prototype._close = function(button) {
- this.cb(button, this.values);
- return Window.prototype._close.apply(this, arguments);
- };
-
- IconViewShortcutDialog.prototype._destroy = function() {
- this.scheme = null;
- return Window.prototype._destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // ICON VIEW
- /////////////////////////////////////////////////////////////////////////////
-
- function DesktopIconView(wm) {
- var self = this;
-
- this.dialog = null;
- this.$iconview = null;
- this.$element = document.createElement('gui-icon-view');
- this.$element.setAttribute('data-multiple', 'false');
- //this.$element.setAttribute('no-selection', 'true');
- this.$element.id = 'CoreWMDesktopIconView';
- this.shortcutCache = [];
-
- GUI.Elements['gui-icon-view'].build(this.$element);
-
- GUI.Helpers.createDroppable(this.$element, {
- onOver: function(ev, el, args) {
- wm.onDropOver(ev, el, args);
- },
-
- onLeave : function() {
- wm.onDropLeave();
- },
-
- onDrop : function() {
- wm.onDrop();
- },
-
- onItemDropped: function(ev, el, item, args) {
- wm.onDropItem(ev, el, item, args);
- },
-
- onFilesDropped: function(ev, el, files, args) {
- wm.onDropFile(ev, el, files, args);
- }
- });
-
- this.$iconview = new GUI.ElementDataView(this.$element);
- this.$iconview.on('activate', function(ev) {
- if ( ev && ev.detail ) {
- ev.detail.entries.forEach(function(entry) {
- var item = entry.data;
- var file = new VFS.File(item);
- API.open(file, item.args);
- });
- }
- }).on('contextmenu', function(ev) {
- if ( ev && ev.detail && ev.detail.entries ) {
- self.createContextMenu(ev.detail.entries[0], ev);
- }
- });
-
- this._refresh();
- this.resize(wm);
- }
-
- DesktopIconView.prototype.destroy = function() {
- Utils.$remove(this.$element);
- this.$element = null;
- this.$iconview = null;
-
- if ( this.dialog ) {
- this.dialog.destroy();
- }
- this.dialog = null;
-
- this.shortcutCache = [];
- };
-
- DesktopIconView.prototype.blur = function() {
- var cel = new GUI.ElementDataView(this.$element);
- cel.set('value', null);
- };
-
- DesktopIconView.prototype.getRoot = function() {
- return this.$element;
- };
-
- DesktopIconView.prototype.resize = function(wm) {
- var el = this.getRoot();
- var s = wm.getWindowSpace();
-
- if ( el ) {
- el.style.top = (s.top) + 'px';
- el.style.left = (s.left) + 'px';
- el.style.width = (s.width) + 'px';
- el.style.height = (s.height) + 'px';
- }
- };
-
- DesktopIconView.prototype._refresh = function(wm) {
- var self = this;
- var pm = OSjs.Core.getPackageManager();
-
- var desktopPath = OSjs.Core.getWindowManager().getSetting('desktopPath');
- var shortcutPath = Utils.pathJoin(desktopPath, '.shortcuts.json');
-
- VFS.read(shortcutPath, function(e, r) {
- var entries = [];
-
- if ( r && r instanceof Array ) {
- self.shortcutCache = r;
-
- entries = r.map(function(i) {
- var iter = new VFS.File(i);
- var type = 'shortcut';
- var icon;
-
- if ( iter.type === 'application' ) {
- var appname = Utils.filename(iter.path);
- var meta = pm.getPackage(appname);
- if ( meta ) {
- icon = API.getIcon(meta.icon, '32x32', appname);
- }
- type = 'application';
- }
-
- return {
- _type: type,
- icon: icon || API.getFileIcon(iter, '32x32'),
- label: iter.filename,
- value: iter,
- args: iter.args || {}
- };
- });
- }
-
- VFS.scandir(desktopPath, function(error, result) {
- if ( self.$iconview && !error ) {
-
- entries = entries.concat(result.map(function(iter) {
- return {
- _type: 'vfs',
- icon: API.getFileIcon(iter, '32x32'),
- label: iter.filename,
- value: iter
- };
- }).filter(function(iter) {
- if ( iter.value.path === shortcutPath ) {
- return false;
- }
- return true;
- }));
-
- entries.sort(function(a, b) {
- return (a.filename > b.filename) ? 1 : ((b.filename > a.filename) ? -1 : 0);
- });
-
- self.$iconview.clear().add(entries);
- }
- });
- }, {type: 'json'});
- };
-
- DesktopIconView.prototype._save = function(refresh) {
- var desktopPath = OSjs.Core.getWindowManager().getSetting('desktopPath');
- var path = Utils.pathJoin(desktopPath, '.shortcuts.json');
-
- VFS.write(path, JSON.stringify(this.shortcutCache, null, 4), function(e, r) {
- if ( refresh ) { // Normally caught by VFS message in main.js
- //self._refresh();
- }
- });
- };
-
- DesktopIconView.prototype.updateShortcut = function(data, values) {
- var found = this.getShortcutByPath(data.path);
- if ( found.item ) {
- var o = this.shortcutCache[found.index];
- Object.keys(values).forEach(function(k) {
- o[k] = values[k];
- });
-
- this._save(true);
- }
- };
-
- DesktopIconView.prototype.getShortcutByPath = function(path) {
- var found = null;
- var index = -1;
-
- this.shortcutCache.forEach(function(i, idx) {
- if ( !found ) {
- if ( i.path === path ) {
- found = i;
- index = idx;
- }
- }
- });
-
- return {item: found, index: index};
- };
-
- DesktopIconView.prototype.addShortcut = function(data, wm, save) {
- var found = this.getShortcutByPath(data.path);
- if ( !found.item ) {
- (['icon']).forEach(function(k) {
- if ( data[k] ) {
- delete data[k];
- }
- });
-
- if ( data.type === 'application' ) {
- data.args = data.args || {};
- }
-
- this.shortcutCache.push(data);
- this._save(true);
- }
- };
-
- DesktopIconView.prototype.removeShortcut = function(data, wm) {
- var found = this.getShortcutByPath(data.path);
-
- if ( found.item ) {
- this.shortcutCache.splice(found.index, 1);
- this._save(true);
- }
- };
-
- DesktopIconView.prototype._getContextMenu = function(item) {
- var self = this;
- var mm = OSjs.Core.getMountManager();
- var desktopPath = OSjs.Core.getWindowManager().getSetting('desktopPath');
- var menu = [
- {
- title: API._('LBL_UPLOAD'),
- onClick: function() {
- API.createDialog('FileUpload', {
- dest: desktopPath
- }, function() {
- self._refresh();
- });
- }
- },
- {
- title: API._('LBL_CREATE'),
- menu: [{
- title: API._('LBL_FILE'),
- onClick: function() {
- createCreateDialog('New file', desktopPath, function(f) {
- VFS.write(f, '', function(err) {
- if ( err ) {
- API.error('CoreWM', API._('ERR_VFSMODULE_MKFILE'), err);
- }
- });
- });
- }
- }, {
- title: API._('LBL_DIRECTORY'),
- onClick: function() {
- createCreateDialog('New directory', desktopPath, function(f) {
- VFS.mkdir(f, function(err) {
- if ( err ) {
- API.error('CoreWM', API._('ERR_VFSMODULE_MKDIR'), err);
- }
- });
- });
- }
- }]
- }
- ];
-
- if ( item ) {
- var file = item.data;
-
- if ( file.type === 'application' ) {
- menu.push({
- title: OSjs.Applications.CoreWM._('Edit shortcut'),
- onClick: function() {
- self.openShortcutEdit(file);
- }
- });
- }
-
- if ( mm.getRootFromPath(file.path) !== desktopPath ) {
- menu.push({
- title: OSjs.Applications.CoreWM._('Remove shortcut'),
- onClick: function() {
- self.removeShortcut(file);
- }
- });
- } else {
- menu.push({
- title: API._('LBL_DELETE'),
- onClick: function() {
- VFS.unlink(file, function() {
- //self._refresh(); // Caught by VFS message in main.js
- });
- }
- });
- }
- }
-
- return menu;
- };
-
- DesktopIconView.prototype.createContextMenu = function(item, ev) {
- var wm = OSjs.Core.getWindowManager();
- var menu = wm._getContextMenu(item);
- API.createMenu(menu, ev);
- };
-
- DesktopIconView.prototype.openShortcutEdit = function(item) {
- if ( this.dialog ) {
- this.dialog._close();
- }
-
- var self = this;
- var wm = OSjs.Core.getWindowManager();
-
- this.dialog = new IconViewShortcutDialog(item, wm._scheme, function(button, values) {
- if ( button === 'ok' ) {
- self.updateShortcut(item, values);
- }
- self.dialog = null;
- });
-
- wm.addWindow(this.dialog, true);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.DesktopIconView = DesktopIconView;
-
-})(OSjs.Core.WindowManager, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, Window, GUI, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // Window Switcher
- /////////////////////////////////////////////////////////////////////////////
-
- var WindowSwitcher = function() {
- this.$switcher = null;
- this.showing = false;
- this.index = -1;
- this.winRef = null;
- };
-
- WindowSwitcher.prototype.destroy = function() {
- this._remove();
- };
-
- WindowSwitcher.prototype._remove = function() {
- if ( this.$switcher ) {
- if ( this.$switcher.parentNode ) {
- this.$switcher.parentNode.removeChild(this.$switcher);
- }
- this.$switcher = null;
- }
- };
-
- WindowSwitcher.prototype.show = function(ev, win, wm) {
- win = win || wm.getLastWindow();
-
- ev.preventDefault();
-
- var height = 0;
- var items = [];
- var index = 0;
-
- // Render
- if ( !this.$switcher ) {
- this.$switcher = document.createElement('corewm-window-switcher');
- } else {
- Utils.$empty(this.$switcher);
- }
-
- var container, image, label, iter;
- for ( var i = 0; i < wm._windows.length; i++ ) {
- iter = wm._windows[i];
- if ( iter ) {
- container = document.createElement('div');
-
- image = document.createElement('img');
- image.src = iter._icon;
-
- label = document.createElement('span');
- label.innerHTML = iter._title;
-
- container.appendChild(image);
- container.appendChild(label);
- this.$switcher.appendChild(container);
-
- height += 32; // FIXME: We can automatically calculate this
-
- if ( win && win._wid === iter._wid ) {
- index = i;
- }
-
- items.push({
- element: container,
- win: iter
- });
- }
- }
-
- if ( !this.$switcher.parentNode ) {
- document.body.appendChild(this.$switcher);
- }
-
- this.$switcher.style.height = height + 'px';
- this.$switcher.style.marginTop = (height ? -((height / 2) << 0) : 0) + 'px';
-
- // Select
- if ( this.showing ) {
- this.index++;
- if ( this.index > (items.length - 1) ) {
- this.index = -1;
- }
- } else {
- this.index = index;
- this.showing = true;
- }
-
- console.debug('WindowSwitcher::show()', this.index);
-
- if ( items[this.index] ) {
- items[this.index].element.className = 'Active';
- this.winRef = items[this.index].win;
- } else {
- this.winRef = null;
- }
- };
-
- WindowSwitcher.prototype.hide = function(ev, win, wm) {
- if ( !this.showing ) {
- return;
- }
-
- ev.preventDefault();
-
- this._remove();
-
- win = this.winRef || win;
- if ( win ) {
- win._focus();
- }
-
- this.winRef = null;
- this.index = -1;
- this.showing = false;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.WindowSwitcher = WindowSwitcher;
-
-})(OSjs.Core.WindowManager, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, Window, GUI, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // PANEL ITEM DIALOG
- /////////////////////////////////////////////////////////////////////////////
-
- function PanelItemDialog(name, args, settings, scheme, closeCallback) {
- this._closeCallback = closeCallback || function() {};
- this._settings = settings;
- this.scheme = scheme;
-
- Window.apply(this, [name, args]);
- }
-
- PanelItemDialog.prototype = Object.create(Window.prototype);
- PanelItemDialog.constructor = Window;
-
- PanelItemDialog.prototype.init = function(wm, app) {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- this.scheme.render(this, this._name);
-
- this.scheme.find(this, 'ButtonApply').on('click', function() {
- self.applySettings();
- self._close('ok');
- });
-
- this.scheme.find(this, 'ButtonCancel').on('click', function() {
- self._close();
- });
-
- return root;
- };
-
- PanelItemDialog.prototype.applySettings = function() {
- };
-
- PanelItemDialog.prototype._close = function(button) {
- this._closeCallback(button);
- return Window.prototype._close.apply(this, arguments);
- };
-
- PanelItemDialog.prototype._destroy = function() {
- this.scheme = null;
- this._settings = null;
-
- return Window.prototype._destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // PANELS
- /////////////////////////////////////////////////////////////////////////////
-
- var PANEL_SHOW_TIMEOUT = 150;
- var PANEL_HIDE_TIMEOUT = 600;
-
- function Panel(name, options, wm) {
- options = options || {};
-
- this._name = name;
- this._$element = null;
- this._$container = null;
- this._items = [];
- this._outtimeout = null;
- this._intimeout = null;
- this._options = options.mergeDefaults({
- position: 'top'
- });
-
- console.debug('Panel::construct()', this._name, this._options.get());
- }
-
- Panel.prototype.init = function(root) {
- var self = this;
- var wm = OSjs.Core.getWindowManager();
-
- function createMenu(ev) {
- var menu = [
- {title: OSjs.Applications.CoreWM._('Open Panel Settings'), onClick: function(ev) {
- wm.showSettings('panel');
- }}
- ];
-
- if ( wm.getSetting('useTouchMenu') === true ) {
- menu.push({
- title: OSjs.Applications.CoreWM._('Turn off TouchMenu'),
- onClick: function(ev) {
- wm.applySettings({useTouchMenu: false}, false, true);
- }
- });
- } else {
- menu.push({
- title: OSjs.Applications.CoreWM._('Turn on TouchMenu'),
- onClick: function(ev) {
- wm.applySettings({useTouchMenu: true}, false, true);
- }
- });
- }
-
- API.createMenu(menu, ev);
- }
-
- this._$container = document.createElement('corewm-panel-container');
- this._$element = document.createElement('corewm-panel');
- this._$element.setAttribute('data-orientation', 'horizontal');
- this._$element.setAttribute('role', 'toolbar');
-
- Utils.$bind(this._$element, 'mousedown', function(ev) {
- ev.preventDefault();
- });
- Utils.$bind(this._$element, 'mouseover', function(ev) {
- self.onMouseOver(ev);
- });
- Utils.$bind(this._$element, 'mouseout', function(ev) {
- self.onMouseOut(ev);
- });
- Utils.$bind(this._$element, 'click', function(ev) {
- OSjs.API.blurMenu();
- });
- Utils.$bind(this._$element, 'contextmenu', function(ev) {
- createMenu(ev);
- });
-
- Utils.$bind(document, 'mouseout:panelmouseleave', function(ev) {
- self.onMouseLeave(ev);
- }, false);
-
- this._$element.appendChild(this._$container);
- root.appendChild(this._$element);
-
- setTimeout(function() {
- self.update();
- }, 0);
- };
-
- Panel.prototype.destroy = function() {
- this._clearTimeouts();
- Utils.$unbind(document, 'mouseout:panelmouseleave');
-
- this._items.forEach(function(item) {
- item.destroy();
- });
- this._items = [];
- this._$element = Utils.$remove(this._$element);
- this._$container = null;
- };
-
- Panel.prototype.update = function(options) {
- options = options || this._options.get();
-
- // CSS IS SET IN THE WINDOW MANAGER!
- var self = this;
- var attrs = {
- ontop: !!options.ontop,
- position: options.position || 'bottom'
- };
-
- if ( options.autohide ) {
- this.onMouseOut();
- }
- if ( this._$element ) {
- Object.keys(attrs).forEach(function(k) {
- self._$element.setAttribute('data-' + k, typeof attrs[k] === 'boolean' ? (attrs[k] ? 'true' : 'false') : attrs[k]);
- });
- }
- this._options.set(null, options);
- };
-
- Panel.prototype.autohide = function(hide) {
- if ( !this._options.get('autohide') || !this._$element ) {
- return;
- }
-
- if ( hide ) {
- this._$element.setAttribute('data-autohide', 'true');
- } else {
- this._$element.setAttribute('data-autohide', 'false');
- }
- };
-
- Panel.prototype._clearTimeouts = function() {
- if ( this._outtimeout ) {
- clearTimeout(this._outtimeout);
- this._outtimeout = null;
- }
- if ( this._intimeout ) {
- clearTimeout(this._intimeout);
- this._intimeout = null;
- }
- };
-
- Panel.prototype.onMouseLeave = function(ev) {
- var from = ev.relatedTarget || ev.toElement;
- if ( !from || from.nodeName === 'HTML' ) {
- this.onMouseOut(ev);
- }
- };
-
- Panel.prototype.onMouseOver = function() {
- var self = this;
- this._clearTimeouts();
- this._intimeout = setTimeout(function() {
- self.autohide(false);
- }, PANEL_SHOW_TIMEOUT);
- };
-
- Panel.prototype.onMouseOut = function() {
- var self = this;
- this._clearTimeouts();
- this._outtimeout = setTimeout(function() {
- self.autohide(true);
- }, PANEL_HIDE_TIMEOUT);
- };
-
- Panel.prototype.addItem = function(item) {
- if ( !(item instanceof OSjs.Applications.CoreWM.PanelItem) ) {
- throw 'Expected a PanelItem in Panel::addItem()';
- }
-
- this._items.push(item);
- this._$container.appendChild(item.init());
- };
-
- Panel.prototype.getItemByType = function(type) {
- return this.getItem(type);
- };
-
- Panel.prototype.getItemsByType = function(type) {
- return this.getItem(type, true);
- };
-
- Panel.prototype.getItem = function(type, multiple) {
- var result = multiple ? [] : null;
-
- this._items.forEach(function(item, idx) {
- if ( item instanceof type ) {
- if ( multiple ) {
- result.push(item);
- } else {
- result = item;
- return false;
- }
- }
- return true;
- });
-
- return result;
- };
-
- Panel.prototype.getOntop = function() {
- return this._options.get('ontop');
- };
-
- Panel.prototype.getPosition = function(pos) {
- return pos ? (this._options.get('position') === pos) : this._options.get('position');
- };
-
- Panel.prototype.getAutohide = function() {
- return this._options.get('autohide');
- };
-
- Panel.prototype.getRoot = function() {
- return this._$element;
- };
-
- Panel.prototype.getHeight = function() {
- return this._$element ? this._$element.offsetHeight : 0;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // PANEL ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- var PanelItem = function(className, itemName, settings, defaults) {
- this._$root = null;
- this._$container = null;
- this._className = className || 'Unknown';
- this._itemName = itemName || className.split(' ')[0];
- this._settings = null;
- this._settingsDialog = null;
-
- if ( settings && (settings instanceof OSjs.Helpers.SettingsFragment) && defaults ) {
- this._settings = settings.mergeDefaults(defaults);
- }
- };
-
- PanelItem.Name = 'PanelItem'; // Static name
- PanelItem.Description = 'PanelItem Description'; // Static description
- PanelItem.Icon = 'actions/stock_about.png'; // Static icon
- PanelItem.HasOptions = false;
-
- PanelItem.prototype.init = function() {
- var self = this;
-
- this._$root = document.createElement('corewm-panel-item');
- this._$root.className = this._className;
-
- this._$container = document.createElement('ul');
- this._$container.setAttribute('role', 'toolbar');
- this._$container.className = 'corewm-panel-buttons';
-
- if ( this._settings ) {
- var title = 'Open ' + this._itemName + ' settings'; // FIXME: Locale
- Utils.$bind(this._$root, 'contextmenu', function(ev) {
- ev.stopPropagation();
- ev.preventDefault();
-
- API.createMenu([{
- title: title,
- onClick: function() {
- self.openSettings();
- }
- }], ev);
- });
- }
-
- this._$root.appendChild(this._$container);
-
- return this._$root;
- };
-
- PanelItem.prototype.destroy = function() {
- if ( this._settingsDialog ) {
- this._settingsDialog.destroy();
- }
- this._settingsDialog = null;
- this._$root = Utils.$remove(this._$root);
- this._$container = Utils.$remove(this._$container);
- };
-
- PanelItem.prototype.applySettings = function() {
- };
-
- PanelItem.prototype.openSettings = function(DialogRef, args) {
- if ( this._settingsDialog ) {
- this._settingsDialog._restore();
- return false;
- }
-
- var self = this;
- var wm = OSjs.Core.getWindowManager();
-
- if ( DialogRef ) {
- this._settingsDialog = new DialogRef(this, wm._scheme, function(button) {
- if ( button === 'ok' ) {
- self.applySettings();
- }
- self._settingsDialog = null;
- });
-
- OSjs.Core.getWindowManager().addWindow(this._settingsDialog, true);
- }
- };
-
- PanelItem.prototype.getRoot = function() {
- return this._$root;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.Panel = Panel;
- OSjs.Applications.CoreWM.PanelItem = PanelItem;
- OSjs.Applications.CoreWM.PanelItemDialog = PanelItemDialog;
-
-})(OSjs.Core.WindowManager, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, Utils, API, GUI, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * PanelItem: Buttons
- */
- function PanelItemButtons(settings) {
- PanelItem.apply(this, ['PanelItemButtons', 'Buttons', settings, {
- buttons: [
- {
- title: API._('LBL_SETTINGS'),
- icon: 'categories/applications-system.png',
- launch: 'ApplicationSettings'
- }
- ]
- }]);
- }
-
- PanelItemButtons.prototype = Object.create(PanelItem.prototype);
- PanelItemButtons.constructor = PanelItem;
-
- PanelItemButtons.prototype.init = function() {
- var self = this;
- var root = PanelItem.prototype.init.apply(this, arguments);
-
- this.renderButtons();
-
- var ghost;
- var lastTarget;
- var removeTimeout;
- var lastPadding = null;
-
- function clearGhost() {
- removeTimeout = clearTimeout(removeTimeout);
- ghost = Utils.$remove(ghost);
- lastTarget = null;
- if ( lastPadding !== null ) {
- self._$container.style.paddingRight = lastPadding;
- }
- }
-
- function createGhost(target) {
- if ( !target || !target.parentNode ) {
- return;
- }
- if ( target.tagName !== 'LI' && target.tagName !== 'UL' ) {
- return;
- }
-
- if ( lastPadding === null ) {
- lastPadding = self._$container.style.paddingRight;
- }
-
- if ( target !== lastTarget ) {
- clearGhost();
-
- ghost = document.createElement('li');
- ghost.className = 'Ghost';
-
- if ( target.tagName === 'LI' ) {
- try {
- target.parentNode.insertBefore(ghost, target);
- } catch ( e ) {}
- } else {
- target.appendChild(ghost);
- }
- }
- lastTarget = target;
-
- self._$container.style.paddingRight = '16px';
- }
-
- GUI.Helpers.createDroppable(this._$container, {
- onOver: function(ev, el, args) {
- if ( ev.target && !Utils.$hasClass(ev.target, 'Ghost') ) {
- createGhost(ev.target);
- }
- },
-
- onLeave : function() {
- clearTimeout(removeTimeout);
- removeTimeout = setTimeout(function() {
- clearGhost();
- }, 1000);
-
- // clearGhost();
- },
-
- onDrop : function() {
- clearGhost();
- },
-
- onItemDropped: function(ev, el, item, args) {
- if ( item && item.data && item.data.mime === 'osjs/application' ) {
- var appName = item.data.path.split('applications:///')[1];
- self.createButton(appName);
- }
- clearGhost();
- },
-
- onFilesDropped: function(ev, el, files, args) {
- clearGhost();
- }
- });
-
- return root;
- };
-
- PanelItemButtons.prototype.clearButtons = function() {
- Utils.$empty(this._$container);
- };
-
- PanelItemButtons.prototype.renderButtons = function() {
- var self = this;
- var systemButtons = {
- applications: function(ev) {
- OSjs.Applications.CoreWM.showMenu(ev);
- },
- settings: function(ev) {
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.showSettings();
- }
- },
- exit: function(ev) {
- OSjs.API.signOut();
- }
- };
-
- this.clearButtons();
-
- (this._settings.get('buttons') || []).forEach(function(btn, idx) {
- var menu = [{
- title: 'Remove button',
- onClick: function() {
- self.removeButton(idx);
- }
- }];
- var callback = function() {
- API.launch(btn.launch);
- };
-
- if ( btn.system ) {
- menu = null; //systemMenu;
- callback = function(ev) {
- ev.stopPropagation();
- systemButtons[btn.system](ev);
- };
- }
-
- self.addButton(btn.title, btn.icon, menu, callback);
- });
- };
-
- PanelItemButtons.prototype.removeButton = function(index) {
- var buttons = this._settings.get('buttons');
- buttons.splice(index, 1);
- this.renderButtons();
-
- this._settings.save();
- };
-
- PanelItemButtons.prototype.createButton = function(appName) {
- var pkg = OSjs.Core.getPackageManager().getPackage(appName);
- var buttons = this._settings.get('buttons');
- buttons.push({
- title: appName,
- icon: pkg.icon,
- launch: appName
- });
-
- this.renderButtons();
-
- this._settings.save();
- };
-
- PanelItemButtons.prototype.addButton = function(title, icon, menu, callback) {
- var sel = document.createElement('li');
- sel.title = title;
- sel.innerHTML = '';
- sel.setAttribute('role', 'button');
- sel.setAttribute('aria-label', title);
-
- Utils.$bind(sel, 'mousedown', function(ev) {
- ev.preventDefault();
- ev.stopPropagation();
- });
- Utils.$bind(sel, 'click', callback, true);
- Utils.$bind(sel, 'contextmenu', function(ev) {
- ev.preventDefault();
- ev.stopPropagation();
- if ( menu ) {
- API.createMenu(menu, ev);
- }
- });
-
- this._$container.appendChild(sel);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.Buttons = PanelItemButtons;
-
-})(OSjs.Applications.CoreWM.Class, OSjs.Applications.CoreWM.Panel, OSjs.Applications.CoreWM.PanelItem, OSjs.Utils, OSjs.API, OSjs.GUI, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, PanelItemDialog, Utils, API, VFS, GUI, Window) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // Clock Settings Dialog
- /////////////////////////////////////////////////////////////////////////////
-
- function ClockSettingsDialog(panelItem, scheme, closeCallback) {
- PanelItemDialog.apply(this, ['ClockSettingsDialog', {
- title: 'Clock Settings',
- icon: 'status/appointment-soon.png',
- width: 400,
- height: 280
- }, panelItem._settings, scheme, closeCallback]);
- }
-
- ClockSettingsDialog.prototype = Object.create(PanelItemDialog.prototype);
- ClockSettingsDialog.constructor = PanelItemDialog;
-
- ClockSettingsDialog.prototype.init = function(wm, app) {
- var root = PanelItemDialog.prototype.init.apply(this, arguments);
- this.scheme.find(this, 'InputUseUTC').set('value', this._settings.get('utc'));
- this.scheme.find(this, 'InputInterval').set('value', String(this._settings.get('interval')));
- this.scheme.find(this, 'InputTimeFormatString').set('value', this._settings.get('format'));
- this.scheme.find(this, 'InputTooltipFormatString').set('value', this._settings.get('tooltip'));
- return root;
- };
-
- ClockSettingsDialog.prototype.applySettings = function() {
- this._settings.set('utc', this.scheme.find(this, 'InputUseUTC').get('value'));
- this._settings.set('interval', parseInt(this.scheme.find(this, 'InputInterval').get('value'), 10));
- this._settings.set('format', this.scheme.find(this, 'InputTimeFormatString').get('value'), true);
- this._settings.set('tooltip', this.scheme.find(this, 'InputTooltipFormatString').get('value'), true);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * PanelItem: Clock
- */
- function PanelItemClock(settings) {
- PanelItem.apply(this, ['PanelItemClock corewm-panel-right', 'Clock', settings, {
- utc: false,
- interval: 1000,
- format: 'H:i:s',
- tooltip: 'l, j F Y'
- }]);
- this.clockInterval = null;
- this.$clock = null;
- }
-
- PanelItemClock.prototype = Object.create(PanelItem.prototype);
- PanelItemClock.constructor = PanelItem;
-
- PanelItemClock.prototype.createInterval = function() {
- var self = this;
- var timeFmt = this._settings.get('format');
- var tooltipFmt = this._settings.get('tooltip');
-
- function update() {
- var clock = self.$clock;
- if ( clock ) {
- var now = new Date();
- var t = OSjs.Helpers.Date.format(now, timeFmt);
- var d = OSjs.Helpers.Date.format(now, tooltipFmt);
- Utils.$empty(clock);
- clock.appendChild(document.createTextNode(t));
- clock.setAttribute('aria-label', String(t));
- clock.title = d;
- }
- clock = null;
- }
-
- function create(interval) {
- clearInterval(self.clockInterval);
- self.clockInterval = clearInterval(self.clockInterval);
- self.clockInterval = setInterval(function() {
- update();
- }, interval);
- }
-
- create(this._settings.get('interval'));
- update();
- };
-
- PanelItemClock.prototype.init = function() {
- var root = PanelItem.prototype.init.apply(this, arguments);
-
- this.$clock = document.createElement('span');
- this.$clock.innerHTML = '00:00:00';
- this.$clock.setAttribute('role', 'button');
-
- var li = document.createElement('li');
- li.appendChild(this.$clock);
- this._$container.appendChild(li);
-
- this.createInterval();
-
- return root;
- };
-
- PanelItemClock.prototype.applySettings = function() {
- this.createInterval();
- };
-
- PanelItemClock.prototype.openSettings = function() {
- PanelItem.prototype.openSettings.call(this, ClockSettingsDialog, {});
- };
-
- PanelItemClock.prototype.destroy = function() {
- this.clockInterval = clearInterval(this.clockInterval);
- this.$clock = Utils.$remove(this.$clock);
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.Clock = PanelItemClock;
-
-})(
- OSjs.Applications.CoreWM.Class,
- OSjs.Applications.CoreWM.Panel,
- OSjs.Applications.CoreWM.PanelItem,
- OSjs.Applications.CoreWM.PanelItemDialog,
- OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI, OSjs.Core.Window);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- function NotificationAreaItem(name, opts) {
- opts = opts || {};
-
- this.name = name;
- this.opts = opts;
- this.$container = document.createElement('li');
- this.$image = (opts.image || opts.icon) ? document.createElement('img') : null;
- this.onCreated = opts.onCreated || function() {};
- this.onInited = opts.onInited || function() {};
- this.onDestroy = opts.onDestroy || function() {};
- this.onClick = opts.onClick || function() {};
- this.onContextMenu = opts.onContextMenu || function() {};
-
- this._build(name);
- this.onCreated.call(this);
- }
-
- NotificationAreaItem.prototype._build = function(name) {
- var self = this;
- var classNames = ['NotificationArea', 'NotificationArea_' + name];
- if ( this.opts.className ) {
- classNames.push(this.opts.className);
- }
-
- this.$container.className = classNames.join(' ');
- this.$container.setAttribute('role', 'button');
- this.$container.setAttribute('aria-label', this.opts.title);
-
- if ( this.opts.tooltip ) {
- this.$container.title = this.opts.tooltip;
- }
-
- Utils.$bind(this.$container, 'mousedown', function(ev) {
- ev.preventDefault();
- ev.stopPropagation();
- });
-
- Utils.$bind(this.$container, 'click', function(ev) {
- ev.stopPropagation();
- ev.preventDefault();
- OSjs.API.blurMenu();
- self.onClick.apply(self, arguments);
- return false;
- });
-
- Utils.$bind(this.$container, 'contextmenu', function(ev) {
- ev.stopPropagation();
- ev.preventDefault();
- OSjs.API.blurMenu();
- self.onContextMenu.apply(self, arguments);
- return false;
- });
-
- if ( this.$image ) {
- this.$image.title = this.opts.title || '';
- this.$image.src = (this.opts.image || this.opts.icon || 'about:blank');
- this.$container.appendChild(this.$image);
- }
-
- var inner = document.createElement('div');
- inner.appendChild(document.createElement('div'));
- this.$container.appendChild(inner);
- };
-
- NotificationAreaItem.prototype.init = function(root) {
- root.appendChild(this.$container);
-
- try {
- this.onInited.call(this, this.$container, this.$image);
- } catch ( e ) {
- console.warn('NotificationAreaItem', 'onInited error');
- console.warn(e, e.stack);
- }
- };
-
- NotificationAreaItem.prototype.setIcon = function(src) {
- return this.setImage(src);
- };
-
- NotificationAreaItem.prototype.setImage = function(src) {
- if ( this.$image ) {
- this.$image.src = src;
- }
- this.opts.image = src;
- };
-
- NotificationAreaItem.prototype.setTitle = function(title) {
- if ( this.$image ) {
- this.$image.title = title;
- }
- this.opts.title = title;
- };
-
- NotificationAreaItem.prototype.destroy = function() {
- if ( this.$container ) {
- Utils.$unbind(this.$container, 'click');
- Utils.$unbind(this.$container, 'contextmenu');
- }
- this.onDestroy.call(this);
-
- this.$image = Utils.$remove(this.$image);
- this.$container = Utils.$remove(this.$container);
- };
-
- // NOTE: This is a workaround for resetting items on panel change
- var _restartFix = {};
-
- /**
- * PanelItem: NotificationArea
- */
- function PanelItemNotificationArea() {
- PanelItem.apply(this, ['PanelItemNotificationArea corewm-panel-right']);
- this.notifications = {};
- }
-
- PanelItemNotificationArea.prototype = Object.create(PanelItem.prototype);
- PanelItemNotificationArea.constructor = PanelItem;
-
- PanelItemNotificationArea.prototype.init = function() {
- var self = this;
-
- var root = PanelItem.prototype.init.apply(this, arguments);
- root.setAttribute('role', 'toolbar');
-
- var fix = Object.keys(_restartFix);
- if ( fix.length ) {
- fix.forEach(function(k) {
- self.createNotification(k, _restartFix[k]);
- });
- }
-
- return root;
- };
-
- PanelItemNotificationArea.prototype.createNotification = function(name, opts) {
- if ( this._$root ) {
- if ( !this.notifications[name] ) {
- var item = new NotificationAreaItem(name, opts);
- item.init(this._$container);
- this.notifications[name] = item;
- _restartFix[name] = opts;
-
- return item;
- }
- }
- return null;
- };
-
- PanelItemNotificationArea.prototype.removeNotification = function(name) {
- if ( this._$root ) {
- if ( this.notifications[name] ) {
- this.notifications[name].destroy();
- delete this.notifications[name];
- if ( _restartFix[name] ) {
- delete _restartFix[name];
- }
- return true;
- }
- }
-
- return false;
- };
-
- PanelItemNotificationArea.prototype.getNotification = function(name) {
- if ( this._$root ) {
- if ( this.notifications[name] ) {
- return this.notifications[name];
- }
- }
- return false;
- };
-
- PanelItemNotificationArea.prototype.destroy = function() {
- for ( var i in this.notifications ) {
- if ( this.notifications.hasOwnProperty(i) ) {
- if ( this.notifications[i] ) {
- this.notifications[i].destroy();
- }
- delete this.notifications[i];
- }
- }
-
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.NotificationArea = PanelItemNotificationArea;
-
-})(OSjs.Applications.CoreWM.Class, OSjs.Applications.CoreWM.Panel, OSjs.Applications.CoreWM.PanelItem, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, Utils, API, GUI, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- function WindowListEntry(win, className) {
-
- var el = document.createElement('li');
- el.className = className;
- el.title = win._title;
- el.setAttribute('role', 'button');
- el.setAttribute('aria-label', win._title);
-
- var img = document.createElement('img');
- img.alt = win._title;
- img.src = win._icon;
-
- var span = document.createElement('span');
- span.appendChild(document.createTextNode(win._title));
-
- el.appendChild(img);
- el.appendChild(span);
-
- Utils.$bind(el, 'click', function() {
- win._restore(false, true);
- });
-
- Utils.$bind(el, 'contextmenu', function(ev) {
- ev.preventDefault();
- ev.stopPropagation();
-
- if ( win ) {
- win._onWindowIconClick(ev, this);
- }
-
- return false;
- });
-
- var peeking = false;
- OSjs.GUI.Helpers.createDroppable(el, {
- onDrop: function(ev, el) {
- if ( win ) {
- win._focus();
- }
- },
- onLeave: function() {
- if ( peeking ) {
- peeking = false;
- }
- },
- onEnter: function(ev, inst, args) {
- if ( !peeking ) {
- if ( win ) {
- win._focus();
- }
- peeking = true;
- }
- },
- onItemDropped: function(ev, el, item, args) {
- if ( win ) {
- return win._onDndEvent(ev, 'itemDrop', item, args);
- }
- return false;
- },
- onFilesDropped: function(ev, el, files, args) {
- if ( win ) {
- return win._onDndEvent(ev, 'filesDrop', files, args);
- }
- return false;
- }
- });
-
- if ( win._state.focused ) {
- el.className += ' Focused';
- }
-
- this.$element = el;
- this.id = win._wid;
- }
-
- WindowListEntry.prototype.destroy = function() {
- if ( this.$element ) {
- Utils.$unbind(this.$element, 'click');
- Utils.$unbind(this.$element, 'contextmenu');
- this.$element = Utils.$remove(this.$element);
- }
- };
-
- WindowListEntry.prototype.event = function(ev, win, parentEl) {
- var cn = 'WindowList_Window_' + win._wid;
-
- function _change(cn, callback) {
- var els = parentEl.getElementsByClassName(cn);
- if ( els.length ) {
- for ( var i = 0, l = els.length; i < l; i++ ) {
- if ( els[i] && els[i].parentNode ) {
- callback(els[i]);
- }
- }
- }
- }
-
- if ( ev === 'focus' ) {
- _change(cn, function(el) {
- el.className += ' Focused';
- });
- } else if ( ev === 'blur' ) {
- _change(cn, function(el) {
- el.className = el.className.replace(/\s?Focused/, '');
- });
- } else if ( ev === 'title' ) {
- _change(cn, function(el) {
- el.setAttribute('aria-label', win._title);
-
- var span = el.getElementsByTagName('span')[0];
- if ( span ) {
- Utils.$empty(span);
- span.appendChild(document.createTextNode(win._title));
- }
- var img = el.getElementsByTagName('img')[0];
- if ( img ) {
- img.alt = win._title;
- }
- });
- } else if ( ev === 'icon' ) {
- _change(cn, function(el) {
- el.getElementsByTagName('img')[0].src = win._icon;
- });
- } else if ( ev === 'attention_on' ) {
- _change(cn, function(el) {
- if ( !el.className.match(/Attention/) ) {
- el.className += ' Attention';
- }
- });
- } else if ( ev === 'attention_off' ) {
- _change(cn, function(el) {
- if ( !el.className.match(/Attention/) ) {
- el.className = el.className.replace(/\s?Attention/, '');
- }
- });
- } else if ( ev === 'close' ) {
- return false;
- }
-
- return true;
- };
-
- /**
- * PanelItem: WindowList
- */
- function PanelItemWindowList() {
- PanelItem.apply(this, ['PanelItemWindowList corewm-panel-expand']);
- this.entries = [];
- }
-
- PanelItemWindowList.prototype = Object.create(PanelItem.prototype);
- PanelItemWindowList.constructor = PanelItem;
-
- PanelItemWindowList.prototype.init = function() {
- var root = PanelItem.prototype.init.apply(this, arguments);
-
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- var wins = wm.getWindows();
- for ( var i = 0; i < wins.length; i++ ) {
- if ( wins[i] ) {
- this.update('create', wins[i]);
- }
- }
- }
-
- return root;
- };
-
- PanelItemWindowList.prototype.destroy = function() {
- this.entries.forEach(function(e) {
- try {
- e.destroy();
- } catch ( e ) {}
- e = null;
- });
-
- this.entries = [];
-
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- PanelItemWindowList.prototype.update = function(ev, win) {
- if ( !this._$container || (win && win._properties.allow_windowlist === false) ) {
- return;
- }
-
- var entry = null;
- if ( ev === 'create' ) {
- var className = 'corewm-panel-ellipsis WindowList_Window_' + win._wid;
- if ( this._$container.getElementsByClassName(className).length ) {
- return;
- }
-
- entry = new WindowListEntry(win, className);
- this.entries.push(entry);
- this._$container.appendChild(entry.$element);
- } else {
- var found = -1;
- this.entries.forEach(function(e, idx) {
- if ( e.id === win._wid ) {
- found = idx;
- }
- return found !== -1;
- });
-
- entry = this.entries[found];
- if ( entry ) {
- if ( entry.event(ev, win, this._$container) === false ) {
- entry.destroy();
-
- this.entries.splice(found, 1);
- }
- }
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.WindowList = PanelItemWindowList;
-
-})(OSjs.Applications.CoreWM.Class, OSjs.Applications.CoreWM.Panel, OSjs.Applications.CoreWM.PanelItem, OSjs.Utils, OSjs.API, OSjs.GUI, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * PanelItem: Weather
- */
- function PanelItemWeather() {
- var self = this;
-
- PanelItem.apply(this, ['PanelItemWeather corewm-panel-right corewm-panel-dummy']);
-
- this.clockInterval = null;
- this.position = null;
- this.interval = null;
- this.$element = null;
- this.$image = null;
-
- if ( navigator.geolocation ) {
- navigator.geolocation.getCurrentPosition(function(pos) {
- self.position = pos;
- setTimeout(function() {
- self.updateWeather();
- }, 100);
- });
- }
- }
-
- PanelItemWeather.prototype = Object.create(PanelItem.prototype);
- PanelItemWeather.constructor = PanelItem;
-
- PanelItemWeather.prototype.init = function() {
- var root = PanelItem.prototype.init.apply(this, arguments);
- this.$element = document.createElement('li');
- this.$image = document.createElement('img');
- this.$element.appendChild(this.$image);
- this._$container.appendChild(this.$element);
- this.updateWeather();
- return root;
- };
-
- PanelItemWeather.prototype.destroy = function() {
- this.interval = clearInterval(this.interval);
- this.$image = Utils.$remove(this.$image);
- this.$element = Utils.$remove(this.$element);
-
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- PanelItemWeather.prototype.updateWeather = function() {
- var self = this;
-
- if ( !this.$image ) {
- return;
- }
-
- this.$image.title = 'Not allowed or unavailable';
-
- var busy = false;
-
- function setImage(src) {
- self.$image.src = src;
- }
-
- function setWeather(name, weather, main) {
- name = name || '';
- weather = weather || {};
- main = main || {};
-
- var desc = weather.description || '';
- var temp = main.temp || '';
- if ( main.temp ) {
- temp += 'C';
- }
- var icon = 'sunny.png';
-
- switch ( desc ) {
- case 'clear sky':
- if ( weather.icon === '01n' ) {
- icon = 'weather-clear-night.png';
- } else {
- icon = 'weather-clear.png';
- }
- break;
- case 'few clouds':
- if ( weather.icon === '02n' ) {
- icon = 'weather-few-clouds-night.png';
- } else {
- icon = 'weather-few-clouds.png';
- }
- break;
- case 'scattered clouds':
- case 'broken clouds':
- icon = 'weather-overcast.png';
- break;
- case 'shower rain':
- icon = 'weather-showers.png';
- break;
- case 'rain':
- icon = 'weather-showers-scattered.png';
- break;
- case 'thunderstorm':
- icon = 'stock_weather-storm.png';
- break;
- case 'snow':
- icon = 'stock_weather-snow.png';
- break;
- case 'mist':
- icon = 'stock_weather-fog.png';
- break;
- default:
- if ( desc.match(/rain$/) ) {
- icon = 'weather-showers-scattered.png';
- }
- break;
- }
-
- var src = API.getIcon('status/' + icon);
- self.$image.title = Utils.format('{0} - {1} - {2}', name, desc, temp);
- setImage(src);
- }
-
- function updateWeather() {
- if ( busy || !self.position ) {
- return;
- }
- busy = true;
-
- var lat = self.position.coords.latitude;
- var lon = self.position.coords.longitude;
- var unt = 'metric';
- var key = '4ea33327bcfa4ea0293b2d02b6fda385';
- var url = Utils.format('http://api.openweathermap.org/data/2.5/weather?lat={0}&lon={1}&units={2}&APPID={3}', lat, lon, unt, key);
-
- API.curl({
- url: url
- }, function(error, response) {
- if ( !error && response ) {
- var result = null;
- try {
- result = JSON.parse(response.body);
- } catch ( e ) {}
-
- if ( result ) {
- setWeather(result.name, result.weather ? result.weather[0] : null, result.main);
- }
- }
-
- busy = false;
- });
- }
-
- setImage(API.getIcon('status/weather-severe-alert.png'));
-
- this.interval = setInterval(function() {
- updateWeather();
- }, (60 * 60 * 1000));
-
- Utils.$bind(this._$root, 'click', function() {
- updateWeather();
- });
-
- setTimeout(function() {
- updateWeather();
- }, 1000);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.Weather = PanelItemWeather;
-
-})(OSjs.Applications.CoreWM.Class, OSjs.Applications.CoreWM.Panel, OSjs.Applications.CoreWM.PanelItem, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * PanelItem: AppMenu
- */
- function PanelItemAppMenu(settings) {
- PanelItem.apply(this, ['PanelItemAppMenu', 'AppMenu', settings, {}]);
- this.$container = null;
- }
-
- PanelItemAppMenu.prototype = Object.create(PanelItem.prototype);
- PanelItemAppMenu.constructor = PanelItem;
-
- PanelItemAppMenu.prototype.init = function() {
- var root = PanelItem.prototype.init.apply(this, arguments);
- var wm = OSjs.Core.getWindowManager();
-
- var sel = document.createElement('li');
- sel.title = API._('LBL_APPLICATIONS');
- sel.innerHTML = '';
- sel.className = 'corewm-panel-button-centered';
- sel.setAttribute('role', 'button');
- sel.setAttribute('data-label', 'OS.js Application Menu');
-
- Utils.$bind(sel, 'click', function(ev) {
- ev.preventDefault();
- ev.stopPropagation();
- OSjs.Applications.CoreWM.showMenu(ev);
- });
-
- this._$container.appendChild(sel);
-
- return root;
- };
-
- PanelItemAppMenu.prototype.destroy = function() {
- this.$container = null;
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.AppMenu = PanelItemAppMenu;
-
-})(OSjs.Applications.CoreWM.Class, OSjs.Applications.CoreWM.Panel, OSjs.Applications.CoreWM.PanelItem, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(CoreWM, Panel, PanelItem, PanelItemDialog, Utils, API, VFS, GUI, Window) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // Search Settings Dialog
- /////////////////////////////////////////////////////////////////////////////
-
- /////////////////////////////////////////////////////////////////////////////
- // ITEM
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * PanelItem: Search
- */
- function PanelItemSearch(settings) {
- PanelItem.apply(this, ['PanelItemSearch corewm-panel-right', 'Search', settings, {
- }]);
-
- this.$ul = null;
- this.$box = null;
- this.$input = null;
-
- this.$message = null;
- this.visible = false;
- this.hookId = -1;
- this.currentIndex = -1;
- this.currentCount = 0;
- }
-
- PanelItemSearch.prototype = Object.create(PanelItem.prototype);
- PanelItemSearch.constructor = PanelItem;
-
- PanelItemSearch.prototype.init = function() {
- var self = this;
- var root = PanelItem.prototype.init.apply(this, arguments);
-
- var img = document.createElement('img');
- img.src = API.getIcon('actions/search.png');
-
- var input = document.createElement('input');
- input.setAttribute('type', 'text');
-
- var guinput = document.createElement('gui-text');
- guinput.appendChild(input);
-
- var ul = document.createElement('ul');
-
- this.$message = document.createElement('div');
- this.$message.appendChild(document.createTextNode(API._('SEARCH_LOADING')));
-
- this.$box = document.createElement('corewm-search');
- this.$box.className = 'custom-notification';
- this.$box.appendChild(guinput);
- this.$box.appendChild(this.$message);
- this.$box.appendChild(ul);
-
- var keyEvents = {};
- keyEvents[Utils.Keys.DOWN] = function(ev) {
- self.navigateDown();
- };
- keyEvents[Utils.Keys.UP] = function(ev) {
- self.navigateUp();
- };
- keyEvents[Utils.Keys.ESC] = function(ev) {
- self.hide();
- };
- keyEvents[Utils.Keys.ENTER] = function(ev) {
- console.error(this);
- if ( this.value.length ) {
- self.search(this.value);
- this.value = '';
- } else {
- self.navigateOpen();
- }
- };
-
- API.addHook('onBlurMenu', function() {
- self.hide();
- });
-
- Utils.$bind(root, 'click', function(ev) {
- ev.stopPropagation();
-
- if ( self.visible ) {
- self.hide();
- } else {
- self.show();
- }
- });
-
- Utils.$bind(input, 'mousedown', function(ev) {
- ev.stopPropagation();
- });
-
- Utils.$bind(input, 'keydown', function(ev) {
- if ( keyEvents[ev.keyCode] ) {
- ev.preventDefault();
- ev.stopPropagation();
-
- keyEvents[ev.keyCode].call(this, ev);
- }
- });
-
- Utils.$bind(ul, 'mousedown', function(ev) {
- ev.stopPropagation();
- });
-
- Utils.$bind(ul, 'click', function(ev) {
- var target = ev.target;
- if ( target.tagName === 'LI' ) {
- self.launch(target);
- }
- });
-
- Utils.$bind(this.$box, 'mousedown', function() {
- if ( input ) {
- input.focus();
- }
- });
-
- var li = document.createElement('li');
- li.appendChild(img);
-
- this.$ul = ul;
- this.$input = input;
- this._$container.appendChild(li);
-
- document.body.appendChild(this.$box);
-
- return root;
- };
-
- PanelItemSearch.prototype.applySettings = function() {
- };
-
- PanelItemSearch.prototype.openSettings = function() {
- API.launch('ApplicationSettings', {category: 'search'});
- };
-
- PanelItemSearch.prototype.destroy = function() {
- if ( this.hookId >= 0 ) {
- API.removeHook(this.hookId);
- }
-
- Utils.$unbind(this._$root, 'click');
- Utils.$unbind(this.$input, 'mousedown');
- Utils.$unbind(this.$input, 'keydown');
- Utils.$unbind(this.$ul, 'mousedown');
- Utils.$unbind(this.$ul, 'click');
- Utils.$unbind(this.$box, 'mousedown');
-
- this.$message = Utils.$remove(this.$message);
- this.$input = Utils.$remove(this.$input);
- this.$box = Utils.$remove(this.$box);
- this.$ul = Utils.$remove(this.$ul);
-
- PanelItem.prototype.destroy.apply(this, arguments);
- };
-
- PanelItemSearch.prototype.launch = function(target) {
- var launch = target.getAttribute('data-launch');
- var args = JSON.parse(target.getAttribute('data-args'));
- var file = target.getAttribute('data-file');
- var mime = target.getAttribute('data-mime');
- var type = target.getAttribute('data-type');
-
- if ( file ) {
- if ( type === 'dir' ) {
- API.launch('ApplicationFileManager', {path: file});
- } else {
- API.open(new VFS.File(file, mime));
- }
- } else {
- API.launch(launch, args);
- }
-
- this.hide();
- };
-
- PanelItemSearch.prototype.show = function() {
- if ( !this.$box || this.visible ) {
- return;
- }
-
- var wm = OSjs.Core.getWindowManager();
- var space = wm.getWindowSpace(true);
-
- Utils.$empty(this.$box.querySelector('ul'));
- this.$box.style.marginTop = String(space.top) + 'px';
- this.$box.querySelector('input').value = '';
- this.$box.setAttribute('data-visible', String(true));
-
- this.$box.querySelector('input').focus();
- this.visible = true;
-
- this.$message.style.display = 'none';
- };
-
- PanelItemSearch.prototype.hide = function() {
- if ( !this.$box || !this.visible ) {
- return;
- }
-
- this.$box.setAttribute('data-visible', String(false));
- this.visible = false;
- };
-
- PanelItemSearch.prototype.search = function(q) {
- if ( !this.$box ) {
- return;
- }
-
- this.currentIndex = -1;
- this.currentCount = 0;
-
- Utils.$empty(this.$message);
- this.$message.appendChild(document.createTextNode(API._('SEARCH_LOADING')));
- this.$message.style.display = 'block';
-
- var self = this;
- OSjs.Core.getSearchEngine().search(q, {limit: 10, recursive: true}, function(errors, result) {
- if ( errors.length ) {
- console.error('PanelItemSearch::search()', 'errors', errors);
- } else {
- self.renderResult(result);
- }
- });
- };
-
- PanelItemSearch.prototype.renderResult = function(list) {
- if ( !this.$box ) {
- return;
- }
-
- var root = this.$box.querySelector('ul');
- Utils.$empty(root);
-
- this.currentCount = list.length;
-
- if ( this.currentCount ) {
- this.$message.style.display = 'none';
- } else {
- Utils.$empty(this.$message);
- this.$message.appendChild(document.createTextNode(API._('SEARCH_NO_RESULTS')));
- this.$message.style.display = 'block';
- }
-
- list.forEach(function(l) {
- var img = document.createElement('img');
- img.src = l.icon;
-
- var title = document.createElement('div');
- title.className = 'Title';
- title.appendChild(document.createTextNode(l.title));
-
- var description = document.createElement('div');
- description.className = 'Message';
- description.appendChild(document.createTextNode(l.description));
-
- var node = document.createElement('li');
- node.setAttribute('data-launch', l.launch.application);
- node.setAttribute('data-args', JSON.stringify(l.launch.args));
- if ( l.launch.file ) {
- node.setAttribute('data-file', l.launch.file.path);
- node.setAttribute('data-mime', l.launch.file.mime);
- node.setAttribute('data-type', l.launch.file.type);
- }
-
- node.appendChild(img);
- node.appendChild(title);
- node.appendChild(description);
- root.appendChild(node);
- });
- };
-
- PanelItemSearch.prototype.updateSelection = function() {
- var root = this.$box.querySelector('ul');
- var child = root.children[this.currentIndex];
-
- root.querySelectorAll('li').forEach(function(el) {
- Utils.$removeClass(el, 'active');
- });
-
- Utils.$addClass(child, 'active');
- };
-
- PanelItemSearch.prototype.navigateUp = function() {
- if ( !this.currentCount ) {
- return;
- }
-
- if ( this.currentIndex > 0 ) {
- this.currentIndex--;
- } else {
- this.currentIndex = this.currentCount - 1;
- }
-
- this.updateSelection();
- };
-
- PanelItemSearch.prototype.navigateDown = function() {
- if ( !this.currentCount ) {
- return;
- }
-
- if ( this.currentIndex < 0 || this.currentIndex >= (this.currentCount - 1) ) {
- this.currentIndex = 0;
- } else {
- this.currentIndex++;
- }
-
- this.updateSelection();
- };
-
- PanelItemSearch.prototype.navigateOpen = function() {
- if ( this.currentIndex === -1 || !this.currentCount ) {
- return;
- }
-
- var root = this.$box.querySelector('ul');
- var child = root.children[this.currentIndex];
- if ( child ) {
- this.launch(child);
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.PanelItems.Search = PanelItemSearch;
-
-})(
- OSjs.Applications.CoreWM.Class,
- OSjs.Applications.CoreWM.Panel,
- OSjs.Applications.CoreWM.PanelItem,
- OSjs.Applications.CoreWM.PanelItemDialog,
- OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI, OSjs.Core.Window);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, GUI, Utils, API, VFS) {
- 'use strict';
-
- var PADDING_PANEL_AUTOHIDE = 10; // FIXME: Replace with a constant ?!
-
- function defaultSettings(defaults) {
- var compability = Utils.getCompability();
-
- var cfg = {
- animations: compability.css.animation,
- useTouchMenu: compability.touch
- };
-
- if ( defaults ) {
- cfg = Utils.mergeObject(cfg, defaults);
- }
-
- return cfg;
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- /**
- * Application
- */
- var CoreWM = function(args, metadata) {
- var importSettings = args.defaults || {};
-
- WindowManager.apply(this, ['CoreWM', this, args, metadata, defaultSettings(importSettings)]);
-
- this.panels = [];
- this.switcher = null;
- this.iconView = null;
- this.$themeLink = null;
- this.$themeScript = null;
- this.$animationLink = null;
- this.importedSettings = Utils.mergeObject(API.getConfig('SettingsManager.CoreWM'), importSettings);
- this.isResponsive = window.innerWidth <= 800;
-
- this.generatedHotkeyMap = {};
-
- function _winGenericHotkey(ev, win, wm, hotkey) {
- if ( win ) {
- win._onKeyEvent(ev, 'keydown', hotkey);
- }
- }
- this.hotkeyMap = {
- SEARCH: function(ev, win, wm) {
- if ( wm ) {
- var panel = wm.getPanel();
- if ( panel ) {
- var pitem = panel.getItemByType(OSjs.Applications.CoreWM.PanelItems.Search);
- if ( pitem ) {
- ev.preventDefault();
- pitem.show();
- }
- }
- }
- },
- SWITCHER: function(ev, win, wm) {
- if ( wm.getSetting('enableSwitcher') && wm.switcher ) {
- wm.switcher.show(ev, win, wm);
- }
- },
- WINDOW_MINIMIZE: function(ev, win) {
- if ( win ) {
- win._minimize();
- }
- },
- WINDOW_MAXIMIZE: function(ev, win) {
- if ( win ) {
- win._maximize();
- }
- },
- WINDOW_RESTORE: function(ev, win) {
- if ( win ) {
- win._restore();
- }
- },
- WINDOW_MOVE_LEFT: function(ev, win) {
- if ( win ) {
- win._moveTo('left');
- }
- },
- WINDOW_MOVE_RIGHT: function(ev, win) {
- if ( win ) {
- win._moveTo('right');
- }
- },
- WINDOW_MOVE_UP: function(ev, win) {
- if ( win ) {
- win._moveTo('top');
- }
- },
- WINDOW_MOVE_DOWN: function(ev, win) {
- if ( win ) {
- win._moveTo('bottom');
- }
- },
- SAVE: _winGenericHotkey,
- SAVEAS: _winGenericHotkey,
- OPEN: _winGenericHotkey
- };
-
- this._$notifications = document.createElement('corewm-notifications');
- this._$notifications.setAttribute('role', 'log');
-
- document.body.appendChild(this._$notifications);
- };
-
- CoreWM.prototype = Object.create(WindowManager.prototype);
- CoreWM.constructor = WindowManager;
-
- CoreWM.prototype.init = function() {
- var link = (OSjs.Core.getConfig().Connection.RootURI || '/') + 'blank.css';
-
- this.setThemeLink(Utils.checkdir(link));
- this.setAnimationLink(Utils.checkdir(link));
-
- WindowManager.prototype.init.apply(this, arguments);
- };
-
- CoreWM.prototype.setup = function(cb) {
- var self = this;
-
- function initNotifications() {
- var user = OSjs.Core.getHandler().getUserData();
-
- function displayMenu(ev) {
- OSjs.API.createMenu([{
- title: API._('TITLE_SIGN_OUT'),
- onClick: function() {
- OSjs.API.signOut();
- }
- }], ev);
-
- return false;
- }
-
- function toggleFullscreen() {
- var docElm = document.documentElement;
- var notif = self.getNotificationIcon('_FullscreenNotification');
- if ( notif ) {
- API.toggleFullscreen(notif.opts._isFullscreen ? document : docElm, !notif.opts._isFullscreen);
- }
- }
-
- if ( self.getSetting('fullscreen') ) {
- self.createNotificationIcon('_FullscreenNotification', {
- image: OSjs.API.getIcon('actions/gtk-fullscreen.png', '16x16'),
- title: 'Enter fullscreen',
- onClick: toggleFullscreen,
- _isFullscreen: false
- });
- }
-
- self.createNotificationIcon('_HandlerUserNotification', {
- image: API.getIcon('status/avatar-default.png', '16x16'),
- title: API._('TITLE_SIGNED_IN_AS_FMT', user.username),
- onContextMenu: displayMenu,
- onClick: displayMenu
- });
- }
-
- this.applySettings(this._settings.get());
-
- this._on('vfs', function(msg, obj) {
- if ( !obj || msg.match(/^vfs:(un)?mount/) ) {
- return;
- }
-
- var wasTouched = false;
- var desktopPath = self.getSetting('desktopPath');
-
- function _check(f) {
- return f.path.substr(0, desktopPath.length) === desktopPath;
- }
-
- if ( obj.destination ) {
- wasTouched = _check(obj.destination);
- if ( !wasTouched ) {
- wasTouched = _check(obj.source);
- }
- } else {
- wasTouched = _check(obj);
- }
-
- if ( wasTouched && self.iconView ) {
- self.iconView._refresh();
- }
- });
-
- self.initSwitcher();
- self.initDesktop();
- self.initPanels();
- self.initIconView();
-
- initNotifications();
-
- cb();
- };
-
- CoreWM.prototype.destroy = function(force) {
- /*eslint new-cap: "warn"*/
-
- if ( !force && !window.confirm(OSjs.Applications.CoreWM._('Killing this process will stop things from working!')) ) {
- return false;
- }
-
- this.removeNotificationIcon('_HandlerUserNotification');
-
- if ( this.iconView ) {
- this.iconView.destroy();
- }
- if ( this.switcher ) {
- this.switcher.destroy();
- }
-
- // Reset
- this.destroyPanels();
- var settings = this.importedSettings;
- try {
- settings.background = 'color';
- } catch ( e ) {}
-
- this.applySettings(defaultSettings(settings), true);
-
- // Clear DOM
- this._$notifications = Utils.$remove(this._$notifications);
- this.$themeLink = Utils.$remove(this.$themeLink);
- this.$themeScript = Utils.$remove(this.$themeScript);
- this.$animationLink = Utils.$remove(this.$animationLink);
- this.switcher = null;
- this.iconView = null;
-
- return WindowManager.prototype.destroy.apply(this, []);
- };
-
- CoreWM.prototype.destroyPanels = function() {
- this.panels.forEach(function(p) {
- p.destroy();
- });
- this.panels = [];
- };
-
- // Copy from Application
- CoreWM.prototype._createDialog = function(className, args, parentClass) {
- if ( OSjs.Dialogs[className] ) {
-
- var w = Object.create(OSjs.Dialogs[className].prototype);
- OSjs.Dialogs[className].apply(w, args);
-
- if ( parentClass && (parentClass instanceof OSjs.Core.Window) ) {
- parentClass._addChild(w);
- }
-
- this.addWindow(w);
- return w;
- }
- return false;
- };
-
- //
- // Initialization
- //
-
- CoreWM.prototype.initSwitcher = function() {
- this.switcher = new OSjs.Applications.CoreWM.WindowSwitcher();
- };
-
- CoreWM.prototype.initDesktop = function() {
- var self = this;
-
- // Enable dropping of new wallpaper if no iconview is enabled
- GUI.Helpers.createDroppable(document.body, {
- onOver: function(ev, el, args) {
- self.onDropOver(ev, el, args);
- },
-
- onLeave : function() {
- self.onDropLeave();
- },
-
- onDrop : function() {
- self.onDrop();
- },
-
- onItemDropped: function(ev, el, item, args) {
- self.onDropItem(ev, el, item, args);
- },
-
- onFilesDropped: function(ev, el, files, args) {
- self.onDropFile(ev, el, files, args);
- }
- });
-
- document.addEventListener('contextmenu', function(ev) {
- return self.onContextMenu(ev);
- }, true);
-
- document.addEventListener('click', function(ev) {
- return self.onGlobalClick(ev);
- }, true);
- };
-
- CoreWM.prototype.initPanels = function(applySettings) {
- var ps = this.getSetting('panels');
- var added = false;
- var self = this;
-
- if ( ps === false ) {
- added = true;
- } else {
- this.destroyPanels();
-
- (ps || []).forEach(function(storedItem) {
- if ( !storedItem.options ) {
- storedItem.options = {};
- }
-
- var panelSettings = new OSjs.Helpers.SettingsFragment(storedItem.options, 'CoreWM');
- var p = new OSjs.Applications.CoreWM.Panel('Default', panelSettings, self);
- p.init(document.body);
-
- (storedItem.items || []).forEach(function(iter) {
- try {
- if ( typeof iter.settings === 'undefined' || iter.settings === null ) {
- iter.settings = {};
- }
-
- var itemSettings = {};
- try {
- itemSettings = new OSjs.Helpers.SettingsFragment(iter.settings, 'CoreWM');
- } catch ( ex ) {
- console.warn('An error occured while loading PanelItem settings', ex);
- console.warn('stack', ex.stack);
- }
-
- p.addItem(new OSjs.Applications.CoreWM.PanelItems[iter.name](itemSettings));
- added = true;
- } catch ( e ) {
- console.warn('An error occured while creating PanelItem', e);
- console.warn('stack', e.stack);
-
- self.notification({
- icon: 'status/important.png',
- title: 'CoreWM',
- message: OSjs.Applications.CoreWM._('An error occured while creating PanelItem: {0}', e)
- });
- }
- });
-
- self.panels.push(p);
- });
- }
-
- if ( !added ) {
- this.notification({
- timeout : 0,
- icon: 'status/important.png',
- title: 'CoreWM',
- message: OSjs.Applications.CoreWM._('Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)')
- });
- }
-
- if ( applySettings ) {
- // Workaround for windows appearing behind panel
- var p = this.panels[0];
- if ( p && p.getOntop() && p.getPosition('top') ) {
- setTimeout(function() {
- var space = self.getWindowSpace();
- self._windows.forEach(function(iter) {
- if ( iter && iter._position.y < space.top ) {
- console.warn('CoreWM::initPanels()', 'I moved this window because it overlapped with a panel!', iter);
- iter._move(iter._position.x, space.top);
- }
- });
- }, 800);
- }
-
- if ( this.iconView ) {
- this.iconView.resize(this);
- }
- }
-
- setTimeout(function() {
- self.setStyles(self._settings.get());
- }, 1000);
- };
-
- CoreWM.prototype.initIconView = function() {
- var self = this;
-
- var en = this.getSetting('enableIconView');
- if ( !en && this.iconView ) {
- this.iconView.destroy();
- this.iconView = null;
- return;
- }
-
- if ( en && !this.iconView ) {
- this.iconView = new OSjs.Applications.CoreWM.DesktopIconView(this);
- document.body.appendChild(this.iconView.getRoot());
- }
-
- setTimeout(function() {
- if ( self.iconView ) {
- self.iconView.resize(self);
- }
- }, 1000);
- };
-
- //
- // Events
- //
-
- CoreWM.prototype.resize = function(ev, rect, wasInited) {
-
- var space = this.getWindowSpace();
- var margin = this.getSetting('desktopMargin');
- var windows = this._windows;
- var responsive = window.innerWidth <= 800;
-
- function moveIntoView() {
- var i = 0, l = windows.length, iter, wrect;
- var mx, my, moved;
-
- for ( i; i < l; i++ ) {
- iter = windows[i];
- if ( !iter ) {
- continue;
- }
- wrect = iter._getViewRect();
- if ( wrect === null || iter._state.mimimized ) {
- continue;
- }
-
- // Move the window into view if outside of view
- mx = iter._position.x;
- my = iter._position.y;
- moved = false;
-
- if ( (wrect.left + margin) > rect.width ) {
- mx = space.width - iter._dimension.w;
- moved = true;
- }
- if ( (wrect.top + margin) > rect.height ) {
- my = space.height - iter._dimension.h;
- moved = true;
- }
-
- if ( moved ) {
- if ( mx < space.left ) {
- mx = space.left;
- }
- if ( my < space.top ) {
- my = space.top;
- }
- iter._move(mx, my);
- }
-
- // Restore maximized windows (FIXME: Better solution?)
- if ( iter._state.maximized && (wasInited ? iter._restored : true) ) {
- iter._restore(true, false);
- }
- }
- }
-
- function emitResize() {
- windows.forEach(function(w) {
- if ( w ) {
- w._emit('resize');
- }
- });
- }
-
- if ( responsive ) {
- emitResize();
- } else {
- if ( this.isResponsive ) { // Emit the resize signal again if we changed view
- emitResize();
- }
-
- if ( this.getSetting('moveOnResize') ) {
- moveIntoView();
- }
- }
-
- this.isResponsive = responsive;
- };
-
- CoreWM.prototype.onDropLeave = function() {
- document.body.setAttribute('data-attention', 'false');
- };
-
- CoreWM.prototype.onDropOver = function() {
- document.body.setAttribute('data-attention', 'true');
- };
-
- CoreWM.prototype.onDrop = function() {
- document.body.setAttribute('data-attention', 'false');
- };
-
- CoreWM.prototype.onDropItem = function(ev, el, item, args) {
- document.body.setAttribute('data-attention', 'false');
-
- var self = this;
-
- var _applyWallpaper = function(data) {
- this.applySettings({wallpaper: data.path}, false, true);
- };
-
- var _createShortcut = function(data) {
- if ( this.iconView ) {
- this.iconView.addShortcut(data, this, true);
- }
- };
-
- var _openMenu = function(data) {
- var pos = {x: ev.clientX, y: ev.clientY};
- OSjs.API.createMenu([{
- title: OSjs.Applications.CoreWM._('Create shortcut'),
- onClick: function() {
- _createShortcut.call(self, data);
- }
- }, {
- title: OSjs.Applications.CoreWM._('Set as wallpaper'),
- onClick: function() {
- _applyWallpaper.call(self, data);
- }
- }], pos);
- };
-
- if ( item ) {
- var data = item.data;
- if ( item.type === 'file' ) {
- if ( data && data.mime ) {
- if ( data.mime.match(/^image/) ) {
- if ( this.iconView ) {
- _openMenu(data);
- } else {
- _applyWallpaper.call(this, data);
- }
- } else {
- _createShortcut.call(this, data);
- }
- }
- } else if ( item.type === 'application' ) {
- _createShortcut.call(this, data);
- }
- }
- };
-
- CoreWM.prototype.onDropFile = function(ev, el, files, args) {
- VFS.upload({
- destination: 'desktop:///',
- files: files
- }, function(error, file) {
- // Do nothing as the message API will catch this
- });
- };
-
- CoreWM.prototype.onGlobalClick = function(ev) {
- this.themeAction('event', [ev]);
- return true;
- };
-
- CoreWM.prototype.onContextMenu = function(ev) {
- if ( ev.target === document.body ) {
- ev.preventDefault();
- ev.stopPropagation();
- this.openDesktopMenu(ev);
- return false;
- }
- return true;
- };
-
- CoreWM.prototype.onKeyUp = function(ev, win) {
- if ( !ev ) {
- return;
- }
-
- if ( !ev.altKey ) {
- if ( this.switcher ) {
- this.switcher.hide(ev, win, this);
- }
- }
- };
-
- CoreWM.prototype.onKeyDown = function(ev, win) {
- var combination = false;
- var self = this;
-
- if ( ev ) {
- var map = this.generatedHotkeyMap;
- Object.keys(map).some(function(i) {
- if ( Utils.keyCombination(ev, i) ) {
- map[i](ev, win, self);
- combination = i;
- return true;
- }
- return false;
- });
- }
- return combination;
- };
-
- CoreWM.prototype.showSettings = function(category) {
- OSjs.API.launch('ApplicationSettings', {category: category});
- };
-
- CoreWM.prototype.eventWindow = function(ev, win) {
- // Make sure panel items are updated correctly
- // FIXME: This is not compatible with other PanelItems
-
- this.panels.forEach(function(panel) {
- if ( panel ) {
- var panelItem = panel.getItem(OSjs.Applications.CoreWM.PanelItems.WindowList);
- if ( panelItem ) {
- panelItem.update(ev, win);
- }
- }
- });
-
- // Unfocus IconView if we focus a window
- if ( ev === 'focus' ) {
- if ( this.iconView ) {
- this.iconView.blur();
- }
- }
- };
-
- CoreWM.prototype.notification = (function() {
- var _visible = 0;
-
- return function(opts) {
- opts = opts || {};
- opts.icon = opts.icon || null;
- opts.title = opts.title || null;
- opts.message = opts.message || '';
- opts.onClick = opts.onClick || function() {};
-
- if ( typeof opts.timeout === 'undefined' ) {
- opts.timeout = 5000;
- }
-
- console.debug('CoreWM::notification()', opts);
-
- var container = document.createElement('corewm-notification');
- var classNames = [''];
- var self = this;
- var timeout = null;
- var wm = OSjs.Core.getWindowManager();
-
- var animationCallback = null;
-
- function _remove() {
- if ( timeout ) {
- clearTimeout(timeout);
- timeout = null;
- }
-
- container.onclick = null;
- function _removeDOM() {
- Utils.$unbind(container);
- if ( container.parentNode ) {
- container.parentNode.removeChild(container);
- }
- _visible--;
- if ( _visible <= 0 ) {
- self._$notifications.style.display = 'none';
- }
- }
-
- var anim = wm ? wm.getSetting('animations') : false;
- if ( anim ) {
- container.setAttribute('data-hint', 'closing');
- animationCallback = function() {
- _removeDOM();
- };
- } else {
- container.style.display = 'none';
- _removeDOM();
- }
- }
-
- if ( opts.icon ) {
- var icon = document.createElement('img');
- icon.alt = '';
- icon.src = API.getIcon(opts.icon, '32x32');
- classNames.push('HasIcon');
- container.appendChild(icon);
- }
-
- if ( opts.title ) {
- var title = document.createElement('div');
- title.className = 'Title';
- title.appendChild(document.createTextNode(opts.title));
- classNames.push('HasTitle');
- container.appendChild(title);
- }
-
- if ( opts.message ) {
- var message = document.createElement('div');
- message.className = 'Message';
- var lines = opts.message.split('\n');
- lines.forEach(function(line, idx) {
- message.appendChild(document.createTextNode(line));
- if ( idx < (lines.length - 1) ) {
- message.appendChild(document.createElement('br'));
- }
- });
- classNames.push('HasMessage');
- container.appendChild(message);
- }
-
- _visible++;
- if ( _visible > 0 ) {
- this._$notifications.style.display = 'block';
- }
-
- container.setAttribute('aria-label', String(opts.title));
- container.setAttribute('role', 'alert');
-
- container.className = classNames.join(' ');
- container.onclick = function(ev) {
- _remove();
-
- opts.onClick(ev);
- };
-
- var preventTimeout;
- function _onanimationend(ev) {
- if ( typeof self._animationCallback === 'function') {
- clearTimeout(preventTimeout);
- preventTimeout = setTimeout(function() {
- animationCallback(ev);
- animationCallback = false;
- }, 10);
- }
- }
-
- Utils.$bind(container, 'transitionend', _onanimationend);
- Utils.$bind(container, 'animationend', _onanimationend);
-
- var space = this.getWindowSpace(true);
- this._$notifications.style.marginTop = String(space.top) + 'px';
- this._$notifications.appendChild(container);
-
- if ( opts.timeout ) {
- timeout = setTimeout(function() {
- _remove();
- }, opts.timeout);
- }
- };
- })();
-
- CoreWM.prototype._getNotificationArea = function(panelId) {
- panelId = panelId || 0;
- var panel = this.panels[panelId];
- if ( panel ) {
- return panel.getItem(OSjs.Applications.CoreWM.PanelItems.NotificationArea, false);
- }
-
- return false;
- };
-
- CoreWM.prototype.createNotificationIcon = function(name, opts, panelId) {
- opts = opts || {};
- if ( !name ) {
- return false;
- }
-
- var pitem = this._getNotificationArea(panelId);
- if ( pitem ) {
- return pitem.createNotification(name, opts);
- }
- return null;
- };
-
- CoreWM.prototype.removeNotificationIcon = function(name, panelId) {
- if ( !name ) {
- return false;
- }
-
- var pitem = this._getNotificationArea(panelId);
- if ( pitem ) {
- pitem.removeNotification(name);
- return true;
- }
- return false;
- };
-
- CoreWM.prototype.getNotificationIcon = function(name, panelId) {
- if ( !name ) {
- return false;
- }
-
- var pitem = this._getNotificationArea(panelId);
- if ( pitem ) {
- return pitem.getNotification(name);
- }
- return false;
- };
-
- CoreWM.prototype._getContextMenu = function(arg) {
- var self = this;
- var menu = [];
-
- if ( this.iconView ) {
- menu = this.iconView._getContextMenu(arg);
- }
-
- menu.push({
- title: OSjs.Applications.CoreWM._('Open settings'),
- onClick: function(ev) {
- self.showSettings();
- }
- });
-
- if ( this.getSetting('enableIconView') === true ) {
- menu.push({
- title: OSjs.Applications.CoreWM._('Hide Icons'),
- onClick: function(ev) {
- self.applySettings({enableIconView: false}, false, true);
- }
- });
- } else {
- menu.push({
- title: OSjs.Applications.CoreWM._('Show Icons'),
- onClick: function(ev) {
- self.applySettings({enableIconView: true}, false, true);
- }
- });
- }
-
- return menu;
- };
-
- CoreWM.prototype.openDesktopMenu = function(ev) {
- if ( this._emit('wm:contextmenu', [ev, this]) === false ) {
- return;
- }
-
- var menu = this._getContextMenu();
- API.createMenu(menu, ev);
- };
-
- CoreWM.prototype.applySettings = function(settings, force, save, triggerWatch) {
- var self = this;
- console.group('CoreWM::applySettings()');
-
- settings = force ? settings : Utils.mergeObject(this._settings.get(), settings);
-
- console.log(settings);
-
- this.setBackground(settings);
- this.setTheme(settings);
- this.setIconView(settings);
- this.setStyles(settings);
-
- if ( save ) {
- this.initPanels(true);
- if ( settings ) {
- if ( settings.language ) {
- OSjs.Core.getSettingsManager().set('Core', 'Locale', settings.language, triggerWatch);
- API.setLocale(settings.language);
- }
- this._settings.set(null, settings, save, triggerWatch);
- }
- }
-
- this.generatedHotkeyMap = {};
-
- var keys = this._settings.get('hotkeys');
- Object.keys(keys).forEach(function(k) {
- self.generatedHotkeyMap[keys[k]] = function() {
- var args = Array.prototype.slice.call(arguments);
- args.push(k);
- return self.hotkeyMap[k].apply(this, args);
- };
- });
-
- console.groupEnd();
-
- return true;
- };
-
- CoreWM.prototype.themeAction = function(action, args) {
- args = args || [];
- if ( OSjs.Applications.CoreWM.CurrentTheme ) {
- try {
- OSjs.Applications.CoreWM.CurrentTheme[action].apply(null, args);
- } catch ( e ) {
- console.warn('CoreWM::themeAction()', 'exception', e);
- console.warn(e.stack);
- }
- }
- };
-
- //
- // Theme Setters
- //
-
- CoreWM.prototype.setBackground = function(settings) {
- if ( settings.backgroundColor ) {
- document.body.style.backgroundColor = settings.backgroundColor;
- }
- if ( settings.fontFamily ) {
- document.body.style.fontFamily = settings.fontFamily;
- }
-
- var name = settings.wallpaper;
- var type = settings.background;
-
- var className = 'color';
- var back = 'none';
-
- if ( name && type.match(/^image/) ) {
- back = name;
- switch ( type ) {
- case 'image' : className = 'normal'; break;
- case 'image-center': className = 'center'; break;
- case 'image-fill' : className = 'fill'; break;
- case 'image-strech': className = 'strech'; break;
- default: className = 'default'; break;
- }
- }
-
- document.body.setAttribute('data-background-style', className);
-
- if ( back !== 'none' ) {
- try {
- VFS.url(back, function(error, result) {
- if ( !error ) {
- back = 'url(\'' + result + '\')';
- document.body.style.backgroundImage = back;
- }
- });
- } catch ( e ) {
- console.warn('CoreWM::setBackground()', e, e.stack);
- }
- } else {
- document.body.style.backgroundImage = back;
- }
- };
-
- CoreWM.prototype.setTheme = function(settings) {
- if ( this.$themeLink ) {
- if ( settings.styleTheme ) {
- this.setThemeLink(API.getThemeCSS(settings.styleTheme));
- } else {
- console.warn('NO THEME WAS SELECTED!');
- }
- }
-
- if ( this.$themeLink ) {
- this.themeAction('destroy');
- }
-
- this.setThemeScript(API.getThemeResource('theme.js'));
-
- if ( this.$animationLink ) {
- if ( settings.animations ) {
- this.setAnimationLink(API.getApplicationResource(this, 'animations.css'));
- } else {
- this.setAnimationLink(API.getThemeCSS(null));
- }
- }
- };
-
- CoreWM.prototype.setIconView = function(settings) {
- if ( settings.enableIconView ) {
- this.initIconView();
- } else {
- if ( this.iconView ) {
- this.iconView.destroy();
- this.iconView = null;
- }
- }
- };
-
- CoreWM.prototype.setStyles = function(settings) {
- /*eslint dot-notation: "off"*/
-
- var styles = {};
- var raw = '';
-
- if ( settings.panels ) {
- settings.panels.forEach(function(p, i) {
- styles['corewm-panel'] = {};
- styles['corewm-notification'] = {};
- styles['corewm-notification:before'] = {
- 'opacity': p.options.opacity / 100
- };
- styles['corewm-panel:before'] = {
- 'opacity': p.options.opacity / 100
- };
-
- styles['.custom-notification'] = {};
- styles['.custom-notification:before'] = {
- 'opacity': p.options.opacity / 100
- };
-
- if ( p.options.background ) {
- styles['corewm-panel:before']['background-color'] = p.options.background;
- styles['corewm-notification:before']['background-color'] = p.options.background;
- styles['.custom-notification:before']['background-color'] = p.options.background;
- }
- if ( p.options.foreground ) {
- styles['corewm-panel']['color'] = p.options.foreground;
- styles['corewm-notification']['color'] = p.options.foreground;
- styles['.custom-notification']['color'] = p.options.foreground;
- }
- });
- }
-
- raw += '@media all and (max-width: 800px) {\n';
- raw += 'application-window {\n';
-
- var borderSize = 0;
- var space = this.getWindowSpace(true);
- var theme = this.getStyleTheme(true);
- if ( theme && theme.style && theme.style.window ) {
- borderSize = theme.style.window.border;
- }
-
- raw += 'top:' + String(space.top + borderSize) + 'px !important;\n';
- raw += 'left:' + String(space.left + borderSize) + 'px !important;\n';
- raw += 'right:' + String(borderSize) + 'px !important;\n';
- raw += 'bottom:' + String(space.bottom + borderSize) + 'px !important;\n';
- raw += '\n}';
- raw += '\n}';
-
- styles['#CoreWMDesktopIconView'] = {};
- if ( settings.invertIconViewColor && settings.backgroundColor ) {
- styles['#CoreWMDesktopIconView']['color'] = Utils.invertHEX(settings.backgroundColor);
- }
-
- if ( Object.keys(styles).length ) {
- this.createStylesheet(styles, raw);
- }
- };
-
- CoreWM.prototype.setAnimationLink = function(src) {
- if ( this.$animationLink ) {
- this.$animationLink = Utils.$remove(this.$animationLink);
- }
- this.$animationLink = Utils.$createCSS(src);
- };
-
- CoreWM.prototype.setThemeLink = function(src) {
- if ( this.$themeLink ) {
- this.$themeLink = Utils.$remove(this.$themeLink);
- }
- this.$themeLink = Utils.$createCSS(src);
- };
-
- CoreWM.prototype.setThemeScript = function(src) {
- if ( this.$themeScript ) {
- this.$themeScript = Utils.$remove(this.$themeScript);
- }
-
- var self = this;
- if ( src ) {
- this.$themeScript = Utils.$createJS(src, null, function() {
- self.themeAction('init');
- });
- }
- };
-
- //
- // Getters / Setters
- //
-
- CoreWM.prototype.getWindowSpace = function(noMargin) {
- var s = WindowManager.prototype.getWindowSpace.apply(this, arguments);
- var d = this.getSetting('desktopMargin');
-
- s.bottom = 0;
-
- this.panels.forEach(function(p) {
- if ( p && p.getOntop() ) {
- var ph = p.getHeight();
- if ( p.getAutohide() ) {
- s.top += PADDING_PANEL_AUTOHIDE;
- s.height -= PADDING_PANEL_AUTOHIDE;
- } else if ( p.getPosition('top') ) {
- s.top += ph;
- s.height -= ph;
- } else {
- s.height -= ph;
- }
-
- if ( p._options.get('position') === 'bottom' ) {
- s.bottom += ph;
- }
- }
- });
-
- if ( !noMargin ) {
- if ( d > 0 ) {
- s.top += d;
- s.left += d;
- s.width -= (d * 2);
- s.height -= (d * 2);
- }
- }
-
- return s;
- };
-
- CoreWM.prototype.getWindowPosition = function(borders) {
- borders = (typeof borders === 'undefined') || (borders === true);
- var pos = WindowManager.prototype.getWindowPosition.apply(this, arguments);
-
- var m = borders ? this.getSetting('desktopMargin') : 0;
- pos.x += m || 0;
- pos.y += m || 0;
-
- this.panels.forEach(function(p) {
- if ( p && p.getOntop() && p.getPosition('top') ) {
- if ( p.getAutohide() ) {
- pos.y += PADDING_PANEL_AUTOHIDE;
- } else {
- pos.y += p.getHeight();
- }
- }
- });
-
- return pos;
- };
-
- CoreWM.prototype.getSetting = function(k) {
- var val = WindowManager.prototype.getSetting.apply(this, arguments);
- if ( typeof val === 'undefined' || val === null ) {
- return defaultSettings(this.importedSettings)[k];
- }
- return val;
- };
-
- CoreWM.prototype.getDefaultSetting = function(k) {
- var settings = defaultSettings(this.importedSettings);
- if ( typeof k !== 'undefined' ) {
- return settings[k];
- }
- return settings;
- };
-
- CoreWM.prototype.getPanels = function() {
- return this.panels;
- };
-
- CoreWM.prototype.getPanel = function(idx) {
- return this.panels[(idx || 0)];
- };
-
- CoreWM.prototype.getStyleTheme = function(returnMetadata) {
- var name = this.getSetting('styleTheme') || null;
- if ( returnMetadata ) {
- var found = null;
- if ( name ) {
- this.getStyleThemes().forEach(function(t) {
- if ( t && t.name === name ) {
- found = t;
- }
- });
- }
- return found;
- }
- return name;
- };
-
- CoreWM.prototype.getSoundTheme = function() {
- return this.getSetting('soundTheme') || 'default';
- };
-
- CoreWM.prototype.getIconTheme = function() {
- return this.getSetting('iconTheme') || 'default';
- };
-
- CoreWM.prototype.getSoundFilename = function(k) {
- var sounds = this.getSetting('sounds') || {};
- return sounds[k] || null;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM.Class = Object.seal(CoreWM);
- OSjs.Applications.CoreWM.PanelItems = OSjs.Applications.CoreWM.PanelItems || {};
- OSjs.Applications.CoreWM.CurrentTheme = OSjs.Applications.CoreWM.CurrentTheme || null;
-
-})(OSjs.Core.WindowManager, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, GUI, Utils, API, VFS) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Killing this process will stop things from working!' : 'Прекратяването на този процес ще спре някой приложения!',
- 'Open settings' : 'Отвори настойки',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Вашият панел няма обекти. Отидете в настойки за да върнете по подразбиране или да модифицирате ръчно\n(Тази грешка може да се появи след актуализация на OS.js)',
- 'Create shortcut' : 'Създай пряк път',
- 'Set as wallpaper' : 'Направи изображение за фон',
- 'An error occured while creating PanelItem: {0}' : 'Появи се грешка докато се създаваше панелен обект: {0}',
-
- 'Development' : 'Разработка',
- 'Education' : 'Образование',
- 'Games' : 'Игри',
- 'Graphics' : 'Графика',
- 'Network' : 'Мрежа',
- 'Multimedia' : 'Мултимедия',
- 'Office' : 'Офис',
- 'System' : 'Система',
- 'Utilities' : 'Инструменти',
- 'Other' : 'Други'
- },
- de_DE : {
- 'Killing this process will stop things from working!' : 'Das Beenden dieses Prozesses wird Konsequenzen haben!',
- 'Open settings' : 'Einstellungen öffnen',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Ihr Panel enthält keine Items. Öffnen Sie die Einstellungen um die Panel-Einstellungen zurückzusetzen oder manuell zu ändern (Dieser Fehler kann nach einem Upgrade von OS.js entstehen)',
- 'Create shortcut' : 'Verknüpfung erstellen',
- 'Set as wallpaper' : 'Als Hintergrund verwenden',
- 'An error occured while creating PanelItem: {0}' : 'Während des Erstellens eines Panel-Items ist folgender Fehler aufgetreten: {0}',
-
- 'Development' : 'Entwicklung',
- 'Education' : 'Bildung',
- 'Games' : 'Spiele',
- 'Graphics' : 'Grafik',
- 'Network' : 'Netzwerk',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Büro',
- 'System' : 'System',
- 'Utilities' : 'Zubehör',
- 'Other' : 'Andere'
- },
- es_ES : {
- 'Killing this process will stop things from working!' : '¡Forzar la terminación de este proceso hará que las cosas dejen de funcionar!',
- 'Open settings': 'Abrir preferencias',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Tu panel no tiene elementos. Restablece los valores por defecto en las preferencias, o modifícalo manualmente\n(Este error puede aparecer tras una actualización de OS.js)',
- 'Create shortcut': 'Crear acceso directo',
- 'Set as wallpaper' : 'Seleccionar como fondo de pantalla',
- 'An error occured while creating PanelItem: {0}' : 'Se produjo un error al crear el PanelItem: {0}',
-
- 'Development' : 'Desarrollo',
- 'Education' : 'Educación',
- 'Games' : 'Juegos',
- 'Graphics' : 'Gráficos',
- 'Network' : 'Red',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Ofimática',
- 'System' : 'Sistema',
- 'Utilities' : 'Herramientas',
- 'Other' : 'Otros'
- },
- fr_FR : {
- 'Killing this process will stop things from working!' : 'Tuer ce processus va arrêter d\'autres éléments de fonctionner !',
- 'Open settings' : 'Ouvrir les paramètres',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Votre panneau n\'a aucun objet. Rendez-vous dans les paramètres pour remettre à zéro ou modifier manuellement\n(Cette erreur peut survenir après avori mis à jour OS.js)',
- 'Create shortcut' : 'Créer un raccourci',
- 'Set as wallpaper' : 'Définir un fond d\'écran',
- 'An error occured while creating PanelItem: {0}' : 'Une erreur est survenue pendant la création du PanelItem: {0}',
- 'Show Icons' : 'Afficher les icônes',
- 'Hide Icons' : 'Cacher les icônes',
-
- 'Development' : 'Développement',
- 'Education' : 'Éducation',
- 'Games' : 'Jeux',
- 'Graphics' : 'Graphique',
- 'Network' : 'Réseau',
- 'Multimedia' : 'Multimédia',
- 'Office' : 'Bureautique',
- 'System' : 'Système',
- 'Utilities' : 'Utilitaires',
- 'Other' : 'Autre'
- },
- ar_DZ : {
- 'Killing this process will stop things from working!' : 'إنهاء هذا البرنامج سيوقف الأشياء عن العمل',
- 'Open settings' : 'فتح الإعدادات',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'لايوجد أي شيء في لوحتك، إذهب إلى إعدادات وقم بإستعادة الأشياء إلى الحالة الإفتراضية أو غيرها يدويا (يحدث هذا أحيانا عند تحديث الـ OS.js)',
- 'Create shortcut' : 'إنشاء إختصار',
- 'Set as wallpaper' : 'وضع كخلفية سطح المكتب',
- 'An error occured while creating PanelItem: {0}' : 'حدث خطأ أثناء إنشاء عنصر في اللوحة : {0}',
- 'Show Icons' : 'إظهار الأيقونات',
- 'Hide Icons' : 'إخفاء الأيقونات',
-
- 'Development' : 'تطوير',
- 'Education' : 'تعليم',
- 'Games' : 'ألعاب',
- 'Graphics' : 'رسومات',
- 'Network' : 'شبكة',
- 'Multimedia' : 'تعدد الوسائط',
- 'Office' : 'مكتبيات',
- 'System' : 'نظام',
- 'Utilities' : 'أدوات',
- 'Other' : 'أخرى'
- },
- it_IT : {
- 'Killing this process will stop things from working!' : 'Terminare questo processo bloccherà altre funzionalità!',
- 'Open settings' : 'Apri settaggi',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Il tuo pannello non ha elementi. Vai nei settaggi per resettare ai valori predefiniti o modificarli manualmente\n(Questo errore può accadere dopo un aggiornamento di OS.js)',
- 'Create shortcut' : 'Crea colelgamento',
- 'Set as wallpaper' : 'Imposta come sfondo desktop',
- 'An error occured while creating PanelItem: {0}' : 'Si è verificato un errore nella creazione del PanelItem: {0}',
- 'Show Icons' : 'Mostra icone',
- 'Hide Icons' : 'Nascondi icone',
-
- 'Development' : 'Sviluppo',
- 'Education' : 'Educazione',
- 'Games' : 'Giochi',
- 'Graphics' : 'Grafica',
- 'Network' : 'Reti',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Ufficio',
- 'System' : 'Sistema',
- 'Utilities' : 'Utilità',
- 'Other' : 'Altro'
- },
- ko_KR : {
- 'Killing this process will stop things from working!' : '이 프로세스를 종료 할 시 작업 중인 것들이 종료됩니다!',
- 'Open settings' : '환경설정 열기',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : '패널에 항목이 없습니다. 환경설정에서 초기화하거나 직접 수정하여 주십시오.\n(이 오류는 OS.js의 업그레이드 후 발생하는 문제일 수도 있습니다)',
- 'Create shortcut' : '단축키 생성',
- 'Set as wallpaper' : '바탕화면으로 지정',
- 'An error occured while creating PanelItem: {0}' : '해당 패널 항목 생성 중 오류가 발생 하였습니다: {0}',
-
- 'Development' : '개발',
- 'Education' : '교육',
- 'Games' : '게임',
- 'Graphics' : '그래픽',
- 'Network' : '네트워크',
- 'Multimedia' : '멀티미디어',
- 'Office' : '오피스',
- 'System' : '시스템',
- 'Utilities' : '유틸리티',
- 'Other' : '기타'
- },
- nl_NL : {
- 'Killing this process will stop things from working!' : 'Het stoppen van dit proces zal er voor zorgen dat dingen niet meer werken!',
- 'Open settings' : 'Instellingen openen',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Het paneel bevat geen items. Ga naar instellingen om te herstellen naar de standaard of om handmatig te wijzigen\n(Deze fout kan het gevolg zijn van een update van OS.js)',
- 'Create shortcut' : 'Maak een link',
- 'Set as wallpaper' : 'Als achtergrond gebruiken',
- 'An error occured while creating PanelItem: {0}' : 'Er is een fout opgetreden tijdens het maken van paneel item: {0}',
-
- 'Development' : 'Ontwikkeling',
- 'Education' : 'Educatie',
- 'Games' : 'Spellen',
- 'Graphics' : 'Grafisch',
- 'Network' : 'Netwerk',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Kantoor',
- 'System' : 'Systeem',
- 'Utilities' : 'Toebehoren',
- 'Other' : 'Overig'
- },
- no_NO : {
- 'Killing this process will stop things from working!' : 'Dreping av denne prosessen vil få konsekvenser!',
- 'Open settings' : 'Åpne instillinger',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Ditt panel har ingen objekter. Gå til instillinger for å nullstille eller modifisere manuelt\n(Denne feilen kan oppstå etter en oppdatering av OS.js)',
- 'Create shortcut' : 'Lag snarvei',
- 'Set as wallpaper' : 'Sett som bakgrunn',
- 'An error occured while creating PanelItem: {0}' : 'En feil oppstod under lasting av PanelItem: {0}',
- 'Show Icons' : 'Vis Ikoner',
- 'Hide Icons' : 'Skjul Ikoner',
- 'Create in {0}' : 'Opprett i {0}',
-
- 'Development' : 'Utvikling',
- 'Education' : 'Utdanning',
- 'Games' : 'Spill',
- 'Graphics' : 'Grafikk',
- 'Network' : 'Nettverk',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Kontor',
- 'System' : 'System',
- 'Utilities' : 'Verktøy',
- 'Other' : 'Andre'
- },
- pl_PL : {
- 'Killing this process will stop things from working!' : 'Zabicie tego procesu zatrzyma wykonywanie działań!',
- 'Open settings' : 'Otwórz ustawienia',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Twój panel nie ma elementów. Idź do ustawień aby przywrócić domyślne lub zmień ręcznie\n(Ten błąd może wystąpić po aktualizacji OS.js)',
- 'Create shortcut' : 'Utwórz skrót',
- 'Set as wallpaper' : 'Ustaw jako tapetę',
- 'An error occured while creating PanelItem: {0}' : 'Wystąpił błąd podczas tworzenia PanelItem: {0}',
- 'Show Icons' : 'Pokaż Ikony',
- 'Hide Icons' : 'Ukryj Ikony',
-
- 'Development' : 'Development',
- 'Education' : 'Edukacja',
- 'Games' : 'Gry',
- 'Graphics' : 'Graficzne',
- 'Network' : 'Sieć',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Biuro',
- 'System' : 'System',
- 'Utilities' : 'Użytkowe',
- 'Other' : 'Inne'
- },
- ru_RU : {
- 'Killing this process will stop things from working!' : 'Завершение этого процесса остановит работу системы!',
- 'Open settings': 'Открыть настройки',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'На вашей панели отсутствуют элементы. Откройте настройки для сброса панели к начальному состоянию или ручной настройки\n(Эта ошибка может произойти после обновления OS.js)',
- 'Create shortcut': 'Создать ярлык',
- 'Set as wallpaper' : 'Установить как обои',
- 'An error occured while creating PanelItem: {0}' : 'Произошла обшибка при создании PanelItem: {0}',
-
- 'Development' : 'Разработка',
- 'Education' : 'Образование',
- 'Games' : 'Игры',
- 'Graphics' : 'Графика',
- 'Network' : 'Интернет',
- 'Multimedia' : 'Мультимедиа',
- 'Office' : 'Офис',
- 'System' : 'Система',
- 'Utilities' : 'Утилиты',
- 'Other' : 'Другое'
- },
- sk_SK : {
- 'Open settings' : 'Otvor nastavenia',
- 'Create shortcut' : 'Vytvor linku',
- 'Set as wallpaper' : 'Nastav ako tapetu',
- 'An error occured while creating PanelItem: {0}' : 'Chyba pri vytváraní položky: {0}',
-
- 'Development' : 'Vývoj',
- 'Education' : 'Vzdelávanie',
- 'Games' : 'Hry',
- 'Graphics' : 'Grafika',
- 'Network' : 'Sieť',
- 'Multimedia' : 'Multimédiá',
- 'Office' : 'Kancelária',
- 'System' : 'Systém',
- 'Utilities' : 'Pomôcky',
- 'Other' : 'Ostatné'
- },
- tr_TR : {
- 'Open settings' : 'Ayarları Aç',
- 'Create shortcut' : 'Kısayol Oluştur',
- 'Set as wallpaper' : 'Arkaplan olarak ayarla',
- 'An error occured while creating PanelItem: {0}' : '{0} oluşturulurken bir hata meydana geldi',
-
- 'Development' : 'Geliştirici',
- 'Education' : 'Eğitim',
- 'Games' : 'Oyunlar',
- 'Graphics' : 'Grafikler',
- 'Network' : 'Ağ',
- 'Multimedia' : 'Multimedia',
- 'Office' : 'Ofis',
- 'System' : 'Sistem',
- 'Utilities' : 'Yan Gereksinimler',
- 'Other' : 'Diğer'
- },
- vi_VN : {
- 'Killing this process will stop things from working!' : 'Đóng quá trình này sẽ làm mọi thứ bị tắt!',
- 'Open settings' : 'Mở cài đặt',
- 'Your panel has no items. Go to settings to reset default or modify manually\n(This error may occur after upgrades of OS.js)' : 'Bảng điều khiển của bạn không có mục nào. Vào cài đặt để thiết lập lại mặc định hoặc sửa đổi bằng tay\n(Lỗi này có thể xảy ra sau khi nâng cấp OS.js)',
- 'Create shortcut' : 'Tạo lối tắt',
- 'Set as wallpaper' : 'Đặt làm hình nền',
- 'An error occured while creating PanelItem: {0}' : 'Có lỗi xảy ra trong khi tạo PanelItem: {0}',
- 'Show Icons' : 'Hiện các biểu tượng',
- 'Hide Icons' : 'Ẩn các biểu tượng',
- 'Create in {0}' : 'Tạo trong {0}',
-
- 'Development' : 'Phát triển',
- 'Education' : 'Giáo dục',
- 'Games' : 'Trò chơi',
- 'Graphics' : 'Đồ họa',
- 'Network' : 'Mạng',
- 'Multimedia' : 'Đa phương tiện',
- 'Office' : 'Văn phòng',
- 'System' : 'Hệ thống',
- 'Utilities' : 'Tiện ích',
- 'Other' : 'Khác'
- }
-
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
- OSjs.Applications.CoreWM._ = _;
-
-})(OSjs.Core.WindowManager, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
diff --git a/build/htdocs/dist/packages/default/CoreWM/libs.js b/build/htdocs/dist/packages/default/CoreWM/libs.js
deleted file mode 100644
index 2d11890..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/libs.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(WindowManager, Window, GUI, Utils, API, VFS) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
-
-})(OSjs.Core.WindowManager, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
diff --git a/build/htdocs/dist/packages/default/CoreWM/metadata.json b/build/htdocs/dist/packages/default/CoreWM/metadata.json
deleted file mode 100644
index 4633c23..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/metadata.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "className": "CoreWM",
- "name": "OS.js Window Manager",
- "names": {
- "bg_BG": "Мениджър на прозорци на OS.js",
- "de_DE": "OS.js Fenster-Manager",
- "es_ES": "OS.js Window Manager",
- "fr_FR": "Gestionnaire de fenêtre OS.js",
- "it_IT": "OS.js Gestore Finestre",
- "ko_KR": "OS.js 윈도우 관리자",
- "nl_NL": "OS.js venster beheer",
- "no_NO": "OS.js Vinduhåndterer",
- "pl_PL": "Menedżer Okien OS.js",
- "ru_RU": "OS.js Оконный менеджер",
- "sk_SK": "Správca Okien OS.js",
- "tr_TR": "OS.js Pencere Yöneticisi",
- "vi_VN": "Quản lí cửa sổ OS.js"
- },
- "singular": true,
- "type": "windowmanager",
- "icon": "apps/gnome-window-manager.png",
- "splash": false,
- "preload": [
- {
- "src": "scheme.html",
- "type": "scheme"
- },
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- }
- ],
- "panelItems": {
- "AppMenu": {
- "Name": "AppMenu",
- "Description": "Application Menu",
- "Icon": "actions/stock_about.png",
- "HasOptions": false
- },
- "Buttons": {
- "Name": "Buttons",
- "Description": "Button Bar",
- "Icon": "actions/stock_about.png"
- },
- "Clock": {
- "Name": "Clock",
- "Description": "View the time",
- "Icon": "status/appointment-soon.png",
- "HasOptions": true
- },
- "NotificationArea": {
- "Name": "NotificationArea",
- "Description": "View notifications",
- "Icon": "apps/gnome-panel-notification-area.png"
- },
- "Search": {
- "Name": "Search",
- "Description": "Perform searches",
- "Icon": "actions/find.png",
- "HasOptions": true
- },
- "Weather": {
- "Name": "Weather",
- "Description": "Weather notification",
- "Icon": "status/weather-few-clouds.png"
- },
- "WindowList": {
- "Name": "Window List",
- "Description": "Toggle between open windows",
- "Icon": "apps/xfwm4.png"
- }
- },
- "path": "default/CoreWM",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/CoreWM/scheme.html b/build/htdocs/dist/packages/default/CoreWM/scheme.html
deleted file mode 100644
index d9e1e0b..0000000
--- a/build/htdocs/dist/packages/default/CoreWM/scheme.html
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
- Time Format String:
-
-
- H:i:s
-
-
-
- Tooltip Format String:
-
-
- l, j F Y
-
-
-
- Interval:
-
-
-
- 1 second
- 1 minute
- 1 hour
-
-
-
-
- UTC Time:
-
-
-
-
-
-
-
-
- Apply
- Cancel
-
-
-
-
-
-
-
-
-
- Launch:
-
-
- ApplicationClassName
-
-
-
- Label:
-
-
-
-
-
-
- Launch arguments:
-
-
-
-
-
-
-
-
- Apply
- Cancel
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Draw/checkerboard.png b/build/htdocs/dist/packages/default/Draw/checkerboard.png
deleted file mode 100644
index b757ac3..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/checkerboard.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/combined.css b/build/htdocs/dist/packages/default/Draw/combined.css
deleted file mode 100644
index d4fc2d2..0000000
--- a/build/htdocs/dist/packages/default/Draw/combined.css
+++ /dev/null
@@ -1,41 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationDrawWindow {
-}*/
-
-.ApplicationDrawWindow gui-canvas {
- background : url('checkerboard.png');
-}
-
-.ApplicationDrawWindow gui-vbox-container[data-id="ScrollContainer"] {
- background : #DADADA;
-}
-
diff --git a/build/htdocs/dist/packages/default/Draw/combined.js b/build/htdocs/dist/packages/default/Draw/combined.js
deleted file mode 100644
index e57bdd7..0000000
--- a/build/htdocs/dist/packages/default/Draw/combined.js
+++ /dev/null
@@ -1,1238 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, GUI, Dialogs, Utils, API, VFS) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Toggle tools toolbar' : 'Бар с инструменти',
- 'Toggle layers toolbar' : 'Бар с слоеве',
- 'Layer' : 'Слой',
- 'Effect' : 'Ефект',
- 'Flip Horizontally' : 'Обърни хоризонтално',
- 'Flip Vertically' : 'Обърни вертикално',
- 'Foreground' : 'Преден фон',
- 'Bakgrunn' : 'Заден фон',
- 'Foreground (Fill) Color' : 'Преден фон (Запълни) цвят',
- 'Background (Stroke) Color' : 'Заден фон цвят',
- 'Line join' : 'Съединяване на линии',
- 'Line width' : 'Широчина на линия',
- 'Toggle Stroke' : 'Превключване на удър',
- 'Enable stroke' : 'Включи удър',
- 'Round' : 'Кръгъл',
- 'Miter' : 'Митра',
- 'Bevel' : 'Откос',
- 'Stroked' : 'Ударен',
- 'No stroke' : 'Без удър',
-
- 'Pointer' : 'Стрелка',
- 'Move active layer' : 'Премести активен слой',
-
- 'Picker' : 'берач',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: изберете цвят за преден план, RMB: изберете цвят за фон',
-
- 'Pencil' : 'Молив',
- 'LMB/RMB: Draw with fg/bg color' : 'LMB/RMB: рисувай с fg/bg цвят',
- 'Path' : 'Път',
-
- 'Square/Rectangle' : 'Квадрат/Правоъгъкник',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw rectangle' : 'LMB/RMB: рисувай с fb/bg цвят, SHIFT: нарисувай правоъгълник',
-
- 'Circle/Ellipse' : 'Кръг/Елипса',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw ellipse' : 'LMB/RMB: рисувай с fb/bg цвят, SHIFT: нарисувай елипса',
-
- 'Blur' : 'Замъгли',
- 'Noise' : 'Шум',
- 'Invert colors' : 'Инвертирай цветове',
- 'Grayscale' : 'Черно-бяло',
- 'Sharpen' : 'Острота',
- 'Simple Blur' : 'Опростено замъгляване',
-
- 'Radius' : 'Радиус',
- 'Iterations' : 'Повторения'
- },
- de_DE : {
- 'Toggle tools toolbar' : 'Tools Toolbar',
- 'Toggle layers toolbar' : 'Ebenen Toolbar',
- 'Layer' : 'Ebene',
- 'Effect' : 'Effekt',
- 'Flip Horizontally' : 'Horizontal spiegeln',
- 'Flip Vertically' : 'Vertikal spiegeln',
- 'Foreground' : 'Vordergrund',
- 'Bakgrunn' : 'Hintergrund',
- 'Foreground (Fill) Color' : 'Vordergrund (Füll-) Farbe',
- 'Background (Stroke) Color' : 'Hintergrund (Streich-) Farbe',
- 'Line join' : 'Linienverbindung',
- 'Line width' : 'Linienbreite',
- 'Toggle Stroke' : 'Streichen',
- 'Enable stroke' : 'Streichen aktivieren',
- 'Round' : 'Runde',
- 'Miter' : 'Live',
- 'Bevel' : 'Schräge',
- 'Stroked' : 'Gestrichen',
- 'No stroke' : 'Nicht gestrichen',
-
- 'Pointer' : 'Zeiger',
- 'Move active layer' : 'Bewege aktive Ebene',
-
- 'Picker' : 'Wähler',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: wähle Vordergrundfarbe, RMB: wähle Hintergrundfarbe',
-
- 'Pencil' : 'Stift',
- 'LMB/RMB: Draw with fg/bg color' : 'LMB/RMB: Zeichnen mit fg/bg Farbe',
- 'Path' : 'Pfad',
-
- 'Square/Rectangle' : 'Quadrat/Rechteck',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw rectangle' : 'LMB/RMB: Zeichnen mit fb/bg Farbe, SHIFT: Rechteck zeichnen',
-
- 'Circle/Ellipse' : 'Kreis/Ellipse',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw ellipse' : 'LMB/RMB: Zeichnen mit fb/bg Farbe, SHIFT: Ellipse zeichnen',
-
- 'Blur' : 'Weichzeichner (Blur)',
- 'Noise' : 'Rauschen',
- 'Invert colors' : 'Farben invertieren',
- 'Grayscale' : 'Graustufen',
- 'Sharpen' : 'Schärfen',
- 'Simple Blur' : 'Einfacher Weichzeichner (Blur)',
-
- 'Radius' : 'Radius',
- 'Iterations' : 'Iterationen'
- },
- es_ES : {
- 'Toggle tools toolbar' : 'Mostrar/ocultar la barra de herramientas de utilidades',
- 'Toggle layers toolbar' : 'Mostrar/ocultar la barra de herramientas de capas',
- 'Layer' : 'Capa',
- 'Effect' : 'Efecto',
- 'Flip Horizontally' : 'Girar horizontalmente',
- 'Flip Vertically' : 'Girar verticalmente',
- 'Foreground' : 'Primer plano',
- 'Bakgrunn' : 'Fondo',
- 'Foreground (Fill) Color' : 'Color de primer plano (relleno)',
- 'Background (Stroke) Color' : 'Color de de fondo (contorno)',
- 'Line join' : 'Terminación de línea',
- 'Line width' : 'Ancho de línea',
- 'Toggle Stroke' : 'Activar/Desactivar trazado',
- 'Enable stroke' : 'Activar trazado',
- 'Round' : 'Curvo',
- 'Miter' : 'En ángulo',
- 'Bevel' : 'Biselado',
- 'Stroked' : 'Trazado',
- 'No stroke' : 'Sin trazado',
-
- 'Pointer' : 'Puntero',
- 'Move active layer' : 'Mover la capa activa',
-
- 'Picker' : 'Selector',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: Establecer el color de primer plano, RMB: Establecer el color de fondo',
-
- 'Pencil' : 'Lápiz',
- 'LMB/RMB: Draw with fg/bg color' : 'LMB/RMB: Dibujar con el color de fondo/de primer plano',
- 'Path' : 'Ruta',
-
- 'Square/Rectangle' : 'Cuadrado/Rectángulo',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw rectangle' : 'LMB/RMB: Zeichnen mit fb/bg Farbe, SHIFT: Rechteck zeichnen',
-
- 'Circle/Ellipse' : 'Kreis/Ellipse',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw ellipse' : 'LMB/RMB: Dibujar con el color de fondo/de primer plano, SHIFT: Dibujar una elipse',
-
- 'Blur' : 'Desenfoque',
- 'Noise' : 'Ruido',
- 'Invert colors' : 'Invertir colores',
- 'Grayscale' : 'Escala de grises',
- 'Sharpen' : 'Afilar',
- 'Simple Blur' : 'Desenfoque simple',
-
- 'Radius' : 'Radio',
- 'Iterations' : 'Iteraciones'
- },
- fr_FR : {
- 'Toggle tools toolbar' : 'Afficher la barre d\'outils',
- 'Toggle layers toolbar' : 'Afficher la barre des calques',
- 'Layer' : 'Calque',
- 'Effect' : 'Effet',
- 'Flip Horizontally' : 'Pivoter horizontalement',
- 'Flip Vertically' : 'Pivoter verticalement',
- 'Foreground' : 'Avant-plan',
- 'Background' : 'Arrière-plan',
- 'Foreground (Fill) Color' : 'Couleur de l\'avant-plan (remplissage)',
- 'Background (Stroke) Color' : 'Couleur de l\'arrière-plan (trait)',
- 'Line join' : 'Jointure',
- 'Line width' : 'Taille de la ligne',
- 'Toggle Stroke' : 'Afficher les traits',
- 'Enable stroke' : 'Activer les traits',
- 'Round' : 'Arrondi',
- 'Miter' : 'Pointu',
- 'Bevel' : 'Biseauté',
- 'Stroked' : 'Barré',
- 'No stroke' : 'Non barré',
-
- 'Pointer' : 'Pointeur',
- 'Move active layer' : 'Déplacer le calque actif',
-
- 'Picker' : 'Sélecteur',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'Clic gauche: sélectionne la couleur de l\'avant-plan, clic droit: sélectionne la couleur de l\'arrière-plan',
-
- 'Pencil' : 'Pinceau',
- 'LMB: Use foreground-, RMB: Use background color' : 'Clic gauche: utilise la couleur d\'avant-plan, clic droit : utilise la couleur d\'arrière-plan',
- 'Path' : 'Chemin',
-
- 'Square/Rectangle' : 'Carré/Rectangle',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'Clic gauche: utilise la couleur d\'avant-plan, clic droit: utilise la couleur d\'arrière-plan, SHIFT: affiche le mode rectangle',
-
- 'Circle/Ellipse' : 'Cercle/Ellipse',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'Clic gauche: utilise la couleur d\'avant-plan, clic droit: utilise la couleur d\'arrière-plan, SHIFT: affiche le mode ellipse',
-
- 'LMB: Fill with foreground-, RMB: Fill with background color': 'Clic gauche: remplir avec la couleur d\'avant-plan, clic droit: remplir avec la couleur d\'arrière-plan',
- 'Set foreground color': 'Définir la couleur d\'avant-plan',
- 'Set background color': 'Définir la couleur d\'arrière-plan',
-
- 'Blur' : 'Flou',
- 'Noise' : 'Bruit',
- 'Invert colors' : 'Inverser les couleurs',
- 'Grayscale' : 'Niveau de gris',
- 'Sharpen' : 'Netteté',
- 'Simple Blur' : 'Flou simple',
-
- 'Radius' : 'Rayon',
- 'Iterations' : 'Itérations'
- },
- ar_DZ : {
- 'Toggle tools toolbar' : 'إظهار شريط الأدوات',
- 'Toggle layers toolbar' : 'إظهار شريط الشفائف',
- 'Layer' : 'شفيفة',
- 'Effect' : 'تأثير',
- 'Flip Horizontally' : 'دوران أفقي',
- 'Flip Vertically' : 'دوران عمودي',
- 'Foreground' : 'الأمامي',
- 'Background' : 'الخلفية',
- 'Foreground (Fill) Color' : 'اللون الأمامي (التعبئة)',
- 'Background (Stroke) Color' : 'لون الخلفية (الخط)',
- 'Line join' : 'مفصل خطي',
- 'Line width' : 'عرض الخط',
- 'Toggle Stroke' : 'إظهار الخطوط',
- 'Enable stroke' : 'تفعيل الخطوط',
- 'Round' : 'دائري',
- 'Miter' : 'مذبب',
- 'Bevel' : 'شطف',
- 'Stroked' : 'مشطوب',
- 'No stroke' : 'بدون خط',
-
- 'Pointer' : 'المؤشر',
- 'Move active layer' : 'نقل الشفيفة المفعلة',
-
- 'Picker' : 'المرشح',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'ضغط باليسار: إختيار اللون الأمامي, ضغط باليمين: إختيار لون الخلفية',
-
- 'Pencil' : 'القلم',
- 'LMB: Use foreground-, RMB: Use background color' : 'ضغط باليسار: إستعمال اللون الأمامي, ضغط باليمين: إستعمال لون الخلفية',
- 'Path' : 'المسار',
-
- 'Square/Rectangle' : 'مربع/مستطيل',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'ضغط باليسار: إستعمال اللون الأمامي, ضغط باليمين: إستعمال لون الخلفية، SHIFT : تحويل بين مربع/مستطيل',
-
- 'Circle/Ellipse' : 'دائرة/قطع ناقص',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'ضغط باليسار: إستعمال اللون الأمامي, ضغط باليمين: إستعمال لون الخلفية، SHIFT : تحويل بين دائرة/قطع ناقص',
-
- 'LMB: Fill with foreground-, RMB: Fill with background color': 'ضغط باليسار: ملئ باللون الأمامي, ضغط باليمين: ملئ بلون الخلفية',
- 'Set foreground color': 'إستعمال كلون أمامي',
- 'Set background color': 'إستعمال كلون للخلفية',
-
- 'Blur' : 'ضبابي',
- 'Noise' : 'ضجيج',
- 'Invert colors' : 'عكس الألوان',
- 'Grayscale' : 'مستوى الرمادي',
- 'Sharpen' : 'صفاء',
- 'Simple Blur' : 'ضباب عادي',
-
- 'Radius' : 'القطر',
- 'Iterations' : 'عدد العمليات'
- },
- it_IT : {
- 'Toggle tools toolbar' : 'Mostra la barra strumenti',
- 'Toggle layers toolbar' : 'Mostra la barra dei livelli',
- 'Layer' : 'Livello',
- 'Effect' : 'Effetto',
- 'Flip Horizontally' : 'Specchia orizzontalmente',
- 'Flip Vertically' : 'Specchia verticalmente',
- 'Foreground' : 'Primopiano',
- 'Background' : 'Sfondo',
- 'Foreground (Fill) Color' : 'Colore in primopiano (Riempimento)',
- 'Background (Stroke) Color' : 'Colore di sfondo (Tracciato)',
- 'Line join' : 'Congiungi linea',
- 'Line width' : 'Lunghezza linea',
- 'Toggle Stroke' : 'Mostra tracciato',
- 'Enable stroke' : 'Abilita tracciato',
- 'Round' : 'Arrotonda',
- 'Miter' : 'Miter',
- 'Bevel' : 'Smussatura',
- 'Stroked' : 'Tracciato',
- 'No stroke' : 'Nessun tracciato',
-
- 'Pointer' : 'Puntatore',
- 'Move active layer' : 'Sposta livello attivo',
-
- 'Picker' : 'Selettore',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: Imposta colore primopiano, RMB: Imposta colore di sfondo',
-
- 'Pencil' : 'Matita',
- 'LMB/RMB: Draw with fg/bg color' : 'LMB/RMB: Disegna con colori fg/bg',
- 'Path' : 'Percorso',
-
- 'Square/Rectangle' : 'Quadrato/Rettangolo',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw rectangle' : 'LMB/RMB: Disegna con colori di fg/bg, SHIFT: Disegna rettangolo',
-
- 'Circle/Ellipse' : 'Cerchio/Ellisse',
- 'LMB/RMB: Draw with fg/bg color, SHIFT: Draw ellipse' : 'LMB/RMB: Disegna con colori di fg/bg, SHIFT: Disegna ellisse',
-
- 'Blur' : 'Sfoca',
- 'Noise' : 'Disturbo',
- 'Invert colors' : 'Inverti colori',
- 'Grayscale' : 'Scala di grigi',
- 'Sharpen' : 'Intensifica',
- 'Simple Blur' : 'Sfocatura leggera',
-
- 'Radius' : 'Raggio',
- 'Iterations' : 'Ripetizioni'
- },
- ko_KR : {
- 'Toggle tools toolbar' : '도구 툴바 켜기/끄기',
- 'Toggle layers toolbar' : '레이어 툴바 켜기/끄기',
- 'Layer' : '레이어',
- 'Effect' : '효과',
- 'Flip Horizontally' : '수평으로 뒤집기',
- 'Flip Vertically' : '수직으로 뒤집기',
- 'Foreground' : '전경',
- 'Background' : '배경',
- 'Foreground (Fill) Color' : '전경색(채우기)',
- 'Background (Stroke) Color' : '배경색(칠하기)',
- 'Line join' : '선 종류',
- 'Line width' : '선 굵기',
- 'Toggle Stroke' : '선 활성화',
- 'Enable stroke' : '선 그리기',
- 'Round' : '둥글게',
- 'Miter' : '기울이기',
- 'Bevel' : '비스듬히',
- 'Stroked' : '선 보이기',
- 'No stroke' : '선없음',
-
- 'Pointer' : '포인터',
- 'Move active layer' : '활성 레이어 옮기기',
-
- 'Picker' : '색상 추출',
- 'LMB: Pick foreground-, RMB: Pick background color' : '왼쪽 마우스 버튼: 전경색, 오른쪽 마우스 버튼 : 배경색',
-
- 'Pencil' : '연필',
- 'LMB: Use foreground-, RMB: Use background color' : '왼쪽 마우스/오른쪽 마우스 버튼 전경/배경색 그리기',
- 'Path' : '경로',
-
- 'Square/Rectangle' : '정사각형/직사각형',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : '왼쪽/오른쪽 마우스 버튼 전경/배경색 그리기, SHIFT: 직사각형 그리기',
-
- 'Circle/Ellipse' : '원/타원',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : '왼쪽/오른쪽 마우스 버튼 전경/배경색 그리기, SHIFT: 타원 그리기',
-
- 'Blur' : '블러',
- 'Noise' : '노이즈',
- 'Invert colors' : '반전',
- 'Grayscale' : '흑백',
- 'Sharpen' : '샤픈',
- 'Simple Blur' : '약한 블러',
-
- 'Radius' : '반경',
- 'Iterations' : '반복',
-
- 'LMB: Fill with foreground-, RMB: Fill with background color': '왼쪽 마우스/오른쪽 마우스 버튼 전경/배경색 칠하기',
- 'Set {0} color': '{0}색을 선택'
- },
- nl_NL : {
- 'Toggle tools toolbar' : 'Toolbar gereedschappen',
- 'Toggle layers toolbar' : 'Toolbar lagen',
- 'Layer' : 'Laag',
- 'Effect' : 'Effecten',
- 'Flip Horizontally' : 'Horizontaal spiegelen',
- 'Flip Vertically' : 'Verticaal spiegelen',
- 'Foreground' : 'Voorgrond',
- 'Background' : 'Achtergrond',
- 'Foreground (Fill) Color' : 'Voorgrond (vul) kleur',
- 'Background (Stroke) Color' : 'Achtergrond (penseel-) kleur',
- 'Line join' : 'Lijnverbinding',
- 'Line width' : 'Lijnbreedte',
- 'Toggle Stroke' : 'Penseel streek',
- 'Enable stroke' : 'Penseel activeren',
- 'Round' : 'Rond',
- 'Miter' : 'Live',
- 'Bevel' : 'Schuin',
- 'Stroked' : 'Gestreken',
- 'No stroke' : 'Geen penseel streken',
-
- 'Pointer' : 'Aanwijzer',
- 'Move active layer' : 'Verplaats de actieve laag',
-
- 'Picker' : 'Kiezer',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: Kies voorgrond-kleur, RMB: Kies achtergrondkleur',
-
- 'Pencil' : 'Penseel',
- 'LMB: Use foreground-, RMB: Use background color' : 'LMB: Teken met voorgrond-, RMB: Teken met achtergrond-kleur',
- 'Path' : 'Pfad',
-
- 'Square/Rectangle' : 'Vierkant/rechthoek',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: Teken met voor- en achtergrondkleur, SHIFT: Rechthoek tekenen',
-
- 'Circle/Ellipse' : 'Cirkel/elipse',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: Teken met voor- en achtergrondkleur, SHIFT: Elipse tekenen',
-
- 'Blur' : 'Vervagen (Blur)',
- 'Noise' : 'Ruis',
- 'Invert colors' : 'Kleuren inverteren',
- 'Grayscale' : 'Grijstinten',
- 'Sharpen' : 'Verscherpen',
- 'Simple Blur' : 'Eenvoudig vervagen (Blur)',
-
- 'Radius' : 'Radius',
- 'Iterations' : 'Herhalingen'
- },
- no_NO : {
- 'Toggle tools toolbar' : 'Svitsj verktøylinje',
- 'Toggle layers toolbar' : 'Svitsj lag-verktøylinje',
- 'Layer' : 'Lag',
- 'Effect' : 'Effekt',
- 'Flip Horizontally' : 'Flipp Horisontalt',
- 'Flip Vertically' : 'Flipp Vertikalt',
- 'Foreground' : 'Forgrunn',
- 'Background' : 'Bakgrunn',
- 'Foreground (Fill) Color' : 'Forgrunn (Fyll) Farge',
- 'Background (Stroke) Color' : 'Bakgrunn (Strøk) Farge',
- 'Line join' : 'Linje Knytting',
- 'Line width' : 'Linje Bredde',
- 'Toggle Stroke' : 'Svitsj strøk',
- 'Enable stroke' : 'Skru på strøk',
- 'Round' : 'Rund',
- 'Miter' : 'Skjev',
- 'Bevel' : 'Kantet',
- 'Stroked' : 'Strøk På',
- 'No stroke' : 'Strøk Av',
-
- 'Pointer' : 'Peker',
- 'Move active layer' : 'Flytt aktivt lag',
-
- 'Picker' : 'Plukker',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: sett bg farge, RMB: sett fg farge',
-
- 'Pencil' : 'Penn',
- 'LMB: Use foreground-, RMB: Use background color' : 'LMB/RMB: Tegn med fg/bg farge',
- 'Path' : 'Sti',
-
- 'Square/Rectangle' : 'Firkant/Rektangel',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: Tegn med fg/bg farge, SHIFT: Tegn rektangel',
-
- 'Circle/Ellipse' : 'Sirkel/Ellipse',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: Tegn med fg/bg farge, SHIFT: Tegn ellipse',
-
- 'Blur' : 'Klatte (Blur)',
- 'Noise' : 'Støy',
- 'Invert colors' : 'Inverter farger',
- 'Grayscale' : 'Gråskala',
- 'Sharpen' : 'Skarpgjør',
- 'Simple Blur' : 'Simpel Klatte (Blur)',
-
- 'Radius' : 'Radius',
- 'Iterations' : 'Itereringer'
- },
- pl_PL : {
- 'Toggle tools toolbar' : 'Przełącz Pasek narzędzi',
- 'Toggle layers toolbar' : 'Przełącz Pasek warstw',
- 'Layer' : 'Warstwy',
- 'Effect' : 'Efekty',
- 'Flip Horizontally' : 'Przerzuć w poziomie',
- 'Flip Vertically' : 'Przerzuć w pionie',
- 'Foreground' : 'Pierwszy plan',
- 'Bakgrunn' : 'Tło',
- 'Foreground (Fill) Color' : 'Kolor pierwszoplanowy (Wypełnienie)',
- 'Background (Stroke) Color' : 'Kolor tła (Wycinanie)',
- 'Line join' : 'Rodzaj lini',
- 'Line width' : 'Grubość',
- 'Toggle Stroke' : 'Włącz/wyłącz obramowanie',
- 'Enable stroke' : 'Włącz obramowanie',
- 'Round' : 'Zwykłe',
- 'Miter' : 'Paski',
- 'Bevel' : 'Kątownik',
- 'Stroked' : 'Obranowanie',
- 'No stroke' : 'Bez obramowania',
-
- 'Pointer' : 'Wskaźnik',
- 'Move active layer' : 'Przenieś aktywne warstwy',
-
- 'Picker' : 'Wybór',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: Wstaw kolor bg, RMB: ustaw kolor fg',
-
- 'Pencil' : 'Ołówek',
- 'LMB: Use foreground-, RMB: Use background color' : 'Maluj w kolorze fg/bg',
- 'Path' : 'Ścieżka',
-
- 'Square/Rectangle' : 'Kwadratowe / prostokątne',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: Maluj w kolorze fb/bg, SHIFT: Narysuj prostokąt',
-
- 'Circle/Ellipse' : 'Koło / Elipsa',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: Maluj w kolorze fb/bg, SHIFT: Narysuj elipse',
-
- 'Blur' : 'Blur',
- 'Noise' : 'Szum',
- 'Invert colors' : 'Odwróc kolory',
- 'Grayscale' : 'Skala szaroścu',
- 'Sharpen' : 'Zaostrzone',
- 'Simple Blur' : 'Łatwy Blur',
-
- 'Radius' : 'Promień',
- 'Iterations' : 'Powtórzenia'
- },
- ru_RU : {
- 'Toggle tools toolbar' : 'Панель инструментов',
- 'Toggle layers toolbar' : 'Панель слоев',
- 'Layer' : 'Слой',
- 'Effect' : 'Эффекты',
- 'Flip Horizontally' : 'Отразить горизонтально',
- 'Flip Vertically' : 'Отразить вертикально',
- 'Foreground' : 'Передний план',
- 'Bakgrunn' : 'Фон',
- 'Foreground (Fill) Color' : 'Передний план (Заливка) цвет',
- 'Background (Stroke) Color' : 'Фоновый (Обводка) цвет',
- 'Line join' : 'Замкнутая линия',
- 'Line width' : 'Ширина линии',
- 'Toggle Stroke' : 'Вкл/выкл обводку',
- 'Enable stroke' : 'Включить обводку',
- 'Round' : 'Закругленный',
- 'Miter' : 'Прямой',
- 'Bevel' : 'Скошенный',
- 'Stroked' : 'С обводкой',
- 'No stroke' : 'Без обводки',
-
- 'Pointer' : 'Указатель',
- 'Move active layer' : 'Перемещает активный слой',
-
- 'Picker' : 'Пипетка',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'ЛКМ: устананавливает первичный цвет, ПКМ: устанавливает вторичный(фоновый) цвет',
-
- 'Pencil' : 'Карандаш',
- 'LMB: Use foreground-, RMB: Use background color' : 'ЛКМ/ПКМ: Рисует первичным/вторичным цветом',
- 'Path' : 'Прямая',
-
- 'Square/Rectangle' : 'Квадрат/Прямоугольник',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'ЛКМ/ПКМ: рисует первичным/вторичным цветом квадрат, SHIFT: нарисовать прямоуголник',
-
- 'Circle/Ellipse' : 'Круг/Эллипс',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'ЛКМ/ПКМ: рисует первичным/вторичным цветом круг, SHIFT: нарисовать эллипс',
-
- 'Blur' : 'Размытие (Blur)',
- 'Noise' : 'Шум',
- 'Invert colors' : 'Инвертировать цвета',
- 'Grayscale' : 'Обесцветить',
- 'Sharpen' : 'Сточить',
- 'Simple Blur' : 'Простое размытие (Blur)',
-
- 'Radius' : 'Радиус',
- 'Iterations' : 'Итерации'
- },
- sk_SK : {
- 'Toggle tools toolbar' : 'Zobraz panel nástrojov',
- 'Toggle layers toolbar' : 'Zobraz vrstvy',
- 'Layer' : 'Vrstvy',
- 'Effect' : 'Efekty',
- 'Flip Horizontally' : 'Transformuj horizontálne',
- 'Flip Vertically' : 'Transformuj vertikálne',
- 'Foreground' : 'Popredie',
- 'Bakgrunn' : 'Pozadie',
- 'Line join' : 'Typ čiary',
- 'Line width' : 'Šírka čiary',
- 'Toggle Stroke' : 'Zapnúť orámovanie',
- 'Enable stroke' : 'Orámovanie',
- 'Round' : 'Okrúhly',
- 'Miter' : 'Naklonený',
- 'Bevel' : 'Šikmý',
- 'Stroked' : 'Orámovaný',
- 'No stroke' : 'Bez orámovania',
-
- 'Pointer' : 'Ukazovateľ',
- 'Move active layer' : 'Presuň aktívnu vrstvu',
-
- 'Picker' : 'Kurzor',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: nastav farbu pozadia, RMB: nastav farbu popredia',
-
- 'Pencil' : 'Ceruzka',
- 'LMB: Use foreground-, RMB: Use background color' : 'Maľuj farbou fg/bg',
- 'Path' : 'Cesta',
-
- 'Square/Rectangle' : 'Štvorec / Obdĺžnik',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: Maľuj farbou fb/bg, SHIFT: Obdĺžnik',
-
- 'Circle/Ellipse' : 'Kruh / Elipsa',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: Maľuj farbou fb/bg, SHIFT: Elipsa',
-
- 'Blur' : 'Rozmazať',
- 'Noise' : 'Šum',
- 'Invert colors' : 'Invertovať farby',
- 'Grayscale' : 'Odtiene šedej',
- 'Sharpen' : 'Zostriť',
- 'Simple Blur' : 'Jednoduchý Blur',
-
- 'Radius' : 'Rádius',
- 'Iterations' : 'Iterácie'
- },
- tr_TR : {
- 'Toggle tools toolbar' : 'araç çubugu değiştirme araçları', //yanlış olabilir
- 'Toggle layers toolbar' : 'Araç çubugu katmanı değiştirme',
- 'Layer' : 'Katman',
- 'Effect' : 'efekt',
- 'Flip Horizontally' : 'Yatay çevir',
- 'Flip Vertically' : 'Dikey çevir',
- 'Foreground' : 'Önplana al',
- 'Background' : 'Arkaplana al',
- 'Foreground (Fill) Color' : 'Önplan rengi',
- 'Background (Stroke) Color' : 'Arkaplan rengi',
- 'Line join' : 'Çizgi bitişimi',
- 'Line width' : 'Çizgi genişliği',
- 'Toggle Stroke' : 'vuruşu değiştir', //eklenecek
- 'Enable stroke' : 'vuruş aktif', //eklenecek
- 'Round' : 'yuvarlamak',
- 'Miter' : 'gönye',
- 'Bevel' : 'eğmek',
- 'Stroked' : 'Stroked',
- 'No stroke' : 'No stroke',
-
- 'Pointer' : 'işaretçi',
- 'Move active layer' : 'hareket eden katman',
-
- 'Picker' : 'toplayıcı',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: fg rengi ayarla, RMB: gb rengi ayarla',
-
- 'Pencil' : 'kalem',
- 'LMB: Use foreground-, RMB: Use background color' : 'LMB/RMB:fg/bg rengi ile çiz',
- 'Path' : 'yol',
-
- 'Square/Rectangle' : 'kare/üçgen',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: fg/bg renkleri ile çiz , SHIFT: üçgen çiz',
-
- 'Circle/Ellipse' : 'dair/elips',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: fb/bg ile çiz , SHIFT: elips çiz',
-
- 'Blur' : 'Bulanık',
- 'Noise' : 'gürültü',
- 'Invert colors' : 'renkleri tersine çevir',
- 'Grayscale' : 'gri ton',
- 'Sharpen' : 'keskinleştirmek',
- 'Simple Blur' : 'sade Bulanık',
-
- 'Radius' : 'yarıçap',
- 'Iterations' : 'yineleme'
- },
- vi_VN : {
- 'Toggle tools toolbar' : 'Công cụ bật tắt thanh công cụ',
- 'Toggle layers toolbar' : 'Bật tắt cửa sổ layer',
- 'Layer' : 'Lớp',
- 'Effect' : 'Hiệu ứng',
- 'Flip Horizontally' : 'Lật ngang',
- 'Flip Vertically' : 'Lật theo chiều dọc',
- 'Foreground' : 'Nền trước',
- 'Background' : 'Nền dưới',
- 'Foreground (Fill) Color' : 'Màu nền trước',
- 'Background (Stroke) Color' : 'Màu nền dưới',
- 'Line join' : 'Ghép đoạn thằng',
- 'Line width' : 'Độ rộng dòng',
- 'Toggle Stroke' : 'Bật tắt nét',
- 'Enable stroke' : 'Bật nét',
- 'Round' : 'Tròn',
- 'Miter' : 'Góc',
- 'Bevel' : 'Góc xiên',
- 'Stroked' : 'Vuốt',
- 'No stroke' : 'Không vuốt',
-
- 'Pointer' : 'Con trỏ',
- 'Move active layer' : 'Di chuyển layer đang chọn',
-
- 'Picker' : 'Bảng chọn',
- 'LMB: Pick foreground-, RMB: Pick background color' : 'LMB: chọn màu fg, RMB: chọn màu gb',
-
- 'Pencil' : 'Bút chì',
- 'LMB: Use foreground-, RMB: Use background color' : 'LMB/RMB: vẽ với màu fg/bg',
- 'Path' : 'Đường',
-
- 'Square/Rectangle' : 'Firkant/Rektangel',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode' : 'LMB/RMB: Tegn med fg/bg farge, SHIFT: Tegn rektangel',
-
- 'Circle/Ellipse' : 'Vuông / chữ nhật',
- 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode' : 'LMB/RMB: vẽ với màu fg/bg, SHIFT: Vẽ ê-líp',
-
- 'Blur' : 'Làm mờ',
- 'Noise' : 'Làm nhiễu',
- 'Invert colors' : 'Nghịch đảo màu',
- 'Grayscale' : 'Độ xám',
- 'Sharpen' : 'Làm sắc nét',
- 'Simple Blur' : 'Làm mờ đơn giản',
-
- 'Radius' : 'Bán kính',
- 'Iterations' : 'Lặp đi lặp lại'
- }
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationDraw = OSjs.Applications.ApplicationDraw || {};
- OSjs.Applications.ApplicationDraw._ = _;
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Core.Window, OSjs.GUI, OSjs.Dialogs, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- var DEFAULT_WIDTH = 1024;
- var DEFAULT_HEIGHT = 768;
-
- var tools = {
- pointer: {
- statusText: ''
- },
- picker: {
- statusText: 'LMB: Pick foreground-, RMB: Pick background color'
- },
- bucket: {
- statusText: 'LMB: Fill with foreground-, RMB: Fill with background color'
- },
- pencil: {
- statusText: 'LMB: Use foreground-, RMB: Use background color'
- },
- path: {
- statusText: 'LMB: Use foreground-, RMB: Use background color'
- },
- rectangle: {
- statusText: 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle rectangle/square mode'
- },
- circle: {
- statusText: 'LMB: Use foreground-, RMB: Use background color. SHIFT: Toggle circle/ellipse mode'
- }
- };
- var toolEvents = {
- pointer: {
- },
-
- picker: (function() {
- var imageData;
-
- function pick(ev, args) {
- var value = '#000000';
- var t = (ev.shiftKey || ev.button > 0) ? 'background' : 'foreground';
-
- if ( !imageData ) {
- imageData = args.ctx.getImageData(0, 0, args.canvas.width, args.canvas.height).data;
- }
-
- var index = ((args.pos.x + args.pos.y * args.canvas.width) * 4);
- try {
- value = Utils.convertToHEX({
- r:imageData[index + 0],
- g:imageData[index + 1],
- b:imageData[index + 2],
- a:imageData[index + 3]
- });
- } catch ( e ) {
- }
-
- args.win.setToolProperty(t, value);
- }
-
- return {
- mousedown: pick,
- mousemove: pick,
- mouseup: function(ev, pos, canvas, ctx, win) {
- imageData = null;
- }
- };
- })(),
-
- bucket: {
- mousedown: function(ev, args) {
- var t = (ev.shiftKey || ev.button > 0) ? 'background' : 'foreground';
- args.ctx.fillStyle = args.win.tool[t];
- args.ctx.fillRect(0, 0, args.canvas.width, args.canvas.height);
- }
- },
-
- pencil: {
- mousedown: function(ev, args) {
- var t = (ev.shiftKey || ev.button > 0) ? 'background' : 'foreground';
- args.ctx.strokeStyle = args.win.tool[t];
- },
- mousemove: function(ev, args) {
- args.ctx.beginPath();
- args.ctx.moveTo(args.pos.x - 1, args.pos.y);
- args.ctx.lineTo(args.pos.x, args.pos.y);
- args.ctx.closePath();
- args.ctx.stroke();
- }
- },
-
- path: {
- mousemove: function(ev, args) {
- if ( args.tmpContext ) {
- args.tmpContext.clearRect(0, 0, args.tmpCanvas.width, args.tmpCanvas.height);
- args.tmpContext.beginPath();
- args.tmpContext.moveTo(args.start.x, args.start.y);
- args.tmpContext.lineTo(args.pos.x, args.pos.y);
- args.tmpContext.closePath();
- args.tmpContext.stroke();
- }
- }
- },
-
- rectangle: {
- mousedown: function(ev, args) {
- args.tmpContext.fillStyle = (ev.button > 0) ? args.win.tool.background : args.win.tool.foreground;
- args.tmpContext.strokeStyle = (ev.button <= 0) ? args.win.tool.background : args.win.tool.foreground;
- },
- mousemove: function(ev, args) {
- var x, y, w, h;
-
- if ( ev.shiftKey ) {
- x = Math.min(args.pos.x, args.start.x);
- y = Math.min(args.pos.y, args.start.y);
- w = Math.abs(args.pos.x - args.start.x);
- h = Math.abs(args.pos.y - args.start.y);
- } else {
- x = args.start.x; //Math.min(args.pos.x, args.start.x);
- y = args.start.y; //Math.min(args.pos.y, args.start.y);
- w = Math.abs(args.pos.x - args.start.x) * (args.pos.x < args.start.x ? -1 : 1);
- h = Math.abs(w) * (args.pos.y < args.start.y ? -1 : 1);
- }
-
- args.tmpContext.clearRect(0, 0, args.tmpCanvas.width, args.tmpCanvas.height);
- if ( w && h ) {
- if ( args.win.tool.lineStroke ) {
- args.tmpContext.strokeRect(x, y, w, h);
- }
- args.tmpContext.fillRect(x, y, w, h);
- }
- }
- },
-
- circle: {
- mousedown: function(ev, args) {
- args.tmpContext.fillStyle = (ev.button > 0) ? args.win.tool.background : args.win.tool.foreground;
- args.tmpContext.strokeStyle = (ev.button <= 0) ? args.win.tool.background : args.win.tool.foreground;
- },
- mousemove: function(ev, args) {
- if ( ev.shiftKey ) {
- var width = Math.abs(args.start.x - args.pos.x);
- var height = Math.abs(args.start.y - args.pos.y);
-
- args.tmpContext.clearRect(0, 0, args.tmpCanvas.width, args.tmpCanvas.height);
- if ( width > 0 && height > 0 ) {
- args.tmpContext.beginPath();
- args.tmpContext.moveTo(args.start.x, args.start.y - height * 2); // A1
- args.tmpContext.bezierCurveTo(
- args.start.x + width * 2, args.start.y - height * 2, // C1
- args.start.x + width * 2, args.start.y + height * 2, // C2
- args.start.x, args.start.y + height * 2); // A2
-
- args.tmpContext.bezierCurveTo(
- args.start.x - width * 2, args.start.y + height * 2, // C3
- args.start.x - width * 2, args.start.y - height * 2, // C4
- args.start.x, args.start.y - height * 2); // A1
-
- args.tmpContext.closePath();
- if ( args.win.tool.lineStroke ) {
- args.tmpContext.stroke();
- }
- args.tmpContext.fill();
- }
- } else {
- var x = Math.abs(args.start.x - args.pos.x);
- var y = Math.abs(args.start.y - args.pos.y);
- var r = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
-
- args.tmpContext.clearRect(0, 0, args.tmpCanvas.width, args.tmpCanvas.height);
- if ( r > 0 ) {
- args.tmpContext.beginPath();
- args.tmpContext.arc(args.start.x, args.start.y, r, 0, Math.PI * 2, true);
- args.tmpContext.closePath();
-
- if ( args.win.tool.lineStroke ) {
- args.tmpContext.stroke();
- }
- args.tmpContext.fill();
- }
- }
- }
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- var doTranslate = OSjs.Applications.ApplicationDraw._;
-
- function ApplicationDrawWindow(app, metadata, scheme, file) {
- DefaultApplicationWindow.apply(this, ['ApplicationDrawWindow', {
- icon: metadata.icon,
- title: metadata.name,
- allow_drop: true,
- min_width: 400,
- min_height: 450,
- width: 800,
- height: 450
- }, app, scheme, file]);
-
- this.tool = {
- name: 'pointer',
- background: '#ffffff',
- foreground: '#000000',
- lineJoin: 'round',
- lineWidth: 1,
- lineStroke: false
- };
- }
-
- ApplicationDrawWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationDrawWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationDrawWindow.prototype.init = function(wm, app, scheme) {
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
- var self = this;
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'DrawWindow', root, null, null, {
- _: doTranslate
- });
-
- var statusbar = scheme.find(this, 'Statusbar');
-
- //
- // Canvas
- //
- var canvas = scheme.find(this, 'Canvas').querySelector('canvas');
- canvas.width = DEFAULT_WIDTH;
- canvas.height = DEFAULT_HEIGHT;
-
- var ctx = canvas.getContext('2d');
-
- var startPos = {x: 0, y: 0};
- var cpos = {x: 0, y: 0};
- var tmpTools = ['path', 'rectangle', 'circle'];
- var tmpCanvas, tmpContext;
-
- function createTempCanvas(ev) {
- tmpCanvas = document.createElement('canvas');
- tmpCanvas.width = canvas.width;
- tmpCanvas.height = canvas.height;
- tmpCanvas.style.position = 'absolute';
- tmpCanvas.style.top = '0px';
- tmpCanvas.style.left = '0px';
- tmpCanvas.style.zIndex = 9999999999;
- canvas.parentNode.appendChild(tmpCanvas);
-
- var t = (ev.shiftKey || ev.button > 0);
-
- tmpContext = tmpCanvas.getContext('2d');
- tmpContext.strokeStyle = t ? ctx.fillStyle : ctx.strokeStyle;
- tmpContext.fillStyle = t ? ctx.strokeStyle : ctx.fillStyle;
- tmpContext.lineWidth = ctx.lineWidth;
- tmpContext.lineJoin = ctx.lineJoin;
- }
-
- function removeTempCanvas() {
- Utils.$remove(tmpCanvas);
- tmpContext = null;
- tmpCanvas = null;
- }
-
- function toolAction(action, ev, pos, diff) {
- if ( action === 'down' ) {
- startPos = {x: pos.x, y: pos.y};
-
- removeTempCanvas();
-
- var elpos = Utils.$position(canvas);
- startPos.x = pos.x - elpos.left;
- startPos.y = pos.y - elpos.top;
- cpos = {x: startPos.x, y: startPos.y};
-
- ctx.strokeStyle = self.tool.foreground;
- ctx.fillStyle = self.tool.background;
- ctx.lineWidth = self.tool.lineWidth;
- ctx.lineJoin = self.tool.lineJoin;
-
- if ( tmpTools.indexOf(self.tool.name) >= 0 ) {
- createTempCanvas(ev);
- }
- } else if ( action === 'move' ) {
- cpos.x = startPos.x + diff.x;
- cpos.y = startPos.y + diff.y;
- } else if ( action === 'up' ) {
- if ( tmpCanvas && ctx ) {
- ctx.drawImage(tmpCanvas, 0, 0);
- }
- removeTempCanvas();
- startPos = null;
- }
-
- if ( toolEvents[self.tool.name] && toolEvents[self.tool.name]['mouse' + action] ) {
- toolEvents[self.tool.name]['mouse' + action](ev, {
- pos: cpos,
- start: startPos,
- canvas: canvas,
- ctx: ctx,
- tmpContext: tmpContext,
- tmpCanvas: tmpCanvas,
- win: self
- });
- }
- }
-
- GUI.Helpers.createDrag(canvas, function(ev, pos) {
- toolAction('down', ev, pos);
- }, function(ev, diff, pos) {
- toolAction('move', ev, pos, diff);
- }, function(ev, pos) {
- toolAction('up', ev, pos);
- self.hasChanged = true;
- });
-
- //
- // Toolbars
- //
- scheme.find(this, 'Foreground').on('click', function() {
- self.openColorDialog('foreground');
- });
- scheme.find(this, 'Background').on('click', function() {
- self.openColorDialog('background');
- });
-
- var ts = Object.keys(tools);
- ts.forEach(function(t) {
- scheme.find(self, 'tool-' + t).on('click', function() {
- var stats = tools[t].statusText || '';
- statusbar.set('value', doTranslate(stats));
-
- self.setToolProperty('name', t);
- });
- });
-
- var lineWidths = [];
- for ( var i = 1; i < 22; i++ ) {
- lineWidths.push({label: i.toString(), value: i});
- }
-
- scheme.find(this, 'LineWidth').add(lineWidths).on('change', function(ev) {
- self.setToolProperty('lineWidth', parseInt(ev.detail, 10));
- });
- scheme.find(this, 'LineJoin').on('change', function(ev) {
- self.setToolProperty('lineJoin', ev.detail);
- });
- scheme.find(this, 'LineStroke').on('change', function(ev) {
- self.setToolProperty('lineStroke', ev.detail);
- });
-
- //
- // Init
- //
- this.setToolProperty('background', null);
- this.setToolProperty('foreground', null);
- this.setToolProperty('lineJoin', null);
- this.setToolProperty('lineWidth', null);
- this.setToolProperty('lineStroke', null);
-
- return root;
- };
-
- ApplicationDrawWindow.prototype.openColorDialog = function(param) {
- var self = this;
-
- var colorParam = null;
- if (param === 'background') {
- colorParam = doTranslate('Set background color');
- } else if (param === 'foreground') {
- colorParam = doTranslate('Set foreground color');
- }
-
- API.createDialog('Color', {
- title: colorParam,
- color: self.tool[param]
- }, function(ev, button, result) {
- if ( button !== 'ok' ) {
- return;
- }
- self.setToolProperty(param, result.hex);
- }, this);
- };
-
- ApplicationDrawWindow.prototype.setToolProperty = function(param, value) {
- console.warn('setToolProperty', param, value);
-
- if ( typeof this.tool[param] !== 'undefined' ) {
- if ( value !== null ) {
- this.tool[param] = value;
- }
- }
-
- this._scheme.find(this, 'Foreground').set('value', this.tool.foreground);
- this._scheme.find(this, 'Background').set('value', this.tool.background);
- this._scheme.find(this, 'LineJoin').set('value', this.tool.lineJoin);
- this._scheme.find(this, 'LineWidth').set('value', this.tool.lineWidth);
- this._scheme.find(this, 'LineStroke').set('value', this.tool.lineStroke);
- };
-
- ApplicationDrawWindow.prototype.showFile = function(file, result) {
- var self = this;
- DefaultApplicationWindow.prototype.showFile.apply(this, arguments);
-
- var canvas = this._scheme.find(this, 'Canvas').querySelector('canvas');
- var ctx = canvas.getContext('2d');
-
- function open(img) {
- if ( (window.Uint8Array && (img instanceof Uint8Array)) ) {
- var image = ctx.createImageData(canvas.width, ctx.height);
- for (var i = 0; i < img.length; i++) {
- image.data[i] = img[i];
- }
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- ctx.drawImage(image, 0, 0);
- } else if ( (img instanceof Image) || (img instanceof HTMLImageElement) ) {
- canvas.width = img.width;
- canvas.height = img.height;
- ctx.clearRect(0, 0, img.width, img.height);
- ctx.drawImage(img, 0, 0);
- }
- }
-
- if ( result ) {
- this._toggleLoading(true);
-
- var tmp = new Image();
- tmp.onerror = function() {
- self._toggleLoading(false);
- alert('Failed to open image');
- };
- tmp.onload = function() {
- self._toggleLoading(false);
- open(this);
- };
- tmp.src = result;
- } else {
- canvas.width = DEFAULT_WIDTH;
- canvas.height = DEFAULT_HEIGHT;
- ctx.clearRect(0, 0, canvas.width, canvas.height);
- }
- };
-
- ApplicationDrawWindow.prototype.getFileData = function() {
- var canvas = this._scheme.find(this, 'Canvas').querySelector('canvas');
- if ( canvas ) {
- return new VFS.FileDataURL(canvas.toDataURL('image/png'));
- }
- return null;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationDraw = function(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationDraw', args, metadata, {
- readData: false,
- extension: 'png',
- mime: 'image/png',
- filename: 'New image.png',
- filetypes: [{
- label: 'PNG Image',
- mime: 'image/png',
- extension: 'png'
- }]
- }]);
- };
-
- ApplicationDraw.prototype = Object.create(DefaultApplication.prototype);
- ApplicationDraw.constructor = DefaultApplication;
-
- ApplicationDraw.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationDrawWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationDraw = OSjs.Applications.ApplicationDraw || {};
- OSjs.Applications.ApplicationDraw.Class = Object.seal(ApplicationDraw);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-color-pick-from-screen-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-color-pick-from-screen-16.png
deleted file mode 100644
index 34762fe..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-color-pick-from-screen-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-cursor-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-cursor-16.png
deleted file mode 100644
index b17e23a..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-cursor-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-selection-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-selection-16.png
deleted file mode 100644
index 9ab8602..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-selection-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-circle-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-shape-circle-16.png
deleted file mode 100644
index c0a8ff4..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-circle-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-ellipse-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-shape-ellipse-16.png
deleted file mode 100644
index 77abaf6..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-ellipse-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-rectangle-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-shape-rectangle-16.png
deleted file mode 100644
index e561eef..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-rectangle-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-square-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-shape-square-16.png
deleted file mode 100644
index e3c9e5a..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-shape-square-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-bucket-fill-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-tool-bucket-fill-16.png
deleted file mode 100644
index e0389db..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-bucket-fill-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-eraser-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-tool-eraser-16.png
deleted file mode 100644
index 0e7f873..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-eraser-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-path-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-tool-path-16.png
deleted file mode 100644
index 70d3547..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-path-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-pencil-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-tool-pencil-16.png
deleted file mode 100644
index 43ec401..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-pencil-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-text-16.png b/build/htdocs/dist/packages/default/Draw/icons/stock-tool-text-16.png
deleted file mode 100644
index 60eb5ad..0000000
Binary files a/build/htdocs/dist/packages/default/Draw/icons/stock-tool-text-16.png and /dev/null differ
diff --git a/build/htdocs/dist/packages/default/Draw/metadata.json b/build/htdocs/dist/packages/default/Draw/metadata.json
deleted file mode 100644
index 7e81305..0000000
--- a/build/htdocs/dist/packages/default/Draw/metadata.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "className": "ApplicationDraw",
- "name": "Draw",
- "description": "Simple drawing application",
- "names": {
- "bg_BG": "Рисуване",
- "de_DE": "Zeichnen",
- "fr_FR": "Dessin",
- "it_IT": "Disegna",
- "ko_KR": "그림판",
- "nl_NL": "Tekenen",
- "no_NO": "Tegne",
- "pl_PL": "Rysowanie",
- "ru_RU": "Графический редактор",
- "sk_SK": "Kreslenie",
- "tr_TR": "Çiz",
- "vi_VN": "Vẽ"
- },
- "descriptions": {
- "bg_BG": "Приложение за рисуване",
- "de_DE": "Einfaches Zeichen-Programm",
- "fr_FR": "Programme de dessin simple",
- "it_IT": "Semplice applicazione per creazione/modifica immagini",
- "ko_KR": "간단한 그리기 응용 프로그램",
- "nl_NL": "Eenvoudig tekenprogramma",
- "no_NO": "Simpelt tegne-program",
- "pl_PL": "Prosta aplikacja do rysowania",
- "ru_RU": "Простой графический редактор",
- "sk_SK": "Jednoduchá aplikácia na kreslenie",
- "vi_VN": "Phần mềm vẽ đơn giản"
- },
- "mime": [
- "^image"
- ],
- "category": "graphics",
- "icon": "categories/gnome-graphics.png",
- "compability": [
- "canvas"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Draw",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Draw/scheme.html b/build/htdocs/dist/packages/default/Draw/scheme.html
deleted file mode 100644
index e8c15c0..0000000
--- a/build/htdocs/dist/packages/default/Draw/scheme.html
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Line join
-
- Round
- Miter
- Bevel
-
-
- Line width
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/FileManager/combined.css b/build/htdocs/dist/packages/default/FileManager/combined.css
deleted file mode 100644
index 1984e44..0000000
--- a/build/htdocs/dist/packages/default/FileManager/combined.css
+++ /dev/null
@@ -1,39 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationFileManagerWindow {
-}*/
-
-.ApplicationFileManagerWindow .unmounted {
- opacity : .6;
-}
-.ApplicationFileManagerWindow gui-menu-bar-entry[data-id="ContextMenu"] {
- display : none;
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/FileManager/combined.js b/build/htdocs/dist/packages/default/FileManager/combined.js
deleted file mode 100644
index 47c0db6..0000000
--- a/build/htdocs/dist/packages/default/FileManager/combined.js
+++ /dev/null
@@ -1,1143 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- function getSelected(view) {
- var selected = [];
- (view.get('value') || []).forEach(function(sub) {
- selected.push(sub.data);
- });
- return selected;
- }
-
- var notificationWasDisplayed = {};
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationFileManagerWindow(app, metadata, scheme, path, settings) {
- Window.apply(this, ['ApplicationFileManagerWindow', {
- icon: metadata.icon,
- title: metadata.name,
- allow_drop: true,
- width: 650,
- height: 420
- }, app, scheme]);
-
- this.wasFileDropped = false;
- this.currentPath = path;
- this.currentSummary = {};
- this.viewOptions = Utils.argumentDefaults(settings || {}, {
- ViewNavigation: true,
- ViewSide: true
- }, true);
- this.history = [];
- this.historyIndex = -1;
-
- var self = this;
- this.settingsWatch = OSjs.Core.getSettingsManager().watch('VFS', function() {
- if ( self._loaded ) {
- self.changePath();
- }
- });
-
- this._on('drop:upload', function(ev, item) {
- app.upload(self.currentPath, item, self);
- });
-
- this._on('drop:file', function(ev, src) {
- if ( Utils.dirname(src.path) !== self.currentPath ) {
- var dst = new VFS.File(Utils.pathJoin(self.currentPath, src.filename));
- self.wasFileDropped = dst;
- app.copy(src, dst, self);
- }
- });
-
- this._on('keydown', function(ev, keyCode, shiftKey, ctrlKey, altKey) {
- if ( Utils.keyCombination(ev, 'CTRL+V') ) {
- var clip = API.getClipboard();
- if ( clip && (clip instanceof Array) ) {
- clip.forEach(function(c) {
- if ( c && (c instanceof VFS.File) ) {
- var dst = new VFS.File(Utils.pathJoin(self.currentPath, c.filename));
- app.copy(c, dst, self);
- }
- });
- }
- } else if ( ev.keyCode === Utils.Keys.DELETE ) {
- app.rm(getSelected(self._find('FileView')), self);
- }
- });
-
- this._on('destroy', function() {
- try {
- OSjs.Core.getSettingsManager().unwatch(self.settingsWatch);
- } catch ( e ) {}
- });
- }
-
- ApplicationFileManagerWindow.prototype = Object.create(Window.prototype);
- ApplicationFileManagerWindow.constructor = Window.prototype;
-
- ApplicationFileManagerWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
- var self = this;
- var view;
-
- var viewType = this.viewOptions.ViewType || 'gui-list-view';
- var viewSide = this.viewOptions.ViewSide === true;
- var viewNav = this.viewOptions.ViewNavigation === true;
-
- var vfsOptions = Utils.cloneObject(OSjs.Core.getSettingsManager().get('VFS') || {});
- var scandirOptions = vfsOptions.scandir || {};
-
- var viewHidden = scandirOptions.showHiddenFiles === true;
- var viewExtension = scandirOptions.showFileExtensions === true;
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'FileManagerWindow', root, null, null, {
- _: OSjs.Applications.ApplicationFileManager._
- });
-
- if ( (API.getConfig('Connection.Type') !== 'nw') && window.location.protocol.match(/^file/) ) { // FIXME: Translation
- this._setWarning('VFS does not work when in standalone mode');
- }
-
- //
- // Menus
- //
-
- var menuMap = {
- MenuClose: function() {
- self._close();
- },
- MenuCreateFile: function() {
- app.mkfile(self.currentPath, self);
- },
- MenuCreateDirectory:function() {
- app.mkdir(self.currentPath, self);
- },
- MenuUpload: function() {
- app.upload(self.currentPath, null, self);
- },
- MenuRename: function() {
- app.rename(getSelected(view), self);
- },
- MenuDelete: function() {
- app.rm(getSelected(view), self);
- },
- MenuInfo: function() {
- app.info(getSelected(view), self);
- },
- MenuOpen: function() {
- app.open(getSelected(view), self);
- },
- MenuDownload: function() {
- app.download(getSelected(view), self);
- },
- MenuRefresh: function() {
- self.changePath();
- },
- MenuViewList: function() {
- self.changeView('gui-list-view', true);
- },
- MenuViewTree: function() {
- self.changeView('gui-tree-view', true);
- },
- MenuViewIcon: function() {
- self.changeView('gui-icon-view', true);
- },
- MenuShowSidebar: function() {
- viewSide = self.toggleSidebar(!viewSide, true);
- },
- MenuShowNavigation: function() {
- viewNav = self.toggleNavbar(!viewNav, true);
- },
- MenuShowHidden: function() {
- viewHidden = self.toggleHidden(!viewHidden, true);
- },
- MenuShowExtension: function() {
- viewExtension = self.toggleExtension(!viewExtension, true);
- },
- MenuColumnFilename: function() {
- self.toggleColumn('filename', true);
- },
- MenuColumnMIME: function() {
- self.toggleColumn('mime', true);
- },
- MenuColumnCreated: function() {
- self.toggleColumn('ctime', true);
- },
- MenuColumnModified: function() {
- self.toggleColumn('mtime', true);
- },
- MenuColumnSize: function() {
- self.toggleColumn('size', true);
- }
- };
-
- function menuEvent(ev) {
- var f = ev.detail.func || ev.detail.id;
- if ( menuMap[f] ) {
- menuMap[f]();
- }
- }
-
- scheme.find(this, 'SubmenuFile').on('select', menuEvent);
- var contextMenu = scheme.find(this, 'SubmenuContext').on('select', menuEvent);
- scheme.find(this, 'SubmenuEdit').on('select', menuEvent);
- var viewMenu = scheme.find(this, 'SubmenuView').on('select', menuEvent);
-
- viewMenu.set('checked', 'MenuViewList', viewType === 'gui-list-view');
- viewMenu.set('checked', 'MenuViewTree', viewType === 'gui-tree-view');
- viewMenu.set('checked', 'MenuViewIcon', viewType === 'gui-icon-view');
- viewMenu.set('checked', 'MenuShowSidebar', viewSide);
- viewMenu.set('checked', 'MenuShowNavigation', viewNav);
- viewMenu.set('checked', 'MenuShowHidden', viewHidden);
- viewMenu.set('checked', 'MenuShowExtension', viewExtension);
-
- //
- // Toolbar
- //
- scheme.find(this, 'GoLocation').on('enter', function(ev) {
- self.changePath(ev.detail, null, false, true);
- });
- scheme.find(this, 'GoBack').on('click', function(ev) {
- self.changeHistory(-1);
- });
- scheme.find(this, 'GoNext').on('click', function(ev) {
- self.changeHistory(1);
- });
-
- //
- // Side View
- //
- var side = scheme.find(this, 'SideView');
- side.on('activate', function(ev) {
- if ( ev && ev.detail && ev.detail.entries ) {
- var entry = ev.detail.entries[0];
- if ( entry ) {
- self.changePath(entry.data.root);
- }
- }
- });
-
- //
- // File View
- //
- view = this._scheme.find(this, 'FileView');
- view.on('activate', function(ev) {
- if ( ev && ev.detail && ev.detail.entries ) {
- self.checkActivation(ev.detail.entries);
- }
- });
- view.on('select', function(ev) {
- if ( ev && ev.detail && ev.detail.entries ) {
- self.checkSelection(ev.detail.entries);
- }
- });
- view.on('contextmenu', function(ev) {
- if ( ev && ev.detail && ev.detail.entries ) {
- self.checkSelection(ev.detail.entries);
- }
- contextMenu.show(ev);
- });
-
- //
- // Init
- //
-
- this.renderSideView();
-
- this.changeView(viewType, false);
- this.toggleHidden(viewHidden, false);
- this.toggleExtension(viewExtension, false);
- this.toggleSidebar(viewSide, false);
- this.toggleNavbar(viewNav, false);
-
- this.changePath(this.currentPath);
- this.toggleColumn();
-
- return root;
- };
-
- ApplicationFileManagerWindow.prototype.checkSelection = function(files) {
- var scheme = this._scheme;
-
- if ( !scheme ) {
- return;
- }
-
- var self = this;
- var content = '';
- var statusbar = scheme.find(this, 'Statusbar');
- var doTranslate = OSjs.Applications.ApplicationFileManager._;
-
- var sum, label;
-
- function toggleMenuItems(isFile, isDirectory) {
- /*
- * Toggling MenuItems with the bit MODE_F or MODE_FD set by type of selected items
- * MODE_F : Selected items consist of ONLY files
- * MODE_FD : One or many items are selected (type doesn't matter)
- */
-
- var MODE_F = !isFile || !!isDirectory;
- var MODE_FD = !(isFile || isDirectory);
-
- scheme.find(self, 'MenuRename').set('disabled', MODE_FD);
- scheme.find(self, 'MenuDelete').set('disabled', MODE_FD);
- scheme.find(self, 'MenuInfo').set('disabled', MODE_FD); // TODO: Directory info must be supported
- scheme.find(self, 'MenuDownload').set('disabled', MODE_F);
- scheme.find(self, 'MenuOpen').set('disabled', MODE_F);
-
- scheme.find(self, 'ContextMenuRename').set('disabled', MODE_FD);
- scheme.find(self, 'ContextMenuDelete').set('disabled', MODE_FD);
- scheme.find(self, 'ContextMenuInfo').set('disabled', MODE_FD); // TODO: Directory info must be supported
- scheme.find(self, 'ContextMenuDownload').set('disabled', MODE_F);
- scheme.find(self, 'ContextMenuOpen').set('disabled', MODE_F);
- }
-
- if ( files && files.length ) {
- sum = {files: 0, directories: 0, size: 0};
- (files || []).forEach(function(f) {
- if ( f.data.type === 'dir' ) {
- sum.directories++;
- } else {
- sum.files++;
- sum.size += f.data.size;
- }
- });
-
- label = 'Selected {0} files, {1} dirs, {2}';
- content = doTranslate(label, sum.files, sum.directories, Utils.humanFileSize(sum.size));
-
- toggleMenuItems(sum.files, sum.directories);
- } else {
- sum = this.currentSummary;
- if ( sum ) {
- label = 'Showing {0} files ({1} hidden), {2} dirs, {3}';
- content = doTranslate(label, sum.files, sum.hidden, sum.directories, Utils.humanFileSize(sum.size));
- }
-
- toggleMenuItems(false, false);
- }
-
- statusbar.set('value', content);
- };
-
- ApplicationFileManagerWindow.prototype.checkActivation = function(files) {
- var self = this;
- (files || []).forEach(function(f) {
- if ( f.data.type === 'dir' ) {
- self.changePath(f.data.path);
- return false;
- }
-
- API.open(new VFS.File(f.data));
-
- return true;
- });
- };
-
- ApplicationFileManagerWindow.prototype.updateSideView = function(updateModule) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- var found = null;
- var path = this.currentPath || '/';
-
- if ( updateModule ) {
- this.renderSideView();
- }
-
- OSjs.Core.getMountManager().getModules({special: true}).forEach(function(m, i) {
- if ( path.match(m.module.match) ) {
- found = m.module.root;
- }
- });
-
- var view = this._scheme.find(this, 'SideView');
- view.set('selected', found, 'root');
- };
-
- ApplicationFileManagerWindow.prototype.renderSideView = function() {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- var sideViewItems = [];
- OSjs.Core.getMountManager().getModules({special: true}).forEach(function(m, i) {
- if ( m.module.dynamic && !m.module.mounted() ) {
- return;
- }
-
- var classNames = [m.module.mounted() ? 'mounted' : 'unmounted'];
- if ( m.module.readOnly ) {
- classNames.push('readonly gui-has-emblem');
- }
-
- sideViewItems.push({
- value: m.module,
- className: classNames.join(' '),
- columns: [
- {
- label: m.module.description,
- icon: API.getIcon(m.module.icon)
- }
- ],
- onCreated: function(nel) {
- if ( m.module.readOnly ) {
- nel.style.backgroundImage = 'url(' + API.getIcon('emblems/emblem-readonly.png', '16x16') + ')';
- }
- }
- });
- });
-
- var side = this._scheme.find(this, 'SideView');
- side.clear();
- side.add(sideViewItems);
- };
-
- ApplicationFileManagerWindow.prototype.onMountEvent = function(module, msg) {
- var m = OSjs.Core.getMountManager().getModule(module);
- if ( m ) {
- if ( msg === 'vfs:unmount' ) {
- if ( this.currentPath.match(m.match) ) {
- this.changePath(API.getDefaultPath());
- }
- }
- this.updateSideView(m);
- }
- };
-
- ApplicationFileManagerWindow.prototype.onFileEvent = function(chk, isDest) {
- if ( (this.currentPath === Utils.dirname(chk.path)) || (this.currentPath === chk.path) ) {
- this.changePath(null, this.wasFileDropped, false, false, !this.wasFileDroped);
- }
- };
-
- ApplicationFileManagerWindow.prototype.changeHistory = function(dir) {
- if ( this.historyIndex !== -1 ) {
- if ( dir < 0 ) {
- if ( this.historyIndex > 0 ) {
- this.historyIndex--;
- }
- } else if ( dir > 0 ) {
- if ( this.historyIndex < this.history.length - 1 ) {
- this.historyIndex++;
- }
- }
-
- this.changePath(this.history[this.historyIndex], null, true);
- }
- };
-
- ApplicationFileManagerWindow.prototype.changePath = function(dir, selectFile, isNav, isInput, applyScroll) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
- this.wasFileDropped = false;
-
- //if ( dir === this.currentPath ) { return; }
- dir = dir || this.currentPath;
-
- var self = this;
- var view = this._scheme.find(this, 'FileView');
-
- function updateNavigation() {
- self._scheme.find(self, 'GoLocation').set('value', dir);
- self._scheme.find(self, 'GoBack').set('disabled', self.historyIndex <= 0);
- self._scheme.find(self, 'GoNext').set('disabled', self.historyIndex < 0 || self.historyIndex >= (self.history.length - 1));
- }
-
- function updateHistory(dir) {
- if ( !isNav ) {
- if ( self.historyIndex >= 0 && self.historyIndex < self.history.length - 1 ) {
- self.history = [];
- }
-
- var current = self.history[self.history.length - 1];
- if ( current !== dir ) {
- self.history.push(dir);
- }
-
- if ( self.history.length > 1 ) {
- self.historyIndex = self.history.length - 1;
- } else {
- self.historyIndex = -1;
- }
- }
- if ( isInput ) {
- self.history = [dir];
- self.historyIndex = 0;
- }
-
- self._setTitle(dir, true);
- }
-
- this._toggleLoading(true);
-
- view._call('chdir', {
- path: dir,
- done: function(error, summary) {
- if ( self._destroyed || !self._scheme ) {
- return;
- }
-
- if ( dir && !error ) {
- self.currentPath = dir;
- self.currentSummary = summary;
- if ( self._app ) {
- self._app._setArgument('path', dir);
- }
- updateHistory(dir);
- }
- self._toggleLoading(false);
-
- self.checkSelection([]);
- self.updateSideView();
-
- if ( selectFile && view ) {
- view.set('selected', selectFile.filename, 'filename', {
- scroll: applyScroll
- });
- }
-
- updateNavigation();
- }
- });
-
- };
-
- ApplicationFileManagerWindow.prototype.changeView = function(viewType, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- var view = this._scheme.find(this, 'FileView');
- view.set('type', viewType, !!set);
-
- if ( set ) {
- this._app._setSetting('ViewType', viewType, true);
- }
- };
-
- ApplicationFileManagerWindow.prototype.toggleSidebar = function(toggle, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- this.viewOptions.ViewSide = toggle;
-
- var container = this._scheme.find(this, 'SideContainer');
- var handle = new GUI.Element(container.$element.parentNode.querySelector('gui-paned-view-handle'));
- if ( toggle ) {
- container.show();
- handle.show();
- } else {
- container.hide();
- handle.hide();
- }
- if ( set ) {
- this._app._setSetting('ViewSide', toggle, true);
- }
- return toggle;
- };
-
- ApplicationFileManagerWindow.prototype.toggleVFSOption = function(opt, key, toggle, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- var view = this._scheme.find(this, 'FileView');
- var vfsOptions = OSjs.Core.getSettingsManager().instance('VFS');
-
- var opts = {scandir: {}};
- opts.scandir[opt] = toggle;
-
- vfsOptions.set(null, opts, null, set); // set triggers refresh because of watch
- view.set(key, toggle);
-
- return toggle;
- };
-
- ApplicationFileManagerWindow.prototype.toggleHidden = function(toggle, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- return this.toggleVFSOption('showHiddenFiles', 'dotfiles', toggle, set);
- };
-
- ApplicationFileManagerWindow.prototype.toggleExtension = function(toggle, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- return this.toggleVFSOption('showFileExtensions', 'extensions', toggle, set);
- };
-
- ApplicationFileManagerWindow.prototype.toggleNavbar = function(toggle, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- this.viewOptions.ViewNavigation = toggle;
-
- var viewNav = this._scheme.find(this, 'ToolbarContainer');
- if ( toggle ) {
- viewNav.show();
- } else {
- viewNav.hide();
- }
-
- if ( set ) {
- this._app._setSetting('ViewNavigation', toggle, true);
- }
-
- return toggle;
- };
-
- ApplicationFileManagerWindow.prototype.toggleColumn = function(col, set) {
- if ( this._destroyed || !this._scheme ) {
- return;
- }
-
- var vfsOptions = Utils.cloneObject(OSjs.Core.getSettingsManager().get('VFS') || {});
- var scandirOptions = vfsOptions.scandir || {};
- var viewColumns = scandirOptions.columns || ['filename', 'mime', 'size'];
-
- if ( col ) {
- var found = viewColumns.indexOf(col);
- if ( found >= 0 ) {
- viewColumns.splice(found, 1);
- } else {
- viewColumns.push(col);
- }
-
- scandirOptions.columns = viewColumns;
-
- OSjs.Core.getSettingsManager().set('VFS', 'scandir', scandirOptions, set);
- }
-
- var viewMenu = this._scheme.find(this, 'SubmenuView');
- viewMenu.set('checked', 'MenuColumnFilename', viewColumns.indexOf('filename') >= 0);
- viewMenu.set('checked', 'MenuColumnMIME', viewColumns.indexOf('mime') >= 0);
- viewMenu.set('checked', 'MenuColumnCreated', viewColumns.indexOf('ctime') >= 0);
- viewMenu.set('checked', 'MenuColumnModified', viewColumns.indexOf('mtime') >= 0);
- viewMenu.set('checked', 'MenuColumnSize', viewColumns.indexOf('size') >= 0);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationFileManager = function(args, metadata) {
- Application.apply(this, ['ApplicationFileManager', args, metadata]);
- };
-
- ApplicationFileManager.prototype = Object.create(Application.prototype);
- ApplicationFileManager.constructor = Application;
-
- ApplicationFileManager.prototype.destroy = function() {
- return Application.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationFileManager.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.apply(this, arguments);
-
- var self = this;
- var path = this._getArgument('path') || API.getDefaultPath();
-
- this._on('vfs', function(msg, obj) {
- var win = self._getMainWindow();
- if ( win ) {
- if ( msg === 'vfs:mount' || msg === 'vfs:unmount' ) {
- win.onMountEvent(obj, msg);
- } else {
- if ( obj.destination ) {
- win.onFileEvent(obj.destination, true);
- win.onFileEvent(obj.source);
- } else {
- win.onFileEvent(obj);
- }
- }
- }
- });
-
- this._addWindow(new ApplicationFileManagerWindow(this, metadata, scheme, path, settings));
- };
-
- ApplicationFileManager.prototype.download = function(items) {
- items.forEach(function(item) {
- VFS.url(new VFS.File(item), function(error, result) {
- if ( result ) {
- window.open(result);
- }
- });
- });
- };
-
- ApplicationFileManager.prototype.rm = function(items, win) {
- var self = this;
-
- // TODO: These must be async
- var files = [];
- items.forEach(function(i) {
- files.push(i.filename);
- });
- files = files.join(', ');
-
- win._toggleDisabled(true);
- API.createDialog('Confirm', {
- buttons: ['yes', 'no'],
- message: Utils.format(OSjs.Applications.ApplicationFileManager._('Delete **{0}** ?'), files)
- }, function(ev, button) {
- win._toggleDisabled(false);
- if ( button !== 'ok' && button !== 'yes' ) {
- return;
- }
-
- items.forEach(function(item) {
- item = new VFS.File(item);
- self._action('delete', [item], function() {
- win.changePath(null);
- });
- });
- }, win);
-
- };
-
- ApplicationFileManager.prototype.info = function(items, win) {
- items.forEach(function(item) {
- if ( item.type === 'file' ) {
- API.createDialog('FileInfo', {
- file: new VFS.File(item)
- }, null, win);
- }
- });
- };
-
- ApplicationFileManager.prototype.open = function(items) {
- items.forEach(function(item) {
- if ( item.type === 'file' ) {
- API.open(new VFS.File(item), {forceList: true});
- }
- });
- };
-
- ApplicationFileManager.prototype.rename = function(items, win) {
- // TODO: These must be async
- var self = this;
-
- function rename(item, newName) {
- item = new VFS.File(item);
-
- var newitem = new VFS.File(item);
- newitem.filename = newName;
- newitem.path = Utils.replaceFilename(item.path, newName);
-
- self._action('move', [item, newitem], function(error) {
- if ( !error ) {
- win.changePath(null, newitem);
- }
- });
- }
-
- items.forEach(function(item) {
- var dialog = API.createDialog('Input', {
- message: OSjs.Applications.ApplicationFileManager._('Rename **{0}**', item.filename),
- value: item.filename
- }, function(ev, button, result) {
- if ( button === 'ok' && result ) {
- rename(item, result);
- }
- }, win);
- dialog.setRange(Utils.getFilenameRange(item.filename));
- });
- };
-
- ApplicationFileManager.prototype.mkfile = function(dir, win) {
- var self = this;
-
- win._toggleDisabled(true);
- function finished(write, item) {
- win._toggleDisabled(false);
-
- if ( item ) {
- VFS.write(item, '', function() {
- win.changePath(null, item);
- }, {}, self);
- }
- }
-
- API.createDialog('Input', {
- value: 'My new File',
- message: OSjs.Applications.ApplicationFileManager._('Create a new file in **{0}**', dir)
- }, function(ev, button, result) {
- if ( !result ) {
- win._toggleDisabled(false);
- return;
- }
-
- var item = new VFS.File(dir + '/' + result);
- VFS.exists(item, function(error, result) {
- if ( result ) {
- win._toggleDisabled(true);
-
- API.createDialog('Confirm', {
- buttons: ['yes', 'no'],
- message: API._('DIALOG_FILE_OVERWRITE', item.filename)
- }, function(ev, button) {
- finished(button === 'yes' || button === 'ok', item);
- }, self);
- } else {
- finished(true, item);
- }
- });
- }, win);
- };
-
- ApplicationFileManager.prototype.mkdir = function(dir, win) {
- var self = this;
-
- win._toggleDisabled(true);
- API.createDialog('Input', {
- message: OSjs.Applications.ApplicationFileManager._('Create a new directory in **{0}**', dir)
- }, function(ev, button, result) {
- if ( !result ) {
- win._toggleDisabled(false);
- return;
- }
-
- var item = new VFS.File(dir + '/' + result);
- self._action('mkdir', [item], function() {
- win._toggleDisabled(false);
- win.changePath(null, item);
- });
- }, win);
- };
-
- ApplicationFileManager.prototype.copy = function(src, dest, win) {
- var self = this;
- var dialog = API.createDialog('FileProgress', {
- message: OSjs.Applications.ApplicationFileManager._('Copying **{0}** to **{1}**', src.filename, dest.path)
- }, function() {
- }, win);
-
- win._toggleLoading(true);
-
- VFS.copy(src, dest, function(error, result) {
- win._toggleLoading(false);
-
- try {
- dialog._close();
- } catch ( e ) {}
-
- if ( error ) {
- API.error(API._('ERR_GENERIC_APP_FMT', self.__label), API._('ERR_GENERIC_APP_REQUEST'), error);
- return;
- }
- }, {dialog: dialog}, this._app);
- };
-
- ApplicationFileManager.prototype.upload = function(dest, files, win) {
- var self = this;
-
- function upload() {
- win._toggleLoading(true);
-
- VFS.upload({
- files: files,
- destination: dest,
- win: win,
- app: self
- }, function(error, file) {
- win._toggleLoading(false);
- if ( error ) {
- API.error(API._('ERR_GENERIC_APP_FMT', self.__label), API._('ERR_GENERIC_APP_REQUEST'), error);
- return;
- }
- win.changePath(null, file, false, false, true);
- });
- }
-
- if ( files ) {
- upload();
- } else {
- API.createDialog('FileUpload', {
- dest: dest
- }, function(ev, button, result) {
- if ( result ) {
- win.changePath(null, result);
- }
- }, win);
- }
- };
-
- ApplicationFileManager.prototype.showStorageNotification = function(type) {
- if ( notificationWasDisplayed[type] ) {
- return;
- }
- notificationWasDisplayed[type] = true;
-
- var wm = OSjs.Core.getWindowManager();
- if ( wm ) {
- wm.notification({
- title: 'External Storage',
- message: 'Using external services requires authorization. A popup-window may appear.',
- icon: 'status/dialog-information.png'
- });
- }
- };
-
- ApplicationFileManager.prototype._action = function(name, args, callback) {
- callback = callback || function() {};
- var self = this;
- var _onError = function(error) {
- API.error(API._('ERR_GENERIC_APP_FMT', self.__label), API._('ERR_GENERIC_APP_REQUEST'), error);
- callback(false);
- };
-
- VFS[name].apply(VFS, args.concat(function(error, result) {
- if ( error ) {
- _onError(error);
- return;
- }
- callback(error, result);
- }, null, this));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationFileManager = OSjs.Applications.ApplicationFileManager || {};
- OSjs.Applications.ApplicationFileManager.Class = Object.seal(ApplicationFileManager);
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, GUI, Utils, API, VFS) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Copying file...' : 'Копиране на файл...',
- "Copying **{0}** to **{1}**" : "Копиране **{0}** към **{1}**",
- "Refreshing..." : "Опресняване...",
- "Loading..." : "Зареждане...",
- "Create a new directory in **{0}**" : "Създаване на нова директория в **{0}**",
- "Rename **{0}**" : "преименуване на **{0}**",
- "Delete **{0}** ?" : "Изтриване на **{0}**?"
- },
- de_DE : {
- 'Copying file...' : 'Kopiere Datei...',
- "Copying **{0}** to **{1}**" : "Kopiere **{0}** nach **{1}**",
- "Refreshing..." : "Aktualisiere...",
- "Loading..." : "Lade...",
- "Create a new directory in **{0}**" : "Erstelle ein neues Verzeichnis in **{0}**",
- "Rename **{0}**" : "**{0}** umbenennen",
- "Delete **{0}** ?" : "**{0}** löschen?"
- },
- fr_FR : {
- 'Copying file...' : 'Copie de fichier...',
- "Copying **{0}** to **{1}**" : "Copie de **{0}** à **{1}**",
- "Refreshing..." : "Rafraichissement...",
- "Loading..." : "Chargement...",
- "Create a new file in **{0}**" : "Créer un nouveau fichier dans **{0}**",
- "Create a new directory in **{0}**" : "Créer un nouveau dossier dans **{0}**",
- "Rename **{0}**" : "Renommer **{0}**",
- "Delete **{0}** ?" : "Supprimer **{0}** ?",
- 'Selected {0} files, {1} dirs, {2}' : '{0} fichier(s) selectionné(s), {1} dossier(s), {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : '{0} fichier(s) affiché(s) ({1} caché(s)), {2} dossier(s), {3}'
- },
- ar_DZ : {
- 'Copying file...' : 'جاري نسخ الملف...',
- "Copying **{0}** to **{1}**" : "نسخ من **{0}** إلى **{1}**",
- "Refreshing..." : "جاري التحديث...",
- "Loading..." : "جاري التحميل...",
- "Create a new file in **{0}**" : "إنشاء ملف جديد في **{0}**",
- "Create a new directory in **{0}**" : "إنشاء مجلد جديد في **{0}**",
- "Rename **{0}**" : "إعادة التسمية **{0}**",
- "Delete **{0}** ?" : "حذف **{0}** ?",
- 'Selected {0} files, {1} dirs, {2}' : '{0} ملف مختار, {1} مجلد, {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : '{0} ملف مرئي ({1} مخفي(s)), {2} مجلد, {3}'
- },
- it_IT : {
- 'Copying file...' : 'Copiamento file...',
- "Copying **{0}** to **{1}**" : "Copia **{0}** in **{1}**",
- "Refreshing..." : "Ricarica...",
- "Loading..." : "Caricamento...",
- "Create a new file in **{0}**" : "Creazione nuovo file in **{0}**",
- "Create a new directory in **{0}**" : "Creazione nuova cartella in **{0}**",
- "Rename **{0}**" : "Rinomina **{0}**",
- "Delete **{0}** ?" : "Cancellare **{0}** ?",
- 'Selected {0} files, {1} dirs, {2}' : '{0} file selezionati, {1} cartelle, {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : 'Mostrando {0} file(s) ({1} nascosti), {2} cartelle, {3}'
- },
- ko_KR : {
- 'Copying file...' : '파일 복사...',
- "Copying **{0}** to **{1}**" : "**{0}**를 **{1}**으로 복사",
- "Refreshing..." : "새로고치는 중...",
- "Loading..." : "기다려주세요...",
- "Create a new file in **{0}**" : "**{0}**에 새 파일 만들기",
- "Create a new directory in **{0}**" : "**{0}**에 새 디렉토리 만들기",
- "Rename **{0}**" : "**{0}**의 이름 바꾸기",
- "Delete **{0}** ?" : "**{0}**을 삭제하시겠습니까?",
- 'Selected {0} files, {1} dirs, {2}' : '{0} 개의 파일, {1} 개의 디렉토리가 선택됨, {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : '{0} 개의 파일({1} 개의 숨긴 파일), {2} 개의 디렉토리가 존재, {3}'
- },
- nl_NL : {
- 'Copying file...' : 'Bestand kopieren...',
- "Copying **{0}** to **{1}**" : "Kopieer **{0}** naar **{1}**",
- "Refreshing..." : "Vernieuwen...",
- "Loading..." : "Laden...",
- "Create a new directory in **{0}**" : "Maak een nieuwe map in **{0}**",
- "Rename **{0}**" : "Hernoem **{0}**",
- "Delete **{0}** ?" : "**{0}** verwijderen?"
- },
- no_NO : {
- 'Copying file...' : 'Kopierer fil...',
- "Copying **{0}** to **{1}**" : "Kopierer **{0}** to **{1}**",
- "Refreshing..." : "Gjenoppfrisker...",
- "Loading..." : "Laster...",
- "Create a new file in **{0}**" : "Opprett ny fil i **{0}**",
- "Create a new directory in **{0}**" : "Opprett ny mappe i **{0}**",
- "Rename **{0}**" : "Navngi **{0}**",
- "Delete **{0}** ?" : "Slette **{0}** ?"
- },
- pl_PL : {
- 'Copying file...' : 'Kopiowanie pliku...',
- "Copying **{0}** to **{1}**" : "Kopiowanie **{0}** do **{1}**",
- "Refreshing..." : "Odświeżanie...",
- "Loading..." : "Ładowanie...",
- "Create a new file in **{0}**" : "Utwórz nowy plik w **{0}**",
- "Create a new directory in **{0}**" : "Utwórz nowy folder w **{0}**",
- "Rename **{0}**" : "Zmień nazwę **{0}**",
- "Delete **{0}** ?" : "Usunąć **{0}** ?",
- 'Selected {0} files, {1} dirs, {2}' : 'Wybrane pliki: {0}, foldery: {1}, {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : 'Pokazywane pliki: {0} /(ukryte: {1}, foldery: {2}, {3}'
- },
- ru_RU : {
- 'Copying file...' : 'Копирование файла...',
- "Copying **{0}** to **{1}**" : "Копирование **{0}** в **{1}**",
- "Refreshing..." : "Обновление...",
- "Loading..." : "Загрузка...",
- "Create a new directory in **{0}**" : "Создать новый каталог в **{0}**",
- "Rename **{0}**" : "Переименовать **{0}**",
- "Delete **{0}** ?" : "Удалить **{0}** ?"
- },
- sk_SK : {
- 'Copying file...' : 'Kopírujem súbor...',
- "Copying **{0}** to **{1}**" : "Kopírujem **{0}** do **{1}**",
- "Refreshing..." : "Obnovujem...",
- "Loading..." : "Nahrávam...",
- "Create a new file in **{0}**" : "Vytvor nový súbor v **{0}**",
- "Create a new directory in **{0}**" : "Vytvor nový adresár v **{0}**",
- "Rename **{0}**" : "Premenuj **{0}**",
- "Delete **{0}** ?" : "Zmazať **{0}** ?"
- },
- tr_TR : {
- 'Copying file...' : 'kopyalanıyor...',
- "Copying **{0}** to **{1}**" : "**{0}** dosyası **{1}**e kopyalanıyor",
- "Refreshing..." : "yenileniyor...",
- "Loading..." : "yükleniyor...",
- "Create a new directory in **{0}**" : " **{0}** içinde yeni bir klasör aç",
- "Rename **{0}**" : "yeniden adlandır **{0}**",
- "Delete **{0}** ?" : "sil **{0}**?"
- },
- vi_VN : {
- 'Copying file...' : 'Đang sao chép...',
- "Copying **{0}** to **{1}**" : "Đang chép **{0}** tới **{1}**",
- "Refreshing..." : "Đang làm mới...",
- "Loading..." : "Đang tải...",
- "Create a new file in **{0}**" : "Tạo một tập tin mới trong **{0}**",
- "Create a new directory in **{0}**" : "Tạo một thư mục mới trong **{0}**",
- "Rename **{0}**" : "Đổi tên **{0}**",
- "Delete **{0}** ?" : "Xóa **{0}**?",
- 'Selected {0} files, {1} dirs, {2}' : 'Đã chọn {0} tập tin, {1} thư mục, {2}',
- 'Showing {0} files ({1} hidden), {2} dirs, {3}' : 'Đang hiển thị {0} tập tin({1} bị ẩn), {2} thư mục, {3}'
- }
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationFileManager = OSjs.Applications.ApplicationFileManager || {};
- OSjs.Applications.ApplicationFileManager._ = _;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.GUI, OSjs.Utils, OSjs.API, OSjs.VFS);
diff --git a/build/htdocs/dist/packages/default/FileManager/metadata.json b/build/htdocs/dist/packages/default/FileManager/metadata.json
deleted file mode 100644
index 5bb8e9b..0000000
--- a/build/htdocs/dist/packages/default/FileManager/metadata.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "className": "ApplicationFileManager",
- "name": "File Manager",
- "description": "The default file manager",
- "names": {
- "bg_BG": "Файлов мениджър",
- "de_DE": "Dateimanager",
- "fr_FR": "Explorateur de fichier",
- "it_IT": "Gestore File",
- "nl_NL": "bestands beheer",
- "no_NO": "Fil-håndtering",
- "pl_PL": "Menedżer Plików",
- "ko_KR": "파일 탐색기",
- "sk_SK": "Správca súborov",
- "ru_RU": "Файловый менеджер",
- "tr_TR": "Dosya Yöneticisi",
- "vi_VN": "Quản lí file"
- },
- "descriptions": {
- "bg_BG": "Стандартния файлов мениджър",
- "de_DE": "Standardmäßiger Dateimanager",
- "fr_FR": "Gestionnaire de fichier par défaut",
- "it_IT": "Il gestore file predefinito",
- "nl_NL": "Standaard bestands beheerder",
- "no_NO": "Standard Fil-håndtering program",
- "pl_PL": "Domyślny Menedżer Plików",
- "ko_KR": "기본 파일 관리자",
- "sk_SK": "Štandardný správca súborov",
- "ru_RU": "Стандартный файловый менеджер",
- "tr_TR": "Varsayılan dosya yöneticisi",
- "vi_VN": "Trình quản lí file mặc định"
- },
- "category": "utilities",
- "icon": "apps/file-manager.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/FileManager",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/FileManager/scheme.html b/build/htdocs/dist/packages/default/FileManager/scheme.html
deleted file mode 100644
index a5a4f55..0000000
--- a/build/htdocs/dist/packages/default/FileManager/scheme.html
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/HTMLViewer/combined.js b/build/htdocs/dist/packages/default/HTMLViewer/combined.js
deleted file mode 100644
index 786f39e..0000000
--- a/build/htdocs/dist/packages/default/HTMLViewer/combined.js
+++ /dev/null
@@ -1,93 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationHTMLViewerWindow(app, metadata, scheme, file) {
- DefaultApplicationWindow.apply(this, ['ApplicationHTMLViewerWindow', {
- icon: metadata.icon,
- title: metadata.name,
- width: 400,
- height: 200
- }, app, scheme, file]);
- }
-
- ApplicationHTMLViewerWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationHTMLViewerWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationHTMLViewerWindow.prototype.init = function(wmRef, app, scheme) {
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
- scheme.render(this, 'HTMLViewerWindow', root);
- return root;
- };
-
- ApplicationHTMLViewerWindow.prototype.showFile = function(file, url) {
- if ( this._scheme ) {
- this._find('iframe').set('src', url);
- }
- DefaultApplicationWindow.prototype.showFile.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationHTMLViewer(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationHTMLViewer', args, metadata, {
- extension: 'html',
- mime: 'text/htm',
- filename: 'index.html',
- fileypes: ['htm', 'html'],
- readData: false
- }]);
- }
-
- ApplicationHTMLViewer.prototype = Object.create(DefaultApplication.prototype);
- ApplicationHTMLViewer.constructor = DefaultApplication;
-
- ApplicationHTMLViewer.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationHTMLViewerWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationHTMLViewer = OSjs.Applications.ApplicationHTMLViewer || {};
- OSjs.Applications.ApplicationHTMLViewer.Class = Object.seal(ApplicationHTMLViewer);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/HTMLViewer/metadata.json b/build/htdocs/dist/packages/default/HTMLViewer/metadata.json
deleted file mode 100644
index 731c268..0000000
--- a/build/htdocs/dist/packages/default/HTMLViewer/metadata.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "className": "ApplicationHTMLViewer",
- "name": "HTML Viewer",
- "mime": [
- "text\\/html"
- ],
- "icon": "mimetypes/html.png",
- "category": "utilities",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/HTMLViewer",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/HTMLViewer/scheme.html b/build/htdocs/dist/packages/default/HTMLViewer/scheme.html
deleted file mode 100644
index 4d02442..0000000
--- a/build/htdocs/dist/packages/default/HTMLViewer/scheme.html
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/MusicPlayer/api.php b/build/htdocs/dist/packages/default/MusicPlayer/api.php
deleted file mode 100644
index ff31f6b..0000000
--- a/build/htdocs/dist/packages/default/MusicPlayer/api.php
+++ /dev/null
@@ -1,47 +0,0 @@
-File[0]) && isset($xml->File[0]->track) && ($node = $xml->File->track) ) {
- return Array(
- 'Artist' => isset($node->Performer) ? htmlspecialchars($node->Performer) : null,
- 'Album' => isset($node->Album) ? htmlspecialchars($node->Album) : null,
- 'Track' => isset($node->Track_name) ? htmlspecialchars($node->Track_name) : null
- );
- }
- }
- }
-
- return false;
- }
-
-}
-
-?>
diff --git a/build/htdocs/dist/packages/default/MusicPlayer/combined.css b/build/htdocs/dist/packages/default/MusicPlayer/combined.css
deleted file mode 100644
index 5200b26..0000000
--- a/build/htdocs/dist/packages/default/MusicPlayer/combined.css
+++ /dev/null
@@ -1,47 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationMusicPlayerWindow {
-}*/
-
-.ApplicationMusicPlayerWindow gui-slider {
- margin : 4px;
- margin-top : 10px;
- margin-bottom : 10px;
-}
-.ApplicationMusicPlayerWindow gui-vbox[data-id="Metadata"] {
- margin : 4px;
-}
-.ApplicationMusicPlayerWindow gui-audio {
- display : none;
-}
-.ApplicationMusicPlayerWindow gui-button-bar {
- text-align : center;
-}
diff --git a/build/htdocs/dist/packages/default/MusicPlayer/combined.js b/build/htdocs/dist/packages/default/MusicPlayer/combined.js
deleted file mode 100644
index e471115..0000000
--- a/build/htdocs/dist/packages/default/MusicPlayer/combined.js
+++ /dev/null
@@ -1,541 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, GUI, Dialogs, VFS) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Playlist' : 'Плейлист',
- 'Playback aborted' : 'Прекратено изпълнение',
- 'Network or communication error' : 'Проблем с връзка към мрежа',
- 'Decoding failed. Corruption or unsupported media' : 'Провалено декодиране, повереден файл или неподдържан формат',
- 'Media source not supported' : 'Източника на медия не се поддържа',
- 'Failed to play file' : 'Изпълнението на файла се провали',
- 'Artist' : 'Изпълнител',
- 'Album' : 'Албум',
- 'Track' : 'Песен',
- 'Time' : 'Време',
- 'Media information query failed' : 'Получаване на информация провалено',
- 'seek unavailable in format' : 'Невъществуващ формат',
- 'The audio type is not supported: {0}' : 'Аудио формата не се поддържа'
- },
- de_DE : {
- 'Playlist' : 'Wiedergabeliste',
- 'Playback aborted' : 'Wiedergabe abgebrochen',
- 'Network or communication error' : 'Netzwerk Kommunikationsfehler',
- 'Decoding failed. Corruption or unsupported media' : 'Dekodierung gescheitert. Fehlerhafte oder nicht unterstützte Datei',
- 'Media source not supported' : 'Medienquelle nicht unterstützt',
- 'Failed to play file' : 'Wiedergabe der Datei gescheitert',
- 'Artist' : 'Künstler',
- 'Album' : 'Album',
- 'Track' : 'Titel',
- 'Time' : 'Zeit',
- 'Media information query failed' : 'Media Informationssuche gescheitert',
- 'seek unavailable in format' : 'Spulen im Format nicht verfügbar',
- 'The audio type is not supported: {0}' : 'Der Audio-Typ {0} ist nicht unterstützt'
- },
- es_ES : {
- 'Playlist' : 'Lista de reproducción',
- 'Playback aborted' : 'Playback anulado',
- 'Network or communication error' : 'Error de red o de comunicación',
- 'Decoding failed. Corruption or unsupported media' : 'Fallo en el desentrelazado. Medio corrupto o no soportado',
- 'Media source not supported' : 'Medio no soportado',
- 'Failed to play file' : 'Error reproduciendo archivo',
- 'Artist' : 'Artista',
- 'Album' : 'Album',
- 'Track' : 'Pista',
- 'Time' : 'Tiempo',
- 'Media information query failed' : 'Error recupersqndo información del medio',
- 'seek unavailable in format' : 'búsqueda no disponible en este formato',
- 'The audio type is not supported: {0}' : 'El tipo de audio no está soportado: {0}'
- },
- fr_FR : {
- 'Playlist' : 'Liste de lecture',
- 'Playback aborted' : 'Lecture interrompue',
- 'Network or communication error' : 'Erreur de communication ou de réseau',
- 'Decoding failed. Corruption or unsupported media' : 'Décodage raté. Média corrompus ou non pris en charge',
- 'Media source not supported' : 'Source de médias non pris en charge',
- 'Failed to play file' : 'Impossible de lire le fichier',
- 'Artist' : 'Artiste',
- 'Album' : 'Album',
- 'Track' : 'Piste',
- 'Time' : 'Durée',
- 'Media information query failed' : 'Requête des informations média échoué',
- 'seek unavailable in format' : 'recherche indisponible dans ce format',
- 'The audio type is not supported: {0}' : 'Le type audio n\'est pas pris en charge: {0}'
- },
- ar_DZ : {
- 'Playlist' : 'قائمة القرائة',
- 'Playback aborted' : 'قطع التشغيل',
- 'Network or communication error' : 'خطأ في الإتصال بالشبكة',
- 'Decoding failed. Corruption or unsupported media' : 'فشل في فك التشفير. وسائط غير صالحة أو غير مدعومة',
- 'Media source not supported' : 'وسائط غير مدعومة',
- 'Failed to play file' : 'لايمكن قراءة الملف',
- 'Artist' : 'الفنان',
- 'Album' : 'الألبوم',
- 'Track' : 'المقطع',
- 'Time' : 'المدة',
- 'Media information query failed' : 'خطأ في قراءة معلومات الوسائط',
- 'seek unavailable in format' : 'بحث غير ممكن في هذا النوع',
- 'The audio type is not supported: {0}' : 'نوع الملف الصوتي غير مدعوم: {0}'
- },
- it_IT : {
- 'Playlist' : 'Playlist',
- 'Playback aborted' : 'Riproduzione terminata',
- 'Network or communication error' : 'Errore di rete o di comunicazione',
- 'Decoding failed. Corruption or unsupported media' : 'Decodifica fallita. Supporto corroto o non supportato.',
- 'Media source not supported' : 'Sorgente multimediale non supportata',
- 'Failed to play file' : 'Riproduzione file fallita',
- 'Artist' : 'Artista',
- 'Album' : 'Album',
- 'Track' : 'Traccia',
- 'Time' : 'Tempo',
- 'Media information query failed' : 'Recupero informazioni media fallita',
- 'seek unavailable in format' : 'ricerca non disponibile nel formato',
- 'The audio type is not supported: {0}' : 'Tipo di audio non supportato: {0}'
- },
- ko_KR : {
- 'Playlist' : '재생목록',
- 'Playback aborted' : '일시중지',
- 'Network or communication error' : '네트워크 등 통신 문제가 발생했습니다',
- 'Decoding failed. Corruption or unsupported media' : '디코딩에 실패했습니다. 손상되었거나 지원하지 않는 형식입니다',
- 'Media source not supported' : '지원하지 않는 미디어 소스입니다',
- 'Failed to play file' : '파일을 재생하는데 실패했습니다',
- 'Artist' : '아티스트',
- 'Album' : '앨범',
- 'Track' : '트랙',
- 'Time' : '시간',
- 'Media information query failed' : '미디어 정보 조회에 실패했습니다',
- 'seek unavailable in format' : '탐색을 지원하지 않는 형식입니다',
- 'The audio type is not supported: {0}' : '이 오디오 형식은 지원하지 않습니다: {0}'
- },
- nl_NL : {
- 'Playlist' : 'Afspeellijst',
- 'Playback aborted' : 'Afspelen afgebroken',
- 'Network or communication error' : 'Netwerk of communicatie fout',
- 'Decoding failed. Corruption or unsupported media' : 'Decoderen mislukt: bestandstype wordt niet ondersteund',
- 'Media source not supported' : 'Mediabron wordt niet ondersteund',
- 'Failed to play file' : 'Afspelen van bestand mislukt',
- 'Artist' : 'Artiest',
- 'Album' : 'Album',
- 'Track' : 'Nummer',
- 'Time' : 'Tijd',
- 'Media information query failed' : 'Zoeken naar media is niet gelukt',
- 'seek unavailable in format' : 'Voor/achteruit spoelen is niet beschikbaar in dit formaat',
- 'The audio type is not supported: {0}' : 'Audio type {0} wordt niet ondersteund'
- },
- no_NO : {
- 'Playlist' : 'Spilleliste',
- 'Playback aborted' : 'Avspilling avbrutt',
- 'Network or communication error' : 'Nettverks- eller kommunikasjonsfeil',
- 'Decoding failed. Corruption or unsupported media' : 'Dekoding feilet. Korrupt eller ustøttet media',
- 'Media source not supported' : 'Media-kilde ikke støttet',
- 'Failed to play file' : 'Klarte ikke spille av fil',
- 'Artist' : 'Artist',
- 'Album' : 'Album',
- 'Track' : 'Låt',
- 'Time' : 'Tid',
- 'Media information query failed' : 'Media-informasjon forespursel feil',
- 'seek unavailable in format' : 'spoling utilgjenglig i format',
- 'The audio type is not supported: {0}' : 'Denne lyd-typen er ikke støttet: {0}'
- },
- pl_PL : {
- 'Playlist' : 'Playlista',
- 'Playback aborted' : 'Odtwarzanie Przerwane',
- 'Network or communication error' : 'Błąd Sieci lub Komunikacji',
- 'Decoding failed. Corruption or unsupported media' : 'Dekodowanie nie powiodło się. Uszkodzony lub nieobsługiwany plik',
- 'Media source not supported' : 'Plik nie jest wspierany',
- 'Failed to play file' : 'Nie można odtworzyć pliku',
- 'Artist' : 'Artysta',
- 'Album' : 'Album',
- 'Track' : 'Ścieżka',
- 'Time' : 'Czas',
- 'Media information query failed' : 'Brak informacji',
- 'seek unavailable in format' : 'Przewijanie nie jest obsługiwane w tym formacie',
- 'The audio type is not supported: {0}' : 'Ten typ audio nie jest obsługiwany: {0}'
- },
- ru_RU : {
- 'Playlist' : 'Список воспроизведения',
- 'Playback aborted' : 'Воспроизведение прервано',
- 'Network or communication error' : 'Ошибка соединения',
- 'Decoding failed. Corruption or unsupported media' : 'Не удалось декодировать файл. Файл поврежден или данынй формат не поддерживается',
- 'Media source not supported' : 'Тип файла не поддерживается',
- 'Failed to play file' : 'Ошибка воспроизведения',
- 'Artist' : 'Артист',
- 'Album' : 'Альбом',
- 'Track' : 'Трек',
- 'Time' : 'Время',
- 'Media information query failed' : 'Ошибка в запросе медиа-информации',
- 'seek unavailable in format' : 'Перемотка недоступна в этом формате',
- 'The audio type is not supported: {0}' : 'Тип аудио не поддерживается: {0}'
- },
- sk_SK : {
- 'Playlist' : 'Zoznam skladieb',
- 'Playback aborted' : 'Prehrávanie prerušené',
- 'Network or communication error' : 'Chyba v sieťovej komunikácii',
- 'Decoding failed. Corruption or unsupported media' : 'Dekódovanie sa nepodarilo alebo médium je nepodporované',
- 'Media source not supported' : 'Zdrojové médium nie je podporované',
- 'Failed to play file' : 'Chyba pri prehrávaní súboru',
- 'Artist' : 'Umelec',
- 'Album' : 'Album',
- 'Track' : 'Skladba',
- 'Time' : 'Čas',
- 'Media information query failed' : 'Chyba pri získavaní informácii o médiu',
- 'seek unavailable in format' : 'Formát média nepodporuje preskakovanie (seek)',
- 'The audio type is not supported: {0}' : 'Nepodporovaný formát: {0}'
- },
-
- tr_TR : {
- 'Playlist' : 'Oynatma listesi',
- 'Playback aborted' : 'kayıt çalma/dinleme durduruldu',
- 'Network or communication error' : 'ağ veya iletişim hatası',
- 'Decoding failed. Corruption or unsupported media' : 'çözümleme hatası. Bozuk veya çalışmıyor.',
- 'Media source not supported' : 'medya kaynağı bulunamadı',
- 'Failed to play file' : 'Oynatma hatası',
- 'Artist' : 'Artist',
- 'Album' : 'Album',
- 'Track' : 'Parça',
- 'Time' : 'zaman',
- 'Media information query failed' : 'medya bilgisini elde etmede hata oluştu',
- 'seek unavailable in format' : 'bu formatta ileri saramazsınız',
- 'The audio type is not supported: {0}' : 'Bu format desteklenmiyor: {0}'
- },
- vi_VN : {
- 'Playlist' : 'Danh sách phát',
- 'Playback aborted' : 'Phát lại bị hủy',
- 'Network or communication error' : 'Mạng hoặc thông tin liên lạc bị lỗi',
- 'Decoding failed. Corruption or unsupported media' : 'Giải mã thất bại. Tập tin bị hỏng hoặc không được hỗ trợ',
- 'Media source not supported' : 'Nguồn phương tiện không được hỗ trợ',
- 'Failed to play file' : 'Không thể chơi tập tin',
- 'Artist' : 'Ca sĩ',
- 'Album' : 'Album',
- 'Track' : 'Bài hát',
- 'Time' : 'Thời gian',
- 'Media information query failed' : 'Truy vấn thông tin tập tin thất bại',
- 'seek unavailable in format' : 'không tua được trong định dạng này',
- 'The audio type is not supported: {0}' : 'Loại âm thanh {0} không được hỗ trợ'
- }
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return OSjs.API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationMusicPlayer = OSjs.Applications.ApplicationMusicPlayer || {};
- OSjs.Applications.ApplicationMusicPlayer._ = _;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.GUI, OSjs.Dialogs, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
- // TODO: Playlist
- // TODO: Server seek support: https://gist.github.com/codler/3906826
-
- function formatTime(secs) {
- var hr = Math.floor(secs / 3600);
- var min = Math.floor((secs - (hr * 3600)) / 60);
- var sec = Math.floor(secs - (hr * 3600) - (min * 60));
-
- if (min < 10) {
- min = '0' + min;
- }
- if (sec < 10) {
- sec = '0' + sec;
- }
-
- return min + ':' + sec;
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationMusicPlayerWindow(app, metadata, scheme, file) {
- DefaultApplicationWindow.apply(this, ['ApplicationMusicPlayerWindow', {
- icon: metadata.icon,
- title: metadata.name,
- allow_drop: true,
- allow_resize: false,
- allow_maximize: false,
- width: 370,
- height: 260
- }, app, scheme, file]);
-
- this.updated = false;
- }
-
- ApplicationMusicPlayerWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationMusicPlayerWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationMusicPlayerWindow.prototype.init = function(wm, app, scheme) {
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
- var self = this;
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'MusicPlayerWindow', root, null, null, {
- _: OSjs.Applications.ApplicationMusicPlayer._
- });
-
- var label = this._scheme.find(this, 'LabelTime');
- var seeker = this._scheme.find(this, 'Seek');
-
- var player = scheme.find(this, 'Player');
- var audio = player.$element.firstChild;
-
- scheme.find(this, 'ButtonStart').set('disabled', true);
- scheme.find(this, 'ButtonRew').set('disabled', true);
- var buttonPlay = scheme.find(this, 'ButtonPlay').set('disabled', true).on('click', function() {
- audio.play();
- });
- var buttonPause = scheme.find(this, 'ButtonPause').set('disabled', true).on('click', function() {
- audio.pause();
- });
- scheme.find(this, 'ButtonFwd').set('disabled', true);
- scheme.find(this, 'ButtonEnd').set('disabled', true);
-
- seeker.on('change', function(ev) {
- if ( audio && !audio.paused ) {
- try {
- audio.pause();
- if ( ev ) {
- audio.currentTime = ev.detail || 0;
- }
- audio.play();
- } catch ( e ) {}
- }
- });
-
- player.on('play', function(ev) {
- seeker.set('disabled', false);
- buttonPause.set('disabled', false);
- buttonPlay.set('disabled', true);
- });
- player.on('ended', function(ev) {
- seeker.set('disabled', true);
- buttonPause.set('disabled', true);
- });
- player.on('pause', function(ev) {
- seeker.set('disabled', true);
- buttonPause.set('disabled', false);
- buttonPlay.set('disabled', false);
- });
- player.on('loadeddata', function(ev) {
- });
- player.on('timeupdate', function(ev) {
- self.updateTime(label, seeker);
- });
- player.on('error', function(ev) {
- if ( !player.$element.src ) {
- return;
- }
-
- var msg = null;
- try {
- switch ( ev.target.error.code ) {
- case ev.target.error.MEDIA_ERR_ABORTED:
- msg = OSjs.Applications.ApplicationMusicPlayer._('Playback aborted');
- break;
- case ev.target.error.MEDIA_ERR_NETWORK:
- msg = OSjs.Applications.ApplicationMusicPlayer._('Network or communication error');
- break;
- case ev.target.error.MEDIA_ERR_DECODE:
- msg = OSjs.Applications.ApplicationMusicPlayer._('Decoding failed. Corruption or unsupported media');
- break;
- case ev.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:
- msg = OSjs.Applications.ApplicationMusicPlayer._('Media source not supported');
- break;
- default:
- msg = OSjs.API._('ERR_APP_UNKNOWN_ERROR');
- break;
- }
- } catch ( e ) {
- msg = OSjs.API._('ERR_GENERIC_APP_FATAL_FMT', e);
- }
-
- if ( msg ) {
- API.createDialog('Alert', {title: self._title, message: msg}, null, self);
- }
- });
-
- return root;
- };
-
- ApplicationMusicPlayerWindow.prototype.showFile = function(file, content) {
- if ( !file || !content ) {
- return;
- }
-
- var self = this;
- var scheme = this._scheme;
- var player = scheme.find(this, 'Player');
- var seeker = this._scheme.find(this, 'Seek');
- var audio = player.$element.firstChild;
-
- var artist = file ? file.filename : '';
- var album = file ? Utils.dirname(file.path) : '';
-
- var labelArtist = this._scheme.find(this, 'LabelArtist').set('value', '');
- var labelTitle = this._scheme.find(this, 'LabelTitle').set('value', artist);
- var labelAlbum = this._scheme.find(this, 'LabelAlbum').set('value', album);
- this._scheme.find(this, 'LabelTime').set('value', '');
- seeker.set('min', 0);
- seeker.set('max', 0);
- seeker.set('value', 0);
-
- this.updated = false;
-
- function getInfo() {
- self._app._api('info', {filename: file.path}, function(err, info) {
- if ( info ) {
- if ( info.Artist ) {
- labelArtist.set('value', info.Artist);
- }
- if ( info.Album ) {
- labelAlbum.set('value', info.Album);
- }
- if ( info.Title ) {
- labelTitle.set('value', info.Track);
- }
- }
- });
- }
-
- audio.src = content || '';
- audio.play();
- getInfo();
- };
-
- ApplicationMusicPlayerWindow.prototype.updateTime = function(label, seeker) {
- if ( this._destroyed ) {
- return; // Important because async
- }
-
- var player = this._scheme.find(this, 'Player');
- var audio = player.$element.firstChild;
-
- var total = audio.duration;
- var current = audio.currentTime;
- var unknown = false;
-
- if ( isNaN(current) || !isFinite(current) ) {
- current = 0.0;
- }
-
- if ( isNaN(total) || !isFinite(total) ) {
- total = current;
- unknown = true;
- }
-
- var time = Utils.format('{0} / {1}', formatTime(current), unknown ? '' : formatTime(total));
-
- if ( !this.updated ) {
- seeker.set('min', 0);
- seeker.set('max', total);
- }
-
- label.set('value', time);
- seeker.set('value', current);
-
- this.updated = true;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationMusicPlayer = function(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationMusicPlayer', args, metadata, {
- readData: false
- }]);
- };
-
- ApplicationMusicPlayer.prototype = Object.create(DefaultApplication.prototype);
- ApplicationMusicPlayer.constructor = DefaultApplication;
-
- ApplicationMusicPlayer.prototype.destroy = function() {
- return DefaultApplication.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationMusicPlayer.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationMusicPlayerWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationMusicPlayer = OSjs.Applications.ApplicationMusicPlayer || {};
- OSjs.Applications.ApplicationMusicPlayer.Class = Object.seal(ApplicationMusicPlayer);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/MusicPlayer/metadata.json b/build/htdocs/dist/packages/default/MusicPlayer/metadata.json
deleted file mode 100644
index 2c52789..0000000
--- a/build/htdocs/dist/packages/default/MusicPlayer/metadata.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "className": "ApplicationMusicPlayer",
- "name": "Music Player",
- "names": {
- "bg_BG": "Музикален плеър",
- "de_DE": "Musikspieler",
- "es_ES": "Music Player",
- "fr_FR": "Lecteur de musique",
- "it_IT": "Lettore Musicale",
- "ko_KR": "뮤직 플레이어",
- "nl_NL": "Audio speler",
- "no_NO": "Musikkspiller",
- "pl_PL": "Odtwarzacz muzyki",
- "ru_RU": "Аудиоплеер",
- "sk_SK": "Prehrávač hudby",
- "tr_TR": "Muzik Çalar",
- "vi_VN": "Nghe nhạc"
- },
- "mime": [
- "^audio",
- "osjs\\/playlist"
- ],
- "category": "multimedia",
- "icon": "status/audio-volume-high.png",
- "singular": true,
- "compability": [
- "audio"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/MusicPlayer",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/MusicPlayer/scheme.html b/build/htdocs/dist/packages/default/MusicPlayer/scheme.html
deleted file mode 100644
index 1ee502b..0000000
--- a/build/htdocs/dist/packages/default/MusicPlayer/scheme.html
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Artist
-
-
-
-
-
-
-
-
-
-
- Album
-
-
-
-
-
-
-
-
-
-
- Title
-
-
-
-
-
-
-
-
-
-
- Time
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Preview/combined.css b/build/htdocs/dist/packages/default/Preview/combined.css
deleted file mode 100644
index ff51b0a..0000000
--- a/build/htdocs/dist/packages/default/Preview/combined.css
+++ /dev/null
@@ -1,55 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-.ApplicationPreviewWindow gui-container {
- overflow : hidden;
- font-size : 0;
- text-align : center;
-}
-.ApplicationPreviewWindow gui-video {
- vertical-align : middle;
- display : inline-block;
- background : #000;
- height : 100%;
- width : 100%;
-}
-
-.ApplicationPreviewWindow gui-video > video {
- height : 100%;
- width : 100%;
- display : inline-block;
-}
-
-.ApplicationPreviewWindow gui-image {
- width : auto;
-}
-.ApplicationPreviewWindow gui-image[data-zoom="fit"] > img {
- width : 100%;
-}
diff --git a/build/htdocs/dist/packages/default/Preview/combined.js b/build/htdocs/dist/packages/default/Preview/combined.js
deleted file mode 100644
index 2a9848c..0000000
--- a/build/htdocs/dist/packages/default/Preview/combined.js
+++ /dev/null
@@ -1,204 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationPreviewWindow(app, metadata, scheme, file) {
- DefaultApplicationWindow.apply(this, ['ApplicationPreviewWindow', {
- allow_drop: true,
- icon: metadata.icon,
- title: metadata.name,
- width: 400,
- height: 200
- }, app, scheme, file]);
-
- this.zoomLevel = 0;
- this.isImage = true;
- this.origWidth = 0;
- this.origHeight = 0;
- this.$view = null;
- }
-
- ApplicationPreviewWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationPreviewWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationPreviewWindow.prototype.destroy = function() {
- this.$view = null;
-
- return DefaultApplicationWindow.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationPreviewWindow.prototype.init = function(wm, app, scheme) {
- var self = this;
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'PreviewWindow', root);
-
- this._find('ZoomIn').son('click', this, this.onZoomIn);
- this._find('ZoomOut').son('click', this, this.onZoomOut);
- this._find('ZoomFit').son('click', this, this.onZoomFit);
- this._find('ZoomOriginal').son('click', this, this.onZoomOriginal);
-
- var c = this._find('Content').$element;
- Utils.$bind(c, 'mousewheel', function(ev, pos) {
- if ( pos.z === 1 ) {
- self.onZoomOut();
- } else if ( pos.z === -1 ) {
- self.onZoomIn();
- }
- });
-
- return root;
- };
-
- ApplicationPreviewWindow.prototype.showFile = function(file, result) {
- var self = this;
- var root = this._scheme.find(this, 'Content').$element;
- Utils.$empty(root);
-
- if ( result ) {
- this.zoomLevel = 0;
-
- if ( file.mime.match(/^image/) ) {
- this.isImage = true;
- this.$view = this._scheme.create(self, 'gui-image', {src: result}, root, {
- onload: function() {
- self.origWidth = this.offsetWidth;
- self.origHeight = this.offsetHeight;
- self._resizeTo(this.offsetWidth, this.offsetHeight, true, false, this);
- }
- });
- } else if ( file.mime.match(/^video/) ) {
- this.isImage = false;
- this.$view = this._scheme.create(self, 'gui-video', {src: result, controls: true, autoplay: true}, root, {
- onload: function() {
- self._resizeTo(this.offsetWidth, this.offsetHeight, true, false, this);
- }
- });
- }
- }
-
- var toolbar = this._find('Toolbar');
- if ( toolbar ) {
- toolbar[this.isImage ? 'show' : 'hide']();
- }
-
- DefaultApplicationWindow.prototype.showFile.apply(this, arguments);
- };
-
- ApplicationPreviewWindow.prototype._onZoom = function(val) {
- if ( !this.isImage || !this.$view ) {
- return;
- }
-
- var zoom = ['in', 'out'].indexOf(val) !== -1;
- var attr = 'zoomed';
- var w = null;
-
- if ( val === 'in' ) {
- this.zoomLevel = Math.min(10, this.zoomLevel + 1);
- } else if ( val === 'out' ) {
- this.zoomLevel = Math.max(-10, this.zoomLevel - 1);
- } else {
- this.zoomLevel = 0;
- attr = val === 'fit' ? val : '';
- }
-
- if ( zoom ) {
- var z = this.zoomLevel;
- if ( z === 0 ) {
- z = 1;
- w = this.origWidth;
- } else if ( z > 0 ) {
- z += 1;
- w = this.origWidth * z;
- } else if ( z < 0 ) {
- z -= 1;
- w = Math.abs(this.origWidth / z);
- }
-
- this._setTitle(this.currentFile.filename + ' (' + String(z * 100) + '%)', true);
- } else {
- this._setTitle(this.currentFile.filename, true);
- }
-
- this.$view.$element.setAttribute('data-zoom', attr);
- this.$view.$element.firstChild.style.width = (w === null ? 'auto' : String(w) + 'px');
- }
-
- ApplicationPreviewWindow.prototype.onZoomIn = function() {
- this._onZoom('in');
- };
-
- ApplicationPreviewWindow.prototype.onZoomOut = function() {
- this._onZoom('out');
- };
-
- ApplicationPreviewWindow.prototype.onZoomFit = function() {
- this._onZoom('fit');
- };
-
- ApplicationPreviewWindow.prototype.onZoomOriginal = function() {
- this._onZoom();
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationPreview = function(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationPreview', args, metadata, {
- readData: false
- }]);
- };
-
- ApplicationPreview.prototype = Object.create(DefaultApplication.prototype);
- ApplicationPreview.constructor = DefaultApplication;
-
- ApplicationPreview.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationPreviewWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationPreview = OSjs.Applications.ApplicationPreview || {};
- OSjs.Applications.ApplicationPreview.Class = Object.seal(ApplicationPreview);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Preview/metadata.json b/build/htdocs/dist/packages/default/Preview/metadata.json
deleted file mode 100644
index 99d3d95..0000000
--- a/build/htdocs/dist/packages/default/Preview/metadata.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "className": "ApplicationPreview",
- "name": "Preview",
- "description": "Preview image files",
- "names": {
- "bg_BG": "Преглед на изображения",
- "de_DE": "Vorschau",
- "fr_FR": "Visionneuse",
- "it_IT": "Anteprima Immagini",
- "ko_KR": "미리보기",
- "nl_NL": "Foto viewer",
- "no_NO": "Forhåndsviser",
- "pl_PL": "Podgląd",
- "ru_RU": "Просмотрщик",
- "sk_SK": "Prehliadač obrázkov",
- "tr_TR": "Önizle",
- "vi_VN": "Trình xem ảnh"
- },
- "descriptions": {
- "bg_BG": "Преглед на изображения",
- "de_DE": "Bildervorschau",
- "fr_FR": "Visionneuse de photos",
- "it_IT": "Anteprima Immagini",
- "ko_KR": "이미지 파일을 미리 봅니다",
- "nl_NL": "Foto viewer",
- "no_NO": "Forhåndsvisning av bilde-filer",
- "pl_PL": "Podgląd zdjęć",
- "ru_RU": "Просмотрщик изображений",
- "sk_SK": "Prehliadač obrázkov",
- "tr_TR": "resim dosyalarını önizle",
- "vi_VN": "Trình xem ảnh"
- },
- "mime": [
- "^image",
- "^video"
- ],
- "category": "multimedia",
- "icon": "mimetypes/image.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Preview",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Preview/scheme.html b/build/htdocs/dist/packages/default/Preview/scheme.html
deleted file mode 100644
index 9d2433d..0000000
--- a/build/htdocs/dist/packages/default/Preview/scheme.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/ProcessViewer/combined.css b/build/htdocs/dist/packages/default/ProcessViewer/combined.css
deleted file mode 100644
index d456dfb..0000000
--- a/build/htdocs/dist/packages/default/ProcessViewer/combined.css
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationProcessViewerWindow application-window-content {
-}*/
-
diff --git a/build/htdocs/dist/packages/default/ProcessViewer/combined.js b/build/htdocs/dist/packages/default/ProcessViewer/combined.js
deleted file mode 100644
index b9d638d..0000000
--- a/build/htdocs/dist/packages/default/ProcessViewer/combined.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationProcessViewerWindow(app, metadata, scheme) {
- Window.apply(this, ['ApplicationProcessViewerWindow', {
- icon: metadata.icon,
- title: metadata.name,
- width: 400,
- height: 300
- }, app, scheme]);
-
- this.interval = null;
- }
-
- ApplicationProcessViewerWindow.prototype = Object.create(Window.prototype);
- ApplicationProcessViewerWindow.constructor = Window.prototype;
-
- ApplicationProcessViewerWindow.prototype.init = function(wm, app, scheme) {
- var root = Window.prototype.init.apply(this, arguments);
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'ProcessViewerWindow', root);
-
- var view = scheme.find(this, 'View');
-
- function update() {
- var now = new Date();
- var rows = [];
- API.getProcesses().forEach(function(p) {
- if ( p ) {
- var alive = now - p.__started;
- var iter = {
- value: p.__pid,
- id: p.__pid,
- columns: [
- {label: p.__pname},
- {label: p.__pid.toString(), textalign: 'right'},
- {label: alive.toString(), textalign: 'right'}
- ]
- };
-
- rows.push(iter);
- }
- });
-
- view.patch(rows);
- }
-
- view.set('columns', [
- {label: 'Name'},
- {label: 'PID', size: '60px', textalign: 'right'},
- {label: 'Alive', size: '60px', textalign: 'right'}
- ]);
-
- scheme.find(this, 'ButtonKill').on('click', function() {
- var selected = view.get('selected');
- if ( selected && selected[0] && typeof selected[0].data !== 'undefined' ) {
- API.kill(selected[0].data);
- }
- });
-
- this.interval = setInterval(function() {
- update();
- }, 1000);
-
- update();
-
- return root;
- };
-
- ApplicationProcessViewerWindow.prototype.destroy = function() {
- Window.prototype.destroy.apply(this, arguments);
- this.interval = clearInterval(this.interval);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationProcessViewer = function(args, metadata) {
- Application.apply(this, ['ApplicationProcessViewer', args, metadata]);
- };
-
- ApplicationProcessViewer.prototype = Object.create(Application.prototype);
- ApplicationProcessViewer.constructor = Application;
-
- ApplicationProcessViewer.prototype.destroy = function() {
- return Application.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationProcessViewer.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.apply(this, arguments);
- this._addWindow(new ApplicationProcessViewerWindow(this, metadata, scheme));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationProcessViewer = OSjs.Applications.ApplicationProcessViewer || {};
- OSjs.Applications.ApplicationProcessViewer.Class = Object.seal(ApplicationProcessViewer);
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/ProcessViewer/metadata.json b/build/htdocs/dist/packages/default/ProcessViewer/metadata.json
deleted file mode 100644
index f18b735..0000000
--- a/build/htdocs/dist/packages/default/ProcessViewer/metadata.json
+++ /dev/null
@@ -1,54 +0,0 @@
-{
- "className": "ApplicationProcessViewer",
- "name": "Process Viewer",
- "description": "View running processes",
- "names": {
- "bg_BG": "Процеси",
- "de_DE": "Prozess-Manager",
- "fr_FR": "Gestionnaire de processus",
- "it_IT": "Gestore Attività",
- "ko_KR": "프로세스 관리자",
- "nl_NL": "Proces manager",
- "no_NO": "Prosess oversikt",
- "pl_PL": "Procesy",
- "ru_RU": "Менеджер процессов",
- "sk_SK": "Správca procesov",
- "tr_TR": "İşlemleri Görüntüle",
- "vi_VN": "Xem tiến trình"
- },
- "descriptions": {
- "bg_BG": "Преглед на процеси",
- "de_DE": "Laufende Prozesse verwalten",
- "fr_FR": "Visualiser les processus en cours",
- "it_IT": "Mostri processi attivi",
- "ko_KR": "실행 중인 프로세스를 관리합니다",
- "nl_NL": "Bekijk de lopende processen",
- "no_NO": "Se oversikt over kjørende prosesser",
- "pl_PL": "Zobacz działające procesy",
- "ru_RU": "Менеджер запущенных процессов",
- "sk_SK": "Spravovanie bežiacich procesov",
- "tr_TR": "çalışan işlemleri görüntüle",
- "vi_VN": "Xem các tiến trình đang chạy"
- },
- "singular": true,
- "category": "system",
- "icon": "apps/gnome-monitor.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/ProcessViewer",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/ProcessViewer/scheme.html b/build/htdocs/dist/packages/default/ProcessViewer/scheme.html
deleted file mode 100644
index 6f9947b..0000000
--- a/build/htdocs/dist/packages/default/ProcessViewer/scheme.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- LBL_KILL
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Settings/api.js b/build/htdocs/dist/packages/default/Settings/api.js
deleted file mode 100644
index 96c1b97..0000000
--- a/build/htdocs/dist/packages/default/Settings/api.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function() {
- 'use strict';
-
- /*
- * See http://os.js.org/doc/tutorials/application-with-server-api.html
- */
-
- //
- // Run `app._api('test', {}, fn)` in client to reach this
- //
- module.exports.test = function(args, callback, request, response) {
- callback(false, 'test');
- };
-
- //
- // This is called whenever the HTTP server starts up
- //
- module.exports._onServerStart = function(server, instance, metadata) {
- };
-
-})();
-
diff --git a/build/htdocs/dist/packages/default/Settings/combined.css b/build/htdocs/dist/packages/default/Settings/combined.css
deleted file mode 100644
index dbb1844..0000000
--- a/build/htdocs/dist/packages/default/Settings/combined.css
+++ /dev/null
@@ -1,108 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-.ApplicationSettingsWindow application-window-content {
- overflow : hidden;
-}
-
-.ApplicationSettingsWindow application-window-content gui-expander {
- margin-bottom : 5px;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="ContainerButtons"],
-.ApplicationSettingsWindow application-window-content [data-id="ContainerContent"] {
- overflow : hidden;
- display : none;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="SoundsList"] {
- height : 150px;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="HotkeysList"] {
- height : 200px;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="UsersList"],
-.ApplicationSettingsWindow application-window-content [data-id="InstalledPackages"],
-.ApplicationSettingsWindow application-window-content [data-id="PackagePaths"],
-.ApplicationSettingsWindow application-window-content [data-id="PanelItems"],
-.ApplicationSettingsWindow application-window-content [data-id="MountList"],
-.ApplicationSettingsWindow application-window-content [data-id="SearchPaths"] {
- height : 140px;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="ContainerContent"] > div {
- overflow : auto;
- height : 100%;
- width : 100%;
-}
-
-.ApplicationSettingsWindow application-window-content [data-id="ContainerSelection"] {
-}
-
-.ApplicationSettingsWindow application-window-content .ListView {
- overflow : hidden;
- height : 100%;
- width : 100%;
-}
- .ApplicationSettingsWindow application-window-content .ListView > div {
- min-height : 32px;
- }
- .ApplicationSettingsWindow application-window-content .ListView > div > ul {
- list-style : none;
- margin : 0;
- padding : 0;
- pointer-events: none;
- }
- .ApplicationSettingsWindow application-window-content .ListView > div > ul > li {
- box-sizing : border-box;
- display : inline-block;
- margin : 0;
- padding : 10px;
- text-align : center;
- cursor : pointer;
- width : 90px;
- height : 70px;
- pointer-events: all;
- }
- .ApplicationSettingsWindow application-window-content .ListView > div > ul > li * {
- pointer-events : none;
- }
- .ApplicationSettingsWindow application-window-content .ListView > div > ul > li > span {
- display : block;
- }
-
- .ApplicationSettingsWindow application-window-content .ListView > div > span {
- display : block;
- font-weight : bold;
- margin-bottom : 5px;
- pointer-events: none;
- }
diff --git a/build/htdocs/dist/packages/default/Settings/combined.js b/build/htdocs/dist/packages/default/Settings/combined.js
deleted file mode 100644
index 49965fb..0000000
--- a/build/htdocs/dist/packages/default/Settings/combined.js
+++ /dev/null
@@ -1,2724 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, GUI, Dialogs, Utils, API, VFS) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Background Type' : 'Тип на фон',
- 'Image (Repeat)' : 'Изображение (повтарящо се)',
- 'Image (Centered)' : 'Изображение (Центрирано)',
- 'Image (Fill)' : 'Изображение (Запълващо)',
- 'Image (Streched)' : 'Изображение (Разтеглено)',
- 'Desktop Margin ({0}px)' : 'Размер на работен плот ({0}px)',
- 'Enable Animations' : 'Разреши анимации',
- 'Language (requires restart)' : 'Език (нуждае се от рестарт)',
- 'Enable Sounds' : 'Включи звуци',
- 'Enable Window Switcher' : 'Включи превключване на прозорци',
- 'Enable Hotkeys' : 'Включи горещи клавиши',
- 'Enable Icon View' : 'Включи иконен-изглед'
- },
- de_DE : {
- 'Background Type' : 'Hintergrundtyp',
- 'Image (Repeat)' : 'Bild (Wiederholend)',
- 'Image (Centered)' : 'Bild (Zentriert)',
- 'Image (Fill)' : 'Bild (Ausgefüllt)',
- 'Image (Streched)' : 'Bild (Gestreckt)',
- 'Desktop Margin ({0}px)' : 'Arbeitsoberflächen Margin ({0}px)',
- 'Enable Animations' : 'Animationen verwenden',
- 'Language (requires restart)' : 'Sprache (benötigt Neustart)',
- 'Enable Sounds' : 'Aktiviere Sounds',
- 'Enable Window Switcher' : 'Aktiviere Fensterwechsler',
- 'Enable Hotkeys' : 'Aktiviere Hotkeys',
- 'Enable Icon View' : 'Aktiviere Icon-Ansicht',
- },
- es_ES : {
- 'Background Type' : 'Tipo de fondo',
- 'Image (Repeat)' : 'Imagen (Repetir)',
- 'Image (Centered)' : 'Imagen (Centrada)',
- 'Image (Fill)' : 'Imagen (Estirar)',
- 'Image (Streched)' : 'Imagen (Ajustar)',
- 'Desktop Margin ({0}px)' : 'Margen del escritorio ({0}px)',
- 'Enable Animations' : 'Habilitar animaciones',
- 'Language (requires restart)' : 'Idioma (requiere reiniciar)',
- 'Enable Sounds' : 'Activar sonidos',
- 'Enable Window Switcher' : 'Activar el alternador de ventanas',
- 'Enable Hotkeys' : 'Activar Hotkeys',
- 'Enable Icon View' : 'Activar la vista de icono',
- },
- ar_DZ : {
- 'Background Type' : 'نوع الخلفية',
- 'Image (Repeat)' : 'صورة (إعادة)',
- 'Image (Centered)' : 'صورة (وسط)',
- 'Image (Fill)' : 'صورة (ملئ)',
- 'Image (Streched)' : 'صورة (تمدد)',
- 'Desktop Margin ({0}px)' : 'هوامش المكتب ({0}px)',
- 'Enable Animations' : 'تفعيل الحركة',
- 'Language (requires restart)' : 'اللغة (تتطب إعادة التشغيل)',
- 'Enable Sounds' : 'تفعيل الأصوات',
- 'Enable Window Switcher' : 'تفعيل محول النوافذ',
- 'Enable Hotkeys' : 'تفعيل إختصارات لوحة المفاتيح',
- 'Enable Icon View' : 'تفعيل مظهر الأيقونات',
- 'Remove shortcut' : 'حذف الإختصار',
- 'File View': 'خصائص الملفات',
- 'Show Hidden Files': 'إظهار الملفات المخفية',
- 'Show File Extensions': 'إظهار لواحق الملفات',
- 'File View Options': 'خيارات إظهار الملفات',
- 'Invert Text Color' : 'عكس لون الخط',
- 'Icon View' : 'إظهار الأيقونات',
- 'Installed Packages' : 'حزم مثبتة',
- 'App Store' : 'متجر التطبيقات',
- 'Regenerate metadata' : 'إعادة توليد المعلومات',
- 'Install from zip' : 'تثبيت من ملف مضغوط',
- 'Install selected' : 'تثبيت المختار',
- 'Enable TouchMenu' : 'تفعيل قائمة اللمس'
- },
- fr_FR : {
- 'Background Type' : 'Type de fond d\'écran',
- 'Image (Repeat)' : 'Image (Répéter)',
- 'Image (Centered)' : 'Image (Centrer)',
- 'Image (Fill)' : 'Image (Remplir)',
- 'Image (Streched)' : 'Image (Étiré)',
- 'Desktop Margin ({0}px)' : 'Marge du bureau ({0}px)',
- 'Desktop Corner Snapping ({0}px)' : 'Délimitation des coins du bureau ({0}px)',
- 'Window Snapping ({0}px)' : 'Accrochage des fenêtres ({0}px)',
- 'Enable Animations' : 'Activer les animations',
- 'Language (requires restart)' : 'Langue (redémarrage requis)',
- 'Enable Sounds' : 'Activer la musique',
- 'Enable Window Switcher' : 'Activer Window Switcher',
- 'Enable Hotkeys' : 'Activer les raccourcis clavier',
- 'Enable Icon View' : 'Activer l\'affichage des icônes sur le bureau',
- 'Remove shortcut' : 'Supprimer le raccourci',
- 'File View': 'Options des fichiers',
- 'Show Hidden Files': 'Montrer les fichiers cachés',
- 'Show File Extensions': 'Montrer les extensions de fichiers',
- 'File View Options': 'Options d\'affichage des fichier',
- 'Invert Text Color' : 'Inverser la couleur du texte',
- 'Icon View' : 'Affichage des icônes',
- 'Installed Packages' : 'Paquets installés',
- 'App Store' : 'Magasin d\'applications',
- 'Regenerate metadata' : 'Régénérer les métadonnées',
- 'Install from zip' : 'Installer à partir du fichier zip',
- 'Install selected' : 'Installer la sélection',
- 'Enable TouchMenu' : 'Activer le TouchMenu'
- },
- it_IT : {
- 'Background Type' : 'Tipo di sfondo',
- 'Image (Repeat)' : 'Immagine (Ripeti)',
- 'Image (Centered)' : 'Immagine (Centrata)',
- 'Image (Fill)' : 'Immagine (Riempi)',
- 'Image (Streched)' : 'Immagine (Distorci)',
- 'Desktop Margin ({0}px)' : 'Margini Scrivania ({0}px)',
- 'Enable Animations' : 'Abilita animazioni',
- 'Language (requires restart)' : 'Lingua (necessita riavvio)',
- 'Enable Sounds' : 'Abilita Suoni',
- 'Enable Window Switcher' : 'Abilita Cambia-Finestre',
- 'Enable Hotkeys' : 'Abilita Scorciatoie da tastiera',
- 'Enable Icon View' : 'Abilita Visualizzazione ad icona',
- 'Remove shortcut' : 'Rimuovi scorciatoia',
- 'File View': 'Visualizza file',
- 'Show Hidden Files': 'Mostra file nascosti',
- 'Show File Extensions': 'Mostra estenzioni dei file',
- 'File View Options': 'Opzioni visualizza file',
- 'Invert Text Color' : 'Inverti colore testi',
- 'Icon View' : 'Visualizzazione ad icone',
- 'Installed Packages' : 'Installa pacchetti',
- 'App Store' : 'Negozio applicazioni',
- 'Application' : 'Applicazione',
- 'Scope' : 'Scope (namespace)',
- 'Regenerate metadata' : 'Rigenerazione metadata',
- 'Install from zip' : 'Installa da zip',
- 'Install selected' : 'Installa selezionato',
- 'Enable TouchMenu' : 'Abilita TouchMenu'
- },
- ko_KR : {
- 'Background Type' : '바탕화면 타입',
- 'Image (Repeat)' : '이미지 (반복)',
- 'Image (Centered)' : '이미지 (가운데)',
- 'Image (Fill)' : '이미지 (채우기)',
- 'Image (Streched)' : '이미지 (늘이기)',
- 'Desktop Margin ({0}px)' : '데스크탑 여백 ({0}px)',
- 'Enable Animations' : '애니메이션 효과 켜기',
- 'Language (requires restart)' : '언어 (재시작 필요)',
- 'Enable Sounds' : '사운드 켜기',
- 'Enable Window Switcher' : '윈도우 전환 활성',
- 'Enable Hotkeys' : '단축키 활성',
- 'Enable Icon View' : '아이콘 보이기',
- 'Desktop Corner Snapping ({0}px)' : '바탕화면 가장자리에 붙이기 ({0}px)',
- 'Window Snapping ({0}px)' : '창 가장자리에 붙이기 ({0}px)',
- 'File View': '파일보기',
- 'Show Hidden Files': '숨긴 파일 보이기',
- 'Show File Extensions': '파일 확장자 보이기',
- 'File View Options': '파일보기 옵션',
- 'Invert Text Color' : '텍스트 색상 반전',
- 'Icon View' : '아이콘 보기',
- 'Installed Packages' : '설치된 패키지',
- 'App Store' : '앱스토어',
- 'Regenerate metadata' : '메타데이터 재생성',
- 'Install from zip' : 'zip 파일로부터 설치하기',
- 'Install selected' : '선택된 항목 설치',
- 'Enable TouchMenu' : '터치메뉴 활성화',
- 'Search Options' : '검색 옵션',
- 'Enable Application Search' : '어플리케이션 검색 활성화',
- 'Enable File Search' : '파일 검색 활성화'
- },
- nl_NL : {
- 'Background Type' : 'Achtergrond type',
- 'Image (Repeat)' : 'Afbeelding (Herhalend)',
- 'Image (Centered)' : 'Afbeelding (Gecentreerd)',
- 'Image (Fill)' : 'Afbeelding (Passend)',
- 'Image (Streched)' : 'Afbeelding (Uitrekken)',
- 'Desktop Margin ({0}px)' : 'Achtergrondmarge ({0}px)',
- 'Enable Animations' : 'Animaties gebruiken',
- 'Language (requires restart)' : 'Taal (Herstarten vereist)',
- 'Enable Sounds' : 'Activeer Geluiden',
- 'Enable Window Switcher' : 'Activeer Venster Wisselaar',
- 'Enable Hotkeys' : 'Activeer Hotkeys',
- 'Enable Icon View' : 'Activeer Iconen-weergave'
- },
- no_NO : {
- 'Background Type' : 'Bakgrunn type',
- 'Image (Repeat)' : 'Bilde (Gjenta)',
- 'Image (Centered)' : 'Bilde (Sentrert)',
- 'Image (Fill)' : 'Bilde (Fyll)',
- 'Image (Streched)' : 'Bilde (Strekk)',
- 'Desktop Margin ({0}px)' : 'Skrivebord Margin ({0}px)',
- 'Enable Animations' : 'Bruk animasjoner',
- 'Language (requires restart)' : 'Språk (krever omstart)',
- 'Enable Sounds' : 'Skru på lyder',
- 'Enable Window Switcher' : 'Skru på Vindu-bytter',
- 'Enable Hotkeys' : 'Skru på Hurtigtaster',
- 'Enable Icon View' : 'Skru på Ikonvisning',
- 'Remove shortcut' : 'Fjern snarvei',
- 'Search path \'{0}\' is already handled by another entry': 'Søkestien \'{0}\' er allrede håndtert av en annen oppføring'
- },
- pl_PL : {
- 'Background Type' : 'Typ Tła',
- 'Image (Repeat)' : 'Powtarzający się',
- 'Image (Centered)' : 'Wycentrowany',
- 'Image (Fill)' : 'Wypełniony',
- 'Image (Streched)' : 'Rozciągnięty',
- 'Desktop Margin ({0}px)' : 'Margines Pulpitu ({0}px)',
- 'Desktop Corner Snapping ({0}px)' : 'Przyciąganie do Narożników Pulpitu ({0}px)',
- 'Window Snapping ({0}px)' : 'Przyciąganie do Okien ({0}px)',
- 'Enable Animations' : 'Włączone Animacje',
- 'Icon View' : 'Widok Ikon',
- 'Language (requires restart)' : 'Język (zmiana wymaga restartu)',
- 'Enable Sounds' : 'Włączone Dźwięki',
- 'Enable TouchMenu' : 'Włączone Menu Dotykowe',
- 'Enable Window Switcher' : 'Właczony Zmieniacz Okien',
- 'Enable Hotkeys' : 'Włączone Skróty Klawiaturowe',
- 'Enable Icon View' : 'Włączone Pokazywanie Ikon',
- 'Remove shortcut' : 'Usuwanie skrótu',
- 'File View': 'Widok Plików',
- 'Show Hidden Files': 'Pokazuj Ukryte Pliki',
- 'Show File Extensions': 'Pokazuj Rozszerzenia Plików',
- 'File View Options': 'Opcje Widoku Plików',
- 'Invert Text Color' : 'Odwróć Kolor Tekstu',
- 'Installed Packages' : 'Zainstalowane Pakiety',
- 'App Store' : 'Sklep App',
- 'Regenerate metadata' : 'Zregeneruj metadane',
- 'Install from zip' : 'Zainstaluj z pliku zip',
- 'Install selected' : 'Zainstaluj wybrane'
- },
- ru_RU : {
- 'Background Type' : 'Тип фона',
- 'Image (Repeat)' : 'Изображение (повторяющееся)',
- 'Image (Centered)' : 'Изображение (по центру)',
- 'Image (Fill)' : 'Изображение (заполнить)',
- 'Image (Streched)' : 'Изображение (растянуть)',
- 'Desktop Margin ({0}px)' : 'Отступ рабочего стола ({0}px)',
- 'Enable Animations' : 'Использовать анимацию',
- 'Enable TouchMenu' : 'Крупное меню',
- 'Language (requires restart)' : 'Язык (необходим перезапуск)',
- 'Enable Sounds' : 'Включить звук',
- 'Enable Window Switcher' : 'Включить растягивание окон',
- 'Enable Hotkeys' : 'Включить горячии клавиши',
- 'Enable Icon View' : 'Включить ярлыки',
- 'Icon View' : 'Ярлыки рабочего стола',
- 'Invert Text Color' : 'Обратить цвет текста'
- },
- sk_SK : {
- 'Background Type' : 'Typ pozadia',
- 'Image (Repeat)' : 'Dlaždice',
- 'Image (Centered)' : 'Na stred',
- 'Image (Fill)' : 'Vyplniť',
- 'Image (Streched)' : 'Roztiahnutý',
- 'Desktop Margin ({0}px)' : 'Hranice pracovnej plochy ({0}px)',
- 'Enable Animations' : 'Povoliť animácie',
- 'Language (requires restart)' : 'Jazyk (vyžaduje reštart)',
- 'Enable Sounds' : 'Povoliť zvuky',
- 'Enable Window Switcher' : 'Povoliť Prepínač Okien',
- 'Enable Hotkeys' : 'Klávesové skratky',
- 'Enable Icon View' : 'Ikony na ploche',
- 'Remove shortcut' : 'Odstrániť skratku'
- },
- tr_TR : {
- 'Background Type' : 'arkaplan türü',
- 'Image (Repeat)' : 'resim (tekrarla)',
- 'Image (Centered)' : 'resm(ortala)',
- 'Image (Fill)' : 'resm (kapla/doldur)',
- 'Image (Streched)' : 'resm (uzat)',
- 'Desktop Margin ({0}px)' : 'masaüstü kenar ({0}px)',
- 'Enable Animations' : 'animasyonlar etkin',
- 'Language (requires restart)' : 'Dil(yeniden başlatma gerektirir)',
- 'Enable Sounds' : 'Müzik etkin',
- 'Enable Window Switcher' : 'Ekran(pencere) değiştirme etkin',
- 'Enable Hotkeys' : 'kısayol tuşları etkin',
- 'Enable Icon View' : 'icon görünümü etkin',
- 'Remove shortcut' : 'kısayolları kaldır'
- },
- vi_VN : {
- 'Background Type' : 'Kiểu nền',
- 'Image (Repeat)' : 'Lặp lại',
- 'Image (Centered)' : 'Căn giữa',
- 'Image (Fill)' : 'Lấp đầy',
- 'Image (Streched)' : 'Trải dài',
- 'Desktop Margin ({0}px)' : 'Phần biên màn hình ({0}px)',
- 'Enable Animations' : 'Bật hiệu ứng',
- 'Language (requires restart)' : 'Ngôn ngữ (cần khởi động lại)',
- 'Enable Sounds' : 'Bật âm thanh',
- 'Enable Window Switcher' : 'Bật chuyển đổi cửa sổ',
- 'Enable Hotkeys' : 'Bật phím nóng',
- 'Enable Icon View' : 'Hiện biểu tượng',
- 'Remove shortcut' : 'Xóa lối tắt',
- 'File View': 'Quản lí tệp',
- 'Show Hidden Files': 'Hiện tập tin ẩn',
- 'Show File Extensions': 'Hiện đuôi tập tin',
- 'File View Options': 'Cài đặt quản lí tệp',
- 'Icon View' : 'Biểu tượng',
- 'Installed Packages' : 'Các phần mềm đã cài',
- 'App Store' : 'Chợ ứng dụng',
- 'Regenerate metadata' : 'Làm mới metadata',
- 'Install from zip' : 'Cài từ file zip',
- 'Install selected' : 'Cài mục đã chọn',
- 'Enable TouchMenu' : 'Bật Menu cảm ứng',
- 'Invert Text Color' : 'Đảo màu chữ',
- 'Search Options' : 'Cài đặt tìm kiếm',
- 'Enable Application Search' : 'Cho phép tìm kiếm phần mềm',
- 'Enable File Search' : 'Cho phép tìm kiếm tập tin',
- 'Search path \'{0}\' is already handled by another entry': 'Đường dẫn tìm kiếm \'{0}\' đã bị xử lý bởi mục khác'
- }
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings._ = _;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.GUI, OSjs.Dialogs, OSjs.Utils, OSjs.API, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- var DEFAULT_GROUP = 'misc';
-
- var _groups = {
- personal: {
- label: 'LBL_PERSONAL'
- },
- system: {
- label: 'LBL_SYSTEM'
- },
- user: {
- label: 'LBL_USER'
- },
- misc: {
- label: 'LBL_OTHER'
- }
- };
-
- var categoryMap = {
- 'theme': 'Theme',
- 'desktop': 'Desktop',
- 'panel': 'Panel',
- 'user': 'User',
- 'fileview': 'VFS',
- 'search': 'Search'
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationSettingsWindow(app, metadata, scheme, initialCategory) {
- Window.apply(this, ['ApplicationSettingsWindow', {
- icon: metadata.icon,
- title: metadata.name,
- width: 500,
- height: 450,
- allow_resize: true
- }, app, scheme]);
-
- this.initialCategory = initialCategory;
- }
-
- ApplicationSettingsWindow.prototype = Object.create(Window.prototype);
- ApplicationSettingsWindow.constructor = Window.prototype;
-
- ApplicationSettingsWindow.prototype.init = function(wmRef, app, scheme) {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
- var wm = OSjs.Core.getWindowManager();
- var _ = OSjs.Applications.ApplicationSettings._;
-
- // Load and render `scheme.html` file
- scheme.render(this, 'SettingsWindow', root, null, null, {_: _});
-
- this._find('ButtonOK').son('click', this, this.onButtonOK);
- this._find('ButtonCancel').son('click', this, this.onButtonCancel);
-
- // Adds all groups and their respective entries
- var container = document.createElement('div');
- container.className = 'ListView gui-generic-zebra-container';
-
- var containers = {};
- var tmpcontent = document.createDocumentFragment();
-
- Object.keys(_groups).forEach(function(k) {
- var c = document.createElement('ul');
- var h = document.createElement('span');
- var d = document.createElement('div');
-
- d.className = 'gui-generic-double-padded';
- h.appendChild(document.createTextNode(_(_groups[k].label)));
-
- containers[k] = c;
-
- d.appendChild(h);
- d.appendChild(c);
- container.appendChild(d);
- });
-
- app.modules.forEach(function(m) {
- if ( containers[m.group] ) {
- var i = document.createElement('img');
- i.setAttribute('src', API.getIcon(m.icon, '32x32'));
- i.setAttribute('title', m.name);
-
- var s = document.createElement('span');
- s.appendChild(document.createTextNode(_(m.label || m.name)));
-
- var c = document.createElement('li');
- c.className = 'gui-generic-hoverable';
- c.setAttribute('data-module', String(m.name));
- c.appendChild(i);
- c.appendChild(s);
-
- containers[m.group].appendChild(c);
-
- root.querySelector('[data-module="' + m.name + '"]').className = 'gui-generic-padded';
-
- var settings = Utils.cloneObject(wm.getSettings());
- m.render(self, scheme, tmpcontent, settings, wm);
- m.update(self, scheme, settings, wm);
- m._inited = true;
- }
- });
-
- Object.keys(containers).forEach(function(k) {
- if ( !containers[k].children.length ) {
- containers[k].parentNode.style.display = 'none';
- }
- });
-
- Utils.$bind(container, 'click', function(ev) {
- var t = ev.isTrusted ? ev.target : (ev.relatedTarget || ev.target);
- if ( t && t.tagName === 'LI' && t.hasAttribute('data-module') ) {
- ev.preventDefault();
- var m = t.getAttribute('data-module');
- self.onModuleSelect(m);
- }
- }, true);
-
- root.querySelector('[data-id="ContainerSelection"]').appendChild(container);
-
- containers = {};
- tmpcontent = null;
-
- if ( this.initialCategory ) {
- this.onExternalAttention(this.initialCategory);
- }
-
- return root;
- };
-
- ApplicationSettingsWindow.prototype.destroy = function() {
- // This is where you remove objects, dom elements etc attached to your
- // instance. You can remove this if not used.
- if ( Window.prototype.destroy.apply(this, arguments) ) {
- this.currentModule = null;
-
- return true;
- }
- return false;
- };
-
- ApplicationSettingsWindow.prototype.onModuleSelect = function(name) {
- var _ = OSjs.Applications.ApplicationSettings._;
- var wm = OSjs.Core.getWindowManager();
- var root = this._$element;
- var self = this;
-
- function _d(d) {
- root.querySelector('[data-id="ContainerSelection"]').style.display = d ? 'block' : 'none';
- root.querySelector('[data-id="ContainerContent"]').style.display = d ? 'none' : 'block';
- root.querySelector('[data-id="ContainerButtons"]').style.display = d ? 'none' : 'block';
- }
-
- root.querySelectorAll('div[data-module]').forEach(function(mod) {
- mod.style.display = 'none';
- });
-
- _d(true);
-
- this._setTitle(null);
-
- var found;
- if ( name ) {
- this._app.modules.forEach(function(m) {
- if ( !found && m.name === name ) {
- found = m;
- }
- });
- }
-
- if ( found ) {
- var mod = root.querySelector('div[data-module="' + found.name + '"]');
- if ( mod ) {
- mod.style.display = 'block';
- var settings = Utils.cloneObject(wm.getSettings());
- found.update(this, this._scheme, settings, wm, true);
-
- _d(false);
- this._setTitle(_(found.name), true);
-
- if ( found.button === false ) {
- this._find('ButtonOK').hide();
- } else {
- this._find('ButtonOK').show();
- }
- }
- } else {
- if ( !name ) { // Resets values to original (or current)
- var settings = Utils.cloneObject(wm.getSettings());
- this._app.modules.forEach(function(m) {
- if ( m._inited ) {
- m.update(self, self._scheme, settings, wm);
- }
- });
- }
- }
-
- this._app.setModule(found);
- };
-
- ApplicationSettingsWindow.prototype.onButtonOK = function() {
- var self = this;
- var settings = {};
- var wm = OSjs.Core.getWindowManager();
- var saves = [];
-
- this._app.modules.forEach(function(m) {
- if ( m._inited ) {
- var res = m.save(self, self._scheme, settings, wm);
- if ( typeof res === 'function' ) {
- saves.push(res);
- }
- }
- });
-
- this._toggleLoading(true);
- this._app.saveSettings(settings, saves, function() {
- self._toggleLoading(false);
- });
- };
-
- ApplicationSettingsWindow.prototype.onButtonCancel = function() {
- this.onModuleSelect(null);
- };
-
- ApplicationSettingsWindow.prototype.onExternalAttention = function(cat) {
- this.onModuleSelect(categoryMap[cat] || cat);
- this._focus();
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationSettings(args, metadata) {
- Application.apply(this, ['ApplicationSettings', args, metadata]);
-
- var self = this;
- var registered = OSjs.Applications.ApplicationSettings.Modules;
-
- this.watches = {};
- this.currentModule = null;
-
- this.modules = Object.keys(registered).map(function(name) {
- var opts = Utils.argumentDefaults(registered[name], {
- _inited: false,
- name: name,
- group: DEFAULT_GROUP,
- icon: 'status/error.png',
- init: function() {},
- update: function() {},
- render: function() {},
- save: function() {}
- });
-
- if ( Object.keys(_groups).indexOf(opts.group) === -1 ) {
- opts.group = DEFAULT_GROUP;
- }
-
- Object.keys(opts).forEach(function(k) {
- if ( typeof opts[k] === 'function' ) {
- opts[k] = opts[k].bind(opts);
- }
- });
-
- return opts;
- });
-
- this.modules.forEach(function(m) {
- m.init(self);
-
- if ( m.watch && m.watch instanceof Array ) {
- m.watch.forEach(function(w) {
- self.watches[m.name] = OSjs.Core.getSettingsManager().watch(w, function() {
- var win = self._getMainWindow();
- if ( m && win ) {
- if ( self.currentModule && self.currentModule.name === m.name ) {
- win.onModuleSelect(m.name);
- }
- }
- });
- });
- }
- });
- }
-
- ApplicationSettings.prototype = Object.create(Application.prototype);
- ApplicationSettings.constructor = Application;
-
- ApplicationSettings.prototype.destroy = function() {
- // This is where you remove objects, dom elements etc attached to your
- // instance. You can remove this if not used.
- if ( Application.prototype.destroy.apply(this, arguments) ) {
-
- var self = this;
- Object.keys(this.watches).forEach(function(k) {
- OSjs.Core.getSettingsManager().unwatch(self.watches[k]);
- });
- this.watches = {};
-
- return true;
- }
- return false;
- };
-
- ApplicationSettings.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.apply(this, arguments);
-
- var category = this._getArgument('category') || settings.category;
- var win = this._addWindow(new ApplicationSettingsWindow(this, metadata, scheme, category));
-
- this._on('attention', function(args) {
- if ( win && args.category ) {
- win.onExternalAttention(args.category);
- }
- });
- };
-
- ApplicationSettings.prototype.saveSettings = function(settings, saves, cb) {
- var wm = OSjs.Core.getWindowManager();
- wm.applySettings(settings, false, function() {
- Utils.asyncs(saves, function(iter, idx, next) {
- iter(next);
- }, cb);
- }, false);
- };
-
- ApplicationSettings.prototype.setModule = function(m) {
- this.currentModule = m;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Class = Object.seal(ApplicationSettings);
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'personal',
- name: 'Theme',
- label: 'LBL_THEME',
- icon: 'apps/background.png',
- watch: ['CoreWM'],
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- win._find('BackgroundImage').set('value', settings.wallpaper);
- win._find('BackgroundColor').set('value', settings.backgroundColor);
- win._find('FontName').set('value', settings.fontFamily);
-
- win._find('StyleThemeName').set('value', settings.styleTheme);
- win._find('IconThemeName').set('value', settings.iconTheme);
-
- win._find('EnableTouchMenu').set('value', settings.useTouchMenu);
-
- win._find('BackgroundStyle').set('value', settings.background);
- win._find('BackgroundImage').set('value', settings.wallpaper);
- win._find('BackgroundColor').set('value', settings.backgroundColor);
- },
-
- render: function(win, scheme, root, settings, wm) {
- var _ = OSjs.Applications.ApplicationSettings._;
-
- function _createDialog(n, a, done) {
- win._toggleDisabled(true);
- API.createDialog(n, a, function(ev, button, result) {
- win._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- done(result);
- }
- }, win);
- }
-
- win._find('StyleThemeName').add(wm.getStyleThemes().map(function(t) {
- return {label: t.title, value: t.name};
- }));
-
- win._find('IconThemeName').add((function(tmp) {
- return Object.keys(tmp).map(function(t) {
- return {label: tmp[t], value: t};
- });
- })(wm.getIconThemes()));
-
- win._find('BackgroundImage').on('open', function(ev) {
- _createDialog('File', {
- mime: ['^image'],
- file: new VFS.File(ev.detail)
- }, function(result) {
- win._find('BackgroundImage').set('value', result.path);
- });
- });
-
- win._find('BackgroundColor').on('open', function(ev) {
- _createDialog('Color', {
- color: ev.detail
- }, function(result) {
- win._find('BackgroundColor').set('value', result.hex);
- }, win);
- });
-
- win._find('FontName').on('click', function() {
- _createDialog('Font', {
- fontName: settings.fontFamily,
- fontSize: -1
- }, function(result) {
- win._find('FontName').set('value', result.fontName);
- }, win);
- });
-
- win._find('BackgroundStyle').add([
- {value: 'image', label: API._('LBL_IMAGE')},
- {value: 'image-repeat', label: _('Image (Repeat)')},
- {value: 'image-center', label: _('Image (Centered)')},
- {value: 'image-fill', label: _('Image (Fill)')},
- {value: 'image-strech', label: _('Image (Streched)')},
- {value: 'color', label: API._('LBL_COLOR')}
- ]);
- },
-
- save: function(win, scheme, settings, wm) {
- settings.styleTheme = win._find('StyleThemeName').get('value');
- settings.iconTheme = win._find('IconThemeName').get('value');
- settings.useTouchMenu = win._find('EnableTouchMenu').get('value');
- settings.wallpaper = win._find('BackgroundImage').get('value');
- settings.backgroundColor = win._find('BackgroundColor').get('value');
- settings.background = win._find('BackgroundStyle').get('value');
- settings.fontFamily = win._find('FontName').get('value');
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Theme = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- function updateLabel(win, lbl, value) {
- var _ = OSjs.Applications.ApplicationSettings._;
-
- var map = {
- DesktopMargin: 'Desktop Margin ({0}px)',
- CornerSnapping: 'Desktop Corner Snapping ({0}px)',
- WindowSnapping: 'Window Snapping ({0}px)'
- };
-
- var label = Utils.format(_(map[lbl]), value);
- win._find(lbl + 'Label').set('value', label);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'personal',
- name: 'Desktop',
- label: 'LBL_DESKTOP',
- icon: 'devices/display.png',
- watch: ['CoreWM'],
-
- init: function(app) {
- },
-
- update: function(win, scheme, settings, wm) {
- win._find('EnableAnimations').set('value', settings.animations);
- win._find('EnableTouchMenu').set('value', settings.useTouchMenu);
-
- win._find('EnableWindowSwitcher').set('value', settings.enableSwitcher);
-
- win._find('DesktopMargin').set('value', settings.desktopMargin);
- win._find('CornerSnapping').set('value', settings.windowCornerSnap);
- win._find('WindowSnapping').set('value', settings.windowSnap);
-
- updateLabel(win, 'DesktopMargin', settings.desktopMargin);
- updateLabel(win, 'CornerSnapping', settings.windowCornerSnap);
- updateLabel(win, 'WindowSnapping', settings.windowSnap);
- },
-
- render: function(win, scheme, root, settings, wm) {
- win._find('DesktopMargin').on('change', function(ev) {
- updateLabel(win, 'DesktopMargin', ev.detail);
- });
- win._find('CornerSnapping').on('change', function(ev) {
- updateLabel(win, 'CornerSnapping', ev.detail);
- });
- win._find('WindowSnapping').on('change', function(ev) {
- updateLabel(win, 'WindowSnapping', ev.detail);
- });
-
- win._find('EnableIconView').set('value', settings.enableIconView);
- win._find('EnableIconViewInvert').set('value', settings.invertIconViewColor);
- },
-
- save: function(win, scheme, settings, wm) {
- settings.animations = win._find('EnableAnimations').get('value');
- settings.useTouchMenu = win._find('EnableTouchMenu').get('value');
- settings.enableSwitcher = win._find('EnableWindowSwitcher').get('value');
- settings.desktopMargin = win._find('DesktopMargin').get('value');
- settings.windowCornerSnap = win._find('CornerSnapping').get('value');
- settings.windowSnap = win._find('WindowSnapping').get('value');
- settings.enableIconView = win._find('EnableIconView').get('value');
- settings.invertIconViewColor = win._find('EnableIconViewInvert').get('value');
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Desktop = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Search Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'system',
- name: 'Search',
- label: 'LBL_SEARCH',
- icon: 'actions/search.png',
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
-
- var sm = OSjs.Core.getSettingsManager();
- var searchOptions = Utils.cloneObject(sm.get('SearchEngine') || {});
-
- win._find('SearchEnableApplications').set('value', searchOptions.applications === true);
- win._find('SearchEnableFiles').set('value', searchOptions.files === true);
-
- var view = win._find('SearchPaths').clear();
- view.set('columns', [
- {label: 'Path'}
- ]);
-
- var list = (searchOptions.paths || []).map(function(l) {
- return {
- value: l,
- id: l,
- columns: [
- {label: l}
- ]
- };
- });
-
- view.add(list);
- },
-
- render: function(win, scheme, root, settings, wm) {
- function openAddDialog() {
- win._toggleDisabled(true);
-
- API.createDialog('File', {
- select: 'dir',
- mfilter: [
- function(m) {
- return m.module.searchable === true;
- }
- ]
- }, function(ev, button, result) {
- win._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- win._find('SearchPaths').add([{
- value: result.path,
- id: result.path,
- columns: [
- {label: result.path}
- ]
- }]);
- }
- }, win);
- }
-
- function removeSelected() {
- var view = win._find('SearchPaths');
- var current = view.get('value') || [];
- current.forEach(function(c) {
- view.remove(c.index);
- });
- }
-
- win._find('SearchAdd').on('click', openAddDialog);
- win._find('SearchRemove').on('click', removeSelected);
- },
-
- save: function(win, scheme, settings, wm) {
- var _ = OSjs.Applications.ApplicationSettings._;
- var tmpPaths = win._find('SearchPaths').get('entry', null, null, true).sort();
- var paths = [];
-
- function isChildOf(tp) {
- var result = false;
- paths.forEach(function(p) {
- if ( !result ) {
- result = tp.substr(0, p.length) === p;
- }
- });
- return result;
- }
-
- tmpPaths.forEach(function(tp) {
- var c = isChildOf(tp);
- if ( c ) {
- wm.notification({
- title: API._('LBL_SEARCH'),
- message: _('Search path \'{0}\' is already handled by another entry', tp)
- });
- }
-
- if ( !paths.length || !c ) {
- paths.push(tp);
- }
-
- });
-
- var searchSettings = {
- applications: win._find('SearchEnableApplications').get('value'),
- files: win._find('SearchEnableFiles').get('value'),
- paths: paths
- };
-
- return function(cb) {
- var sm = OSjs.Core.getSettingsManager();
- sm.instance('SearchEngine').set(null, searchSettings, cb, false);
- };
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Search = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Sound Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- var sounds = {};
-
- function renderList(win, scheme) {
- win._find('SoundsList').clear().add(Object.keys(sounds).map(function(name) {
- return {
- value: {
- name: name,
- value: sounds[name]
- },
- columns: [
- {label: name},
- {label: sounds[name]}
- ]
- };
- }));
- }
-
- function editList(win, scheme, key) {
- var _ = OSjs.Applications.ApplicationSettings._;
- win._toggleDisabled(true);
- API.createDialog('Input', {
- message: _('Enter filename for:') + ' ' + key.name,
- value: key.value
- }, function(ev, button, value) {
- win._toggleDisabled(false);
- value = value || '';
- if ( value.length ) {
- sounds[key.name] = value;
- }
-
- renderList(win, scheme);
- })
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'personal',
- name: 'Sounds',
- label: 'LBL_SOUNDS',
- icon: 'status/stock_volume-max.png',
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- win._find('SoundThemeName').set('value', settings.soundTheme);
- win._find('EnableSounds').set('value', settings.enableSounds);
-
- sounds = Utils.cloneObject(settings.sounds);
-
- renderList(win, scheme);
- },
-
- render: function(win, scheme, root, settings, wm) {
- var soundThemes = (function(tmp) {
- return Object.keys(tmp).map(function(t) {
- return {label: tmp[t], value: t};
- });
- })(wm.getSoundThemes());
-
- win._find('SoundThemeName').add(soundThemes);
-
- win._find('SoundsEdit').on('click', function() {
- var selected = win._find('SoundsList').get('selected');
- if ( selected && selected[0] ) {
- editList(win, scheme, selected[0].data);
- }
- });
- },
-
- save: function(win, scheme, settings, wm) {
- settings.soundTheme = win._find('SoundThemeName').get('value');
- settings.enableSounds = win._find('EnableSounds').get('value');
-
- if ( sounds && Object.keys(sounds).length ) {
- settings.sounds = sounds;
- }
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Sounds = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Locale Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'user',
- name: 'Locale',
- label: 'LBL_LOCALE',
- icon: 'apps/locale.png',
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- var config = OSjs.Core.getConfig();
- var locales = config.Languages;
-
- win._find('UserLocale').clear().add(Object.keys(locales).filter(function(l) {
- return !!OSjs.Locales[l];
- }).map(function(l) {
- return {label: locales[l], value: l};
- })).set('value', API.getLocale());
- },
-
- render: function(win, scheme, root, settings, wm) {
- },
-
- save: function(win, scheme, settings, wm) {
- settings.language = win._find('UserLocale').get('value');
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Locale = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- var hotkeys = {};
-
- function renderList(win, scheme) {
- win._find('HotkeysList').clear().add(Object.keys(hotkeys).map(function(name) {
- return {
- value: {
- name: name,
- value: hotkeys[name]
- },
- columns: [
- {label: name},
- {label: hotkeys[name]}
- ]
- };
- }));
- }
-
- function editList(win, scheme, key) {
- var _ = OSjs.Applications.ApplicationSettings._;
-
- win._toggleDisabled(true);
- API.createDialog('Input', {
- message: _('Enter shortcut for:') + ' ' + key.name,
- value: key.value
- }, function(ev, button, value) {
- win._toggleDisabled(false);
- value = value || '';
- if ( value.indexOf('+') !== -1 ) {
- hotkeys[key.name] = value;
- }
-
- renderList(win, scheme);
- })
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'personal',
- name: 'Input',
- label: 'LBL_INPUT',
- icon: 'apps/key_bindings.png',
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- win._find('EnableHotkeys').set('value', settings.enableHotkeys);
-
- hotkeys = Utils.cloneObject(settings.hotkeys);
-
- renderList(win, scheme);
- },
-
- render: function(win, scheme, root, settings, wm) {
- win._find('HotkeysEdit').on('click', function() {
- var selected = win._find('HotkeysList').get('selected');
- if ( selected && selected[0] ) {
- editList(win, scheme, selected[0].data);
- }
- });
- },
-
- save: function(win, scheme, settings, wm) {
- settings.enableHotkeys = win._find('EnableHotkeys').get('value');
- if ( hotkeys && Object.keys(hotkeys).length ) {
- settings.hotkeys = hotkeys;
- }
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Input = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web VFS Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- function createMountWindow(win, scheme, selected, ondone) {
-
- var nwin = new Window('SettingsMountWindow', {
- icon: win._app.__metadata.icon,
- title: win._app.__metadata.name,
- width: 400,
- height: 440
- }, win._app, scheme);
-
- nwin._on('destroy', function(root) {
- win._toggleDisabled(false);
- });
-
- nwin._on('inited', function(root) {
- win._toggleDisabled(true);
- });
-
- nwin._on('init', function(root) {
- var self = this;
-
- function add(conn) {
- try {
- OSjs.Core.getMountManager().add(conn);
- } catch ( e ) {
- API.error(self._title, 'An error occured while trying to mount', e);
- console.warn(e.stack, e);
- return false;
- }
- return true;
- }
-
- function done() {
- var conn = {
- transport: scheme.find(self, 'MountType').get('value'),
- name: scheme.find(self, 'MountName').get('value'),
- description: scheme.find(self, 'MountDescription').get('value'),
- options: {
- host: scheme.find(self, 'MountHost').get('value'),
- ns: scheme.find(self, 'MountNamespace').get('value'),
- username: scheme.find(self, 'MountUsername').get('value'),
- password: scheme.find(self, 'MountPassword').get('value'),
- cors: scheme.find(self, 'MountCORS').get('value')
- }
- };
-
- if ( selected ) {
- try {
- OSjs.Core.getMountManager().remove(selected.name, function() {
- if ( add(conn) ) {
- ondone(conn, selected);
- }
- self._close();
- });
- return;
- } catch ( e ) {
- console.warn('Settings Mount modification failure', e, e.stack);
- }
- } else {
- if ( !add(conn) ) {
- conn = null;
- }
- }
-
- self._close();
- ondone();
- }
-
- scheme.render(this, this._name, root)
-
- if ( selected ) {
- scheme.find(self, 'MountType').set('value', selected.transport);
- scheme.find(self, 'MountName').set('value', selected.name);
- scheme.find(self, 'MountDescription').set('value', selected.description);
- if ( selected.options ) {
- scheme.find(self, 'MountHost').set('value', selected.options.host);
- scheme.find(self, 'MountNamespace').set('value', selected.options.ns);
- scheme.find(self, 'MountUsername').set('value', selected.options.username);
- scheme.find(self, 'MountPassword').set('value', selected.options.password);
- scheme.find(self, 'MountCORS').set('value', selected.options.cors);
- }
- }
-
- scheme.find(this, 'ButtonClose').on('click', function() {
- self._close();
- });
-
- scheme.find(this, 'ButtonOK').on('click', function() {
- done();
- });
- });
-
- return win._addChild(nwin, true, true);
- }
-
- function renderMounts(win, scheme) {
- var sm = OSjs.Core.getSettingsManager();
- var sf = sm.instance('VFS');
- var entries = sf.get('mounts', []).map(function(i, idx) {
- return {
- value: idx,
- columns: [
- {label: i.name},
- {label: i.description}
- ]
- };
- });
-
- win._find('MountList').clear().add(entries);
- }
-
- function _save(sf, win, scheme, mounts) {
- win._toggleLoading(true);
- sf.set(null, {mounts: mounts}, function() {
- renderMounts(win, scheme);
- win._toggleLoading(false);
- }, false);
- }
-
- function removeMount(win, scheme, index) {
- var sm = OSjs.Core.getSettingsManager();
- var sf = sm.instance('VFS');
- var mounts = sf.get('mounts', []);
-
- if ( typeof mounts[index] !== 'undefined' ) {
- mounts.splice(index, 1);
- _save(sf, win, scheme, mounts);
- }
- }
-
- function addMount(conn, replace, win, scheme) {
- if ( !conn ) {
- return;
- }
-
- var sm = OSjs.Core.getSettingsManager();
- var sf = sm.instance('VFS');
- var mounts = sf.get('mounts', []).filter(function(iter) {
- if ( replace && replace.name === iter.name ) {
- return false;
- }
- return true;
- });
- mounts.push(conn);
-
- _save(sf, win, scheme, mounts);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'system',
- name: 'VFS',
- label: 'VFS',
- icon: 'devices/harddrive.png',
- watch: ['VFS'],
-
- init: function(app) {
- },
-
- update: function(win, scheme, settings, wm) {
- var vfsOptions = Utils.cloneObject(OSjs.Core.getSettingsManager().get('VFS') || {});
- var scandirOptions = vfsOptions.scandir || {};
-
- win._find('ShowFileExtensions').set('value', scandirOptions.showFileExtensions === true);
- win._find('ShowHiddenFiles').set('value', scandirOptions.showHiddenFiles === true);
-
- renderMounts(win, scheme);
- },
-
- render: function(win, scheme, root, settings, wm) {
- function ondone(connection, replace) {
- addMount(connection, replace, win, scheme);
- }
-
- win._find('MountList').set('columns', [
- {label: 'Name'},
- {label: 'Description'}
- ]);
-
- win._find('MountRemove').on('click', function() {
- var sel = win._find('MountList').get('selected');
- if ( sel && sel.length ) {
- removeMount(win, scheme, sel[0].data);
- }
- });
-
- win._find('MountAdd').on('click', function() {
- createMountWindow(win, scheme, null, ondone);
- });
-
- win._find('MountEdit').on('click', function() {
- var sel = win._find('MountList').get('selected');
- var sm = OSjs.Core.getSettingsManager();
- var mounts = sm.instance('VFS').get('mounts', []);
- if ( sel && sel.length ) {
- var mount = mounts[sel[0].data];
- if ( mount ) {
- createMountWindow(win, scheme, mount, ondone);
- }
- }
- });
- },
-
- save: function(win, scheme, settings, wm) {
- var vfsSettings = {
- scandir: {
- showHiddenFiles: win._find('ShowHiddenFiles').get('value'),
- showFileExtensions: win._find('ShowFileExtensions').get('value')
- }
- };
-
- return function(cb) {
- var sm = OSjs.Core.getSettingsManager();
- sm.instance('VFS').set(null, vfsSettings, cb, false);
- };
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.VFS = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web PM Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, PM, GUI, VFS) {
- 'use strict';
-
- var list, hidden;
-
- function updateEnabledStates() {
- var pacman = OSjs.Core.getPackageManager();
- var sm = OSjs.Core.getSettingsManager();
- var pool = sm.instance('PackageManager', {Hidden: []});
-
- list = pacman.getPackages(false);
- hidden = pool.get('Hidden');
- }
-
- function renderInstalled(win, scheme) {
- win._find('ButtonUninstall').set('disabled', true);
-
- updateEnabledStates();
-
- var view = win._find('InstalledPackages');
- var rows = [];
-
- Object.keys(list).forEach(function(k, idx) {
- rows.push({
- index: idx,
- value: k,
- columns: [
- {label: ''},
- {label: k},
- {label: list[k].scope},
- {label: list[k].name}
- ]
- });
- });
-
- view.clear();
- view.add(rows);
-
- view.$element.querySelectorAll('gui-list-view-body > gui-list-view-row').forEach(function(row) {
- var col = row.children[0];
- var name = row.getAttribute('data-value');
- var enabled = hidden.indexOf(name) >= 0;
-
- scheme.create(win, 'gui-checkbox', {value: enabled}, col).on('change', function(ev) {
- var idx = hidden.indexOf(name);
-
- if ( ev.detail ) {
- if ( idx < 0 ) {
- hidden.push(name);
- }
- } else {
- if ( idx >= 0 ) {
- hidden.splice(idx, 1);
- }
- }
- });
- });
- }
-
- function renderPaths(win, scheme) {
- var sm = OSjs.Core.getSettingsManager();
- var paths = sm.instance('PackageManager').get('PackagePaths', []);
- win._find('PackagePaths').clear().add(paths.map(function(iter, idx) {
- return {
- value: idx,
- columns: [
- {label: iter}
- ]
- };
- }));
- }
-
- function _save(sf, win, scheme, paths) {
- win._toggleLoading(true);
- sf.set(null, {PackagePaths: paths}, function() {
- renderPaths(win, scheme);
- win._toggleLoading(false);
- }, false);
- }
-
- function addPath(win, scheme) {
- var sm = OSjs.Core.getSettingsManager();
- var sf = sm.instance('PackageManager');
- var paths = sf.get('PackagePaths', []);
-
- win._toggleDisabled(true);
- API.createDialog('Input', {
- message: 'Enter path',
- placeholder: 'mount:///path'
- }, function(ev, btn, value) {
- win._toggleDisabled(false);
-
- if ( value ) {
- if ( paths.indexOf(value) === -1 ) {
- paths.push(value);
- _save(sf, win, scheme, paths);
- }
- }
- });
- }
-
- function removePath(win, scheme, index) {
- var sm = OSjs.Core.getSettingsManager();
- var sf = sm.instance('PackageManager');
- var paths = sf.get('PackagePaths', []);
- if ( typeof paths[index] !== 'undefined' ) {
- paths.splice(index, 1);
- _save(sf, win, scheme, paths);
- }
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'misc',
- name: 'Packages',
- label: 'LBL_PACKAGES',
- icon: 'apps/system-software-install.png',
- button: false,
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- renderInstalled(win, scheme);
- renderPaths(win, scheme);
- },
-
- render: function(win, scheme, root, settings, wm) {
- var pacman = OSjs.Core.getPackageManager();
- var sm = OSjs.Core.getSettingsManager();
- var pool = sm.instance('PackageManager', {Hidden: []});
-
- win._find('ButtonUninstall').on('click', function() {
- var selected = win._find('InstalledPackages').get('selected');
- if ( selected && selected[0] ) {
- var pkg = pacman.getPackage(selected[0].data);
- if ( pkg && pkg.scope === 'user' ) {
- win._toggleLoading(true);
-
- var file = new VFS.File(pkg.path);
- pacman.uninstall(file, function(e) {
- win._toggleLoading(false);
- renderInstalled(win, scheme);
-
- if ( e ) {
- alert(e);
- }
- });
- }
- }
- });
-
- win._find('InstalledPackages').on('select', function(ev) {
- var d = true;
- var e = ev.detail.entries || [];
- if ( e.length ) {
- var pkg = pacman.getPackage(e[0].data);
- if ( pkg && pkg.scope === 'user' ) {
- d = false;
- }
- }
-
- win._find('ButtonUninstall').set('disabled', d);
- });
-
- win._find('ButtonSaveHidden').on('click', function() {
- win._toggleLoading(true);
- pool.set('Hidden', hidden, function() {
- win._toggleLoading(false);
- });
- });
-
- win._find('ButtonRegen').on('click', function() {
- win._toggleLoading(true);
- pacman.generateUserMetadata(function() {
- win._toggleLoading(false);
-
- renderInstalled(win, scheme);
- });
- });
-
- win._find('ButtonZipInstall').on('click', function() {
- win._toggleDisabled(true);
-
- API.createDialog('File', {
- filter: ['application/zip']
- }, function(ev, button, result) {
- if ( button !== 'ok' || !result ) {
- win._toggleDisabled(false);
- } else {
- OSjs.Core.getPackageManager().install(result, true, function(e) {
- win._toggleDisabled(false);
- renderInstalled(win, scheme);
-
- if ( e ) {
- alert(e);
- }
- });
- }
- }, win);
- });
-
- win._find('PackagePathsRemove').on('click', function() {
- var sel = win._find('PackagePaths').get('selected');
- if ( sel && sel.length ) {
- removePath(win, scheme, sel[0].data);
- }
- });
-
- win._find('PackagePathsAdd').on('click', function() {
- addPath(win, scheme);
- });
- },
-
- save: function(win, scheme, settings, wm) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.PM = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.PM, OSjs.GUI, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web PM Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, PM, GUI, VFS) {
- 'use strict';
-
- function installSelected(download, cb) {
- var pacman = OSjs.Core.getPackageManager();
-
- var file = new VFS.File(download, 'application/zip');
- VFS.read(file, function(error, ab) {
- if ( error ) {
- cb(error);
- return;
- }
-
- var dest = new VFS.File({
- filename: Utils.filename(download),
- type: 'file',
- path: 'home:///' + Utils.filename(download),
- mime: 'application/zip'
- });
-
- VFS.write(dest, ab, function(error, success) {
- if ( error ) {
- cb('Failed to write package: ' + error); // FIXME
- return;
- }
-
- OSjs.Core.getPackageManager().install(dest, true, function(error) {
- if ( error ) {
- cb('Failed to install package: ' + error); // FIXME
- return;
- }
- pacman.generateUserMetadata(function() {
- cb(false, true);
- });
- });
- });
- });
- }
-
- function renderStore(win) {
- win._toggleLoading(true);
-
- var pacman = OSjs.Core.getPackageManager();
- pacman.getStorePackages({}, function(error, result) {
- var rows = result.map(function(i, idx) {
- var a = document.createElement('a');
- a.href = i._repository;
-
- return {
- index: idx,
- value: i.download,
- columns: [
- {label: i.name},
- {label: a.hostname},
- {label: i.version},
- {label: i.author}
- ]
- };
- });
-
- win._toggleLoading(false);
-
- win._find('AppStorePackages').clear().add(rows);
- });
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'user',
- name: 'Store',
- label: 'LBL_STORE',
- icon: 'apps/system-software-update.png',
- button: false,
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm, clicked) {
- if ( clicked ) {
- renderStore(win);
- }
- },
-
- render: function(win, scheme, root, settings, wm) {
- win._find('ButtonStoreRefresh').on('click', function() {
- renderStore(win);
- });
-
- win._find('ButtonStoreInstall').on('click', function() {
- var selected = win._find('AppStorePackages').get('selected');
- if ( selected.length && selected[0].data ) {
- win._toggleLoading(true);
- installSelected(selected[0].data, function(error, result) {
- win._toggleLoading(false);
- if ( error ) {
- alert(error); // FIXME
- return;
- }
- });
- }
- });
- },
-
- save: function(win, scheme, settings, wm) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Store = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.PM, OSjs.GUI, OSjs.VFS);
-
-/*!
- * OS.js - JavaScript Cloud/Web Panel Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, Panel, GUI) {
- 'use strict';
-
- var panelItems = [];
- var items = [];
- var max = 0;
- var panel;
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function PanelItemDialog(app, metadata, scheme, callback) {
- Window.apply(this, ['ApplicationSettingsPanelItemsWindow', {
- icon: metadata.icon,
- title: metadata.name + ' - Panel Items',
- width: 400,
- height: 300
- }, app, scheme]);
-
- this.callback = callback;
- this.closed = false;
- }
-
- PanelItemDialog.prototype = Object.create(Window.prototype);
- PanelItemDialog.constructor = Window;
-
- PanelItemDialog.prototype.init = function(wm, app, scheme) {
- var self = this;
- var root = Window.prototype.init.apply(this, arguments);
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'PanelSettingWindow', root, null, null, {
- _: OSjs.Applications.ApplicationSettings._
- });
-
- var pacman = OSjs.Core.getPackageManager();
- var avail = pacman.getPackage('CoreWM').panelItems;
- scheme.find(this, 'List').clear().add(Object.keys(avail).map(function(i, idx) {
- return {
- value: i,
- columns: [{
- icon: API.getIcon(avail[i].Icon),
- label: Utils.format('{0} ({1})', avail[i].Name, avail[i].Description)
- }]
- };
- }));
-
- scheme.find(this, 'ButtonPanelOK').on('click', function() {
- self.closed = true;
- var selected = scheme.find(self, 'List').get('selected');
- self.callback('ok', selected.length ? selected[0] : null);
- self._close();
- });
-
- scheme.find(this, 'ButtonPanelCancel').on('click', function() {
- self._close();
- });
-
- return root;
- };
-
- PanelItemDialog.prototype._close = function() {
- if ( !this.closed ) {
- this.callback('cancel');
- }
- return Window.prototype._close.apply(this, arguments);
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // HELPERS
- /////////////////////////////////////////////////////////////////////////////
-
- function openOptions(wm, idx) {
- // FIXME
- try {
- wm.panels[0]._items[idx].openSettings();
- } catch ( e ) {}
- }
-
- function checkSelection(win, idx) {
- var hasOptions = true;
-
- try {
- var it = items[panel.items[idx].name];
- hasOptions = it.HasOptions === true;
- } catch ( e ) {}
-
- win._find('PanelButtonOptions').set('disabled', idx < 0 || !hasOptions);
- win._find('PanelButtonRemove').set('disabled', idx < 0);
- win._find('PanelButtonUp').set('disabled', idx <= 0);
- win._find('PanelButtonDown').set('disabled', idx < 0 || idx >= max);
- }
-
- function renderItems(win, setSelected) {
- var list = [];
-
- panelItems.forEach(function(i, idx) {
- var name = i.name;
-
- if ( items[name] ) {
- list.push({
- value: idx,
- columns: [{
- icon: API.getIcon(items[name].Icon),
- label: Utils.format('{0} ({1})', items[name].Name, items[name].Description)
- }]
- });
- }
- });
- max = panelItems.length - 1;
-
- var view = win._find('PanelItems');
- view.clear();
- view.add(list);
-
- if ( typeof setSelected !== 'undefined' ) {
- view.set('selected', setSelected);
- checkSelection(win, setSelected);
- } else {
- checkSelection(win, -1);
- }
- }
-
- function movePanelItem(win, index, pos) {
- var value = panelItems[index];
- var newIndex = index + pos;
- panelItems.splice(index, 1);
- panelItems.splice(newIndex, 0, value);
- renderItems(win, newIndex);
- }
-
- function createDialog(win, scheme, cb) {
- if ( scheme ) {
- var app = win._app;
- win._addChild(new PanelItemDialog(app, app.__metadata, scheme, cb), true, true);
- }
- }
-
- function createColorDialog(win, color, cb) {
- win._toggleDisabled(true);
-
- API.createDialog('Color', {
- color: color
- }, function(ev, button, result) {
- win._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- cb(result.hex);
- }
- }, win);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'personal',
- name: 'Panel',
- label: 'LBL_PANELS',
- icon: 'apps/gnome-panel.png',
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- panel = settings.panels[0];
-
- var opacity = 85;
- if ( typeof panel.options.opacity === 'number' ) {
- opacity = panel.options.opacity;
- }
-
- win._find('PanelPosition').set('value', panel.options.position);
- win._find('PanelAutoHide').set('value', panel.options.autohide);
- win._find('PanelOntop').set('value', panel.options.ontop);
- win._find('PanelBackgroundColor').set('value', panel.options.background || '#101010');
- win._find('PanelForegroundColor').set('value', panel.options.foreground || '#ffffff');
- win._find('PanelOpacity').set('value', opacity);
-
- items = OSjs.Core.getPackageManager().getPackage('CoreWM').panelItems;
-
- panelItems = panel.items || [];
-
- renderItems(win);
- },
-
- render: function(win, scheme, root, settings, wm) {
- win._find('PanelPosition').add([
- {value: 'top', label: API._('LBL_TOP')},
- {value: 'bottom', label: API._('LBL_BOTTOM')}
- ]);
-
- win._find('PanelBackgroundColor').on('open', function(ev) {
- createColorDialog(win, ev.detail, function(result) {
- win._find('PanelBackgroundColor').set('value', result);
- });
- });
-
- win._find('PanelForegroundColor').on('open', function(ev) {
- createColorDialog(win, ev.detail, function(result) {
- win._find('PanelForegroundColor').set('value', result);
- });
- });
-
- win._find('PanelItems').on('select', function(ev) {
- if ( ev && ev.detail && ev.detail.entries && ev.detail.entries.length ) {
- checkSelection(win, ev.detail.entries[0].index);
- }
- });
-
- win._find('PanelButtonAdd').on('click', function() {
- win._toggleDisabled(true);
- createDialog(win, scheme, function(ev, result) {
- win._toggleDisabled(false);
-
- if ( result ) {
- panelItems.push({name: result.data});
- renderItems(win);
- }
- });
- });
-
- win._find('PanelButtonRemove').on('click', function() {
- var selected = win._find('PanelItems').get('selected');
- if ( selected.length ) {
- panelItems.splice(selected[0].index, 1);
- renderItems(win);
- }
- });
-
- win._find('PanelButtonUp').on('click', function() {
- var selected = win._find('PanelItems').get('selected');
- if ( selected.length ) {
- movePanelItem(win, selected[0].index, -1);
- }
- });
- win._find('PanelButtonDown').on('click', function() {
- var selected = win._find('PanelItems').get('selected');
- if ( selected.length ) {
- movePanelItem(win, selected[0].index, 1);
- }
- });
-
- win._find('PanelButtonReset').on('click', function() {
- var defaults = wm.getDefaultSetting('panels');
- panelItems = defaults[0].items;
- renderItems(win);
- });
-
- win._find('PanelButtonOptions').on('click', function() {
- var selected = win._find('PanelItems').get('selected');
- if ( selected.length ) {
- openOptions(wm, selected[0].index);
- }
- });
- },
-
- save: function(win, scheme, settings, wm) {
- settings.panels = settings.panels || [{}];
- settings.panels[0].options = settings.panels[0].options || {};
-
- settings.panels[0].options.position = win._find('PanelPosition').get('value');
- settings.panels[0].options.autohide = win._find('PanelAutoHide').get('value');
- settings.panels[0].options.ontop = win._find('PanelOntop').get('value');
- settings.panels[0].options.background = win._find('PanelBackgroundColor').get('value') || '#101010';
- settings.panels[0].options.foreground = win._find('PanelForegroundColor').get('value') || '#ffffff';
- settings.panels[0].options.opacity = win._find('PanelOpacity').get('value');
- settings.panels[0].items = panelItems;
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Panel = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.Panel, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web User Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, User, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'user',
- name: 'User',
- label: 'LBL_USER',
- icon: 'apps/user-info.png',
- button: false,
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- var user = OSjs.Core.getHandler().getUserData();
-
- win._find('UserID').set('value', user.id);
- win._find('UserName').set('value', user.name);
- win._find('UserUsername').set('value', user.username);
- win._find('UserGroups').set('value', user.groups);
- },
-
- render: function(win, scheme, root, settings, wm) {
- },
-
- save: function(win, scheme, settings, wm) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.User = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.User, OSjs.GUI);
-
-/*!
- * OS.js - JavaScript Cloud/Web User Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, Utils, API, User, GUI) {
- 'use strict';
-
- function renderUsers(win, scheme) {
- API.call('users', {command: 'list'}, function(err, users) {
- if ( users instanceof Array ) {
- win._find('UsersList').clear().add(users.map(function(iter, idx) {
- return {
- value: iter,
- columns: [
- {label: iter.username},
- {label: iter.name}
- ]
- };
- }));
- }
- });
- }
-
- function showDialog(win, scheme, data, passwd) {
- var _ = OSjs.Applications.ApplicationSettings._;
-
- data = data || {};
- win._toggleDisabled(true);
-
- if ( passwd ) {
- API.createDialog('Input', {
- message: _('Set user password'),
- type: 'password'
- }, function(ev, button, value) {
- if ( !value ) {
- win._toggleDisabled(false);
- return;
- }
-
- API.call('users', {command: 'passwd', user: {password: value}}, function(err, users) {
- win._toggleDisabled(false);
- if ( err ) {
- API.error('Settings', _('Error while managing users'), err);
- }
- renderUsers(win, scheme);
- });
- });
- return;
- }
-
- var nwin = new Window('SettingsUserWindow', {
- icon: win._app.__metadata.icon,
- title: win._app.__metadata.name,
- width: 400,
- height: 250
- }, win._app, scheme);
-
- nwin._on('destroy', function(root) {
- win._toggleDisabled(false);
- });
-
- nwin._on('init', function(root) {
- var self = this;
-
- scheme.render(this, this._name, root)
-
- if ( Object.keys(data).length ) {
- scheme.find(self, 'UserUsername').set('value', data.username);
- scheme.find(self, 'UserName').set('value', data.name);
- scheme.find(self, 'UserGroups').set('value', JSON.stringify(data.groups));
- }
-
- scheme.find(this, 'ButtonClose').on('click', function() {
- self._close();
- });
-
- scheme.find(this, 'ButtonOK').on('click', function() {
- data.username = scheme.find(self, 'UserUsername').get('value');
- data.name = scheme.find(self, 'UserName').get('value') || data.username;
- data.groups = [];
-
- try {
- data.groups = JSON.parse(scheme.find(self, 'UserGroups').get('value'));
- } catch ( e ) {
- }
-
- if ( !data.username || !data.groups ) {
- return self._close();
- }
-
- API.call('users', {command: 'edit', user: data}, function(err, users) {
- if ( err ) {
- API.error('Settings', _('Error while managing users'), err);
- }
- renderUsers(win, scheme);
-
- self._close();
- });
- });
- });
-
- return win._addChild(nwin, true, true);
- }
-
- function removeUser(win, scheme, data) {
- var _ = OSjs.Applications.ApplicationSettings._;
-
- API.call('users', {command: 'remove', user: {id: data.id}}, function(err, users) {
- if ( err ) {
- API.error('Settings', _('Error while managing users'), err);
- }
- renderUsers(win, scheme);
- });
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // MODULE
- /////////////////////////////////////////////////////////////////////////////
-
- var module = {
- group: 'system',
- name: 'Users',
- label: 'LBL_USERS',
- icon: 'apps/system-users.png',
- button: false,
-
- init: function() {
- },
-
- update: function(win, scheme, settings, wm) {
- renderUsers(win, scheme);
- },
-
- render: function(win, scheme, root, settings, wm) {
- function _action(cb, te) {
- var sel = win._find('UsersList').get('selected');
- if ( sel && sel.length ) {
- cb(sel[0].data)
- } else {
- if ( te ) {
- cb(null);
- }
- }
- }
- win._find('UsersAdd').on('click', function() {
- _action(function(data) {
- showDialog(win, scheme, data)
- }, true);
- });
- win._find('UsersRemove').on('click', function() {
- _action(function(data) {
- removeUser(win, scheme, data);
- });
- });
- win._find('UsersEdit').on('click', function() {
- _action(function(data) {
- showDialog(win, scheme, data)
- });
- });
- win._find('UsersPasswd').on('click', function() {
- _action(function(data) {
- showDialog(win, scheme, null, true)
- });
- });
- },
-
- save: function(win, scheme, settings, wm) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationSettings = OSjs.Applications.ApplicationSettings || {};
- OSjs.Applications.ApplicationSettings.Modules = OSjs.Applications.ApplicationSettings.Modules || {};
- OSjs.Applications.ApplicationSettings.Modules.Users = module;
-
-})(OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.User, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Settings/metadata.json b/build/htdocs/dist/packages/default/Settings/metadata.json
deleted file mode 100644
index f34e568..0000000
--- a/build/htdocs/dist/packages/default/Settings/metadata.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "className": "ApplicationSettings",
- "preloadParallel": true,
- "name": "Settings",
- "mime": null,
- "icon": "categories/applications-system.png",
- "category": "system",
- "singular": true,
- "names": {
- "bg_BG": "Настройки",
- "de_DE": "Einstellungen",
- "es_ES": "Settings",
- "fr_FR": "Paramètres",
- "it_IT": "Settaggi",
- "ko_KR": "환경설정",
- "nl_NL": "Instellingen",
- "no_NO": "Instillinger",
- "pl_PL": "Ustawienia",
- "ru_RU": "Настройки",
- "sk_SK": "Nastavenia",
- "tr_TR": "Ayarlar",
- "vi_VN": "Cài đặt"
- },
- "descriptions": {
- "bg_BG": "Настройки",
- "de_DE": "Einstellungen",
- "es_ES": "Settings",
- "fr_FR": "Paramètres",
- "it_IT": "Settaggi",
- "ko_KR": "환경설정",
- "nl_NL": "Instellingen",
- "no_NO": "Instillinger",
- "pl_PL": "Ustawienia",
- "ru_RU": "Настройки",
- "sk_SK": "Nastavenia",
- "tr_TR": "Program Ayarlarını düzenle",
- "vi_VN": "Cài đặt"
- },
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Settings",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Settings/scheme.html b/build/htdocs/dist/packages/default/Settings/scheme.html
deleted file mode 100644
index 0edc7e8..0000000
--- a/build/htdocs/dist/packages/default/Settings/scheme.html
+++ /dev/null
@@ -1,655 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Desktop Margin
-
-
-
-
- Desktop Corner Snapping
-
-
-
-
- Window Snapping
-
-
-
-
- Enable Window Switcher
-
-
-
-
- Enable Animations
-
-
-
-
-
-
-
-
- Enable Icon View
-
-
-
-
- Invert Text Color
-
-
-
-
-
-
-
-
- Enable TouchMenu
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Enable Hotkeys
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_NAME
- LBL_HOTKEY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Language (requires restart)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_POSITION
-
-
-
-
- LBL_AUTOHIDE
-
-
-
-
- LBL_ONTOP
-
-
-
-
- LBL_BACKGROUND_COLOR
-
-
-
-
- LBL_TEXT_COLOR
-
-
-
-
- LBL_OPACITY
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_HIDE
- LBL_APPLICATION
- LBL_SCOPE
- Name
-
-
-
-
-
-
-
- LBL_UNINSTALL
- LBL_SAVE
- LBL_REGENERATE
- Install from zip
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_NAME
- LBL_REPOSITORY
- LBL_VERSION
- LBL_AUTHOR
-
-
-
-
-
-
-
- LBL_REFRESH
- LBL_INSTALL
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Enable Application Search
-
-
-
- Enable File Search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Enable Sounds
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_NAME
- LBL_FILENAME
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_THEME
-
-
-
-
- LBL_ICONS
-
-
-
-
-
-
-
-
- LBL_BACKGROUND_IMAGE
-
-
-
-
- LBL_BACKGROUND_COLOR
-
-
-
-
- Background Type
-
-
-
-
-
-
-
-
- LBL_FONT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_ID
-
-
-
-
- LBL_NAME
-
-
-
-
- LBL_USERNAME
-
-
-
-
- LBL_GROUPS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_SHOW_HIDDENFILES
-
-
-
- LBL_SHOW_FILEEXTENSIONS
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_USERNAME
- LBL_NAME
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_SAVE
- LBL_BACK
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_OK
- LBL_CANCEL
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_TYPE
-
-
-
- WebDAV (OwnCloud)
-
-
-
-
- LBL_NAME
-
-
-
-
-
-
- LBL_DESCRIPTION
-
-
-
-
-
-
-
-
-
-
- LBL_HOST
-
-
-
-
-
-
- LBL_NAMESPACE
-
-
-
-
-
-
- LBL_USERNAME
-
-
-
-
-
-
- LBL_PASSWORD
-
-
-
-
-
-
- CORS Enabled
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_CONNECT
- LBL_CLOSE
-
-
-
-
-
-
-
-
-
-
-
-
-
- LBL_USERNAME
-
-
-
-
-
-
- LBL_NAME
-
-
-
-
-
-
- LBL_GROUPS
-
-
-
-
-
-
-
-
-
-
-
- LBL_SAVE
- LBL_CLOSE
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Textpad/combined.css b/build/htdocs/dist/packages/default/Textpad/combined.css
deleted file mode 100644
index 19a7ec9..0000000
--- a/build/htdocs/dist/packages/default/Textpad/combined.css
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationTextpadWindow {
-}*/
-
diff --git a/build/htdocs/dist/packages/default/Textpad/combined.js b/build/htdocs/dist/packages/default/Textpad/combined.js
deleted file mode 100644
index e31625a..0000000
--- a/build/htdocs/dist/packages/default/Textpad/combined.js
+++ /dev/null
@@ -1,119 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationTextpadWindow(app, metadata, scheme, file) {
- DefaultApplicationWindow.apply(this, ['ApplicationTextpadWindow', {
- allow_drop: true,
- icon: metadata.icon,
- title: metadata.name,
- width: 450,
- height: 300
- }, app, scheme, file]);
- }
-
- ApplicationTextpadWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationTextpadWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationTextpadWindow.prototype.init = function(wmRef, app, scheme) {
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
- var self = this;
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'TextpadWindow', root);
- scheme.find(this, 'Text').on('change', function() {
- self.hasChanged = true;
- });
-
- return root;
- };
-
- ApplicationTextpadWindow.prototype.updateFile = function(file) {
- DefaultApplicationWindow.prototype.updateFile.apply(this, arguments);
- this._scheme.find(this, 'Text').$element.focus();
- };
-
- ApplicationTextpadWindow.prototype.showFile = function(file, content) {
- this._scheme.find(this, 'Text').set('value', content || '');
- DefaultApplicationWindow.prototype.showFile.apply(this, arguments);
- };
-
- ApplicationTextpadWindow.prototype.getFileData = function() {
- return this._scheme.find(this, 'Text').get('value');
- };
-
- ApplicationTextpadWindow.prototype._focus = function() {
- if ( DefaultApplicationWindow.prototype._focus.apply(this, arguments) ) {
- if ( this._scheme ) {
- var input = this._scheme.find(this, 'Text').$element;
- if ( input ) {
- input.focus();
- }
- }
- return true;
- }
- return false;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- var ApplicationTextpad = function(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationTextpad', args, metadata, {
- extension: 'txt',
- mime: 'text/plain',
- filename: 'New text file.txt'
- }]);
- };
-
- ApplicationTextpad.prototype = Object.create(DefaultApplication.prototype);
- ApplicationTextpad.constructor = DefaultApplication;
-
- ApplicationTextpad.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationTextpadWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationTextpad = OSjs.Applications.ApplicationTextpad || {};
- OSjs.Applications.ApplicationTextpad.Class = Object.seal(ApplicationTextpad);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Textpad/metadata.json b/build/htdocs/dist/packages/default/Textpad/metadata.json
deleted file mode 100644
index 210ba03..0000000
--- a/build/htdocs/dist/packages/default/Textpad/metadata.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "className": "ApplicationTextpad",
- "name": "Textpad",
- "description": "Simple text editor",
- "names": {
- "bg_BG": "Текстов редактор",
- "de_DE": "Texteditor",
- "fr_FR": "Éditeur de texte",
- "it_IT": "Editor Testi",
- "ko_KR": "텍스트패드",
- "nl_NL": "Notities",
- "no_NO": "Tekstblokk",
- "pl_PL": "Notatnik",
- "ru_RU": "Редактор текста",
- "sk_SK": "Poznámkový blok",
- "tr_TR": "Basit Bir Metin Düzenleyicisi",
- "vi_VN": "Trình sửa văn bản"
- },
- "descriptions": {
- "bg_BG": "Стандартен текстов редактор",
- "de_DE": "Einfacher Texteditor",
- "fr_FR": "Éditeur de texte simple",
- "it_IT": "Semplice editor di testi",
- "ko_KR": "간단한 텍스트 편집기",
- "nl_NL": "Eenvoudige Tekstverwerker",
- "no_NO": "Simpel tekst redigering",
- "pl_PL": "Prosty edytor tekstu",
- "ru_RU": "Простой текстовый редактор",
- "sk_SK": "Jednoduchý textový editor",
- "tr_TR": "Basit Bir Metin Düzenleyicisi",
- "vi_VN": "Trình sửa văn bản đơn giản"
- },
- "mime": [
- "^text",
- "inode\\/x\\-empty",
- "application\\/x\\-empty",
- "application\\/x\\-lua",
- "application\\/x\\-python",
- "application\\/javascript",
- "application\\/json"
- ],
- "category": "utilities",
- "icon": "apps/accessories-text-editor.png",
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Textpad",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Textpad/scheme.html b/build/htdocs/dist/packages/default/Textpad/scheme.html
deleted file mode 100644
index eca1344..0000000
--- a/build/htdocs/dist/packages/default/Textpad/scheme.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/packages/default/Writer/combined.css b/build/htdocs/dist/packages/default/Writer/combined.css
deleted file mode 100644
index 32dd4ed..0000000
--- a/build/htdocs/dist/packages/default/Writer/combined.css
+++ /dev/null
@@ -1,33 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2015, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-
-/*.ApplicationWriterWindow application-window-content {
-}*/
-
diff --git a/build/htdocs/dist/packages/default/Writer/combined.js b/build/htdocs/dist/packages/default/Writer/combined.js
deleted file mode 100644
index 3c070b0..0000000
--- a/build/htdocs/dist/packages/default/Writer/combined.js
+++ /dev/null
@@ -1,461 +0,0 @@
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(Application, Window, GUI, Dialogs, VFS, Utils) {
- // jscs:disable validateQuoteMarks
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // LOCALES
- /////////////////////////////////////////////////////////////////////////////
-
- var _Locales = {
- bg_BG : {
- 'Insert URL' : 'Въведи URL'
- },
- de_DE : {
- 'Insert URL' : 'URL einfügen'
- },
- es_ES : {
- 'Insert URL' : 'Insertar URL'
- },
- fr_FR : {
- 'Insert URL' : 'Insérer une URL'
- },
- ar_DZ : {
- 'Insert URL' : 'أدخل رابط'
- },
- it_IT : {
- 'Insert URL' : 'Inserisci URL'
- },
- ko_KR : {
- 'Insert URL' : '링크 삽입'
- },
- nl_NL : {
- 'Insert URL' : 'URL invoegen'
- },
- no_NO : {
- 'Insert URL' : 'Sett inn URL'
- },
- pl_PL : {
- 'Insert URL' : 'Wpisz URL'
- },
- ru_RU : {
- 'Insert URL' : 'Вставить ссылку'
- },
- sk_SK : {
- 'Insert URL' : 'Vložiť URL'
- },
- tr_TR : {
- 'Insert URL' : 'URL ekle'
- },
- vi_VN : {
- 'Insert URL' : 'Thêm URL'
- }
- };
-
- function _() {
- var args = Array.prototype.slice.call(arguments, 0);
- args.unshift(_Locales);
- return OSjs.API.__.apply(this, args);
- }
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationWriter = OSjs.Applications.ApplicationWriter || {};
- OSjs.Applications.ApplicationWriter._ = _;
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.GUI, OSjs.Dialogs, OSjs.VFS, OSjs.Utils);
-
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-(function(DefaultApplication, DefaultApplicationWindow, Application, Window, Utils, API, VFS, GUI) {
- 'use strict';
-
- /////////////////////////////////////////////////////////////////////////////
- // WINDOWS
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationWriterWindow(app, metadata, scheme, file) {
- /*eslint dot-notation: "off"*/
- var config = OSjs.Core.getConfig();
-
- DefaultApplicationWindow.apply(this, ['ApplicationWriterWindow', {
- allow_drop: true,
- icon: metadata.icon,
- title: metadata.name,
- width: 550,
- height: 400
- }, app, scheme, file]);
-
- this.checkChangeLength = -1;
- this.checkChangeInterval = null;
- this.color = {
- background : '#ffffff',
- foreground : '#000000'
- };
- this.font = {
- name: config.Fonts['default'],
- size: 3
- };
- }
-
- ApplicationWriterWindow.prototype = Object.create(DefaultApplicationWindow.prototype);
- ApplicationWriterWindow.constructor = DefaultApplicationWindow.prototype;
-
- ApplicationWriterWindow.prototype.destroy = function() {
- this.checkChangeInterval = clearInterval(this.checkChangeInterval);
- return DefaultApplicationWindow.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationWriterWindow.prototype.init = function(wmRef, app, scheme) {
- var root = DefaultApplicationWindow.prototype.init.apply(this, arguments);
- var self = this;
- var _ = OSjs.Applications.ApplicationWriter._;
-
- // Load and set up scheme (GUI) here
- scheme.render(this, 'WriterWindow', root, null, null, {
- _: _
- });
-
- var text = scheme.find(this, 'Text');
-
- var buttons = {
- 'text-bold': {
- command: 'bold'
- },
- 'text-italic': {
- command: 'italic'
- },
- 'text-underline': {
- command: 'underline'
- },
- 'text-strikethrough': {
- command: 'strikeThrough'
- },
-
- 'justify-left': {
- command: 'justifyLeft'
- },
- 'justify-center': {
- command: 'justifyCenter'
- },
- 'justify-right': {
- command: 'justifyRight'
- },
-
- 'indent': {
- command: 'indent'
- },
- 'unindent': {
- command: 'outdent'
- }
- };
-
- var menuEntries = {
- 'MenuUndo': function() {
- text._call('command', ['undo', false]);
- },
- 'MenuRedo': function() {
- text._call('command', ['redo', false]);
- },
- 'MenuCopy': function() {
- text._call('command', ['copy', false]);
- },
- 'MenuCut': function() {
- text._call('command', ['cut', false]);
- },
- 'MenuDelete': function() {
- text._call('command', ['delete', false]);
- },
- 'MenuPaste': function() {
- text._call('command', ['paste', false]);
- },
- 'MenuUnlink': function() {
- text._call('command', ['unlink', false]);
- },
- 'MenuInsertOL': function() {
- text._call('command', ['insertOrderedList', false]);
- },
- 'MenuInsertUL': function() {
- text._call('command', ['insertUnorderedList', false]);
- },
- 'MenuInsertImage': function() {
- API.createDialog('File', {
- filter: ['^image']
- }, function(ev, button, result) {
- if ( button !== 'ok' || !result ) {
- return;
- }
-
- VFS.url(result, function(error, url) {
- text._call('command', ['insertImage', false, url]);
- });
- }, self);
- },
- 'MenuInsertLink': function() {
- API.createDialog('Input', {
- message: _('Insert URL'),
- placeholder: 'https://os.js.org'
- }, function(ev, button, result) {
- if ( button !== 'ok' || !result ) {
- return;
- }
- text._call('command', ['createLink', false, result]);
- }, self);
- }
- };
-
- function menuEvent(ev) {
- if ( menuEntries[ev.detail.id] ) {
- menuEntries[ev.detail.id]();
- }
- }
-
- scheme.find(this, 'SubmenuEdit').on('select', menuEvent);
- scheme.find(this, 'SubmenuInsert').on('select', menuEvent);
-
- function getSelectionStyle() {
- function _call(cmd) {
- return text._call('query', [cmd]);
- }
-
- var style = {
- fontName: ((_call('fontName') || '').split(',')[0]).replace(/^'/, '').replace(/'$/, ''),
- fontSize: parseInt(_call('fontSize'), 10) || self.font.size,
- foreColor: _call('foreColor'),
- hiliteColor: _call('hiliteColor')
- };
-
- Object.keys(buttons).forEach(function(b) {
- var button = buttons[b];
- style[button.command] = {
- button: b,
- value:_call(button.command)
- };
- });
- return style;
- }
-
- function createColorDialog(current, cb) {
- self._toggleDisabled(true);
- API.createDialog('Color', {
- color: current
- }, function(ev, button, result) {
- self._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- cb(result.hex);
- }
- }, self);
- }
-
- function createFontDialog(current, cb) {
- self._toggleDisabled(true);
- API.createDialog('Font', {
- fontSize: self.font.size,
- fontName: self.font.name,
- minSize: 1,
- maxSize: 8,
- unit: 'null'
- }, function(ev, button, result) {
- self._toggleDisabled(false);
- if ( button === 'ok' && result ) {
- cb(result);
- }
- }, self);
- }
-
- var back = scheme.find(this, 'Background').on('click', function() {
- createColorDialog(self.color.background, function(hex) {
- text._call('command', ['hiliteColor', false, hex]);
- self.color.background = hex;
- back.set('value', hex);
- });
- });
- var front = scheme.find(this, 'Foreground').on('click', function() {
- createColorDialog(self.color.foreground, function(hex) {
- text._call('command', ['foreColor', false, hex]);
- self.color.foreground = hex;
- front.set('value', hex);
- });
- });
-
- var font = scheme.find(this, 'Font').on('click', function() {
- createFontDialog(null, function(font) {
- text._call('command', ['fontName', false, font.fontName]);
- text._call('command', ['fontSize', false, font.fontSize]);
- self.font.name = font.fontName;
- self.font.size = font.fontSize;
- });
- });
-
- root.querySelectorAll('gui-toolbar > gui-button').forEach(function(b) {
- var id = b.getAttribute('data-id');
- var button = buttons[id];
- if ( button ) {
- (new GUI.Element(b)).on('click', function() {
- text._call('command', [button.command]);
- }).on('mousedown', function(ev) {
- ev.preventDefault();
- });
- }
- });
-
- function updateToolbar(style) {
- back.set('value', style.hiliteColor);
- front.set('value', style.foreColor);
- if ( style.fontName ) {
- font.set('label', Utils.format('{0} ({1})', style.fontName, style.fontSize.toString()));
- }
- }
-
- function updateSelection() {
- var style = getSelectionStyle();
- updateToolbar(style);
- }
-
- back.set('value', this.color.background);
- front.set('value', this.color.foreground);
- font.set('label', Utils.format('{0} ({1})', this.font.name, this.font.size.toString()));
-
- text.on('selection', function() {
- updateSelection();
- });
-
- this.checkChangeInterval = setInterval(function() {
- if ( self.hasChanged ) {
- return;
- }
-
- if ( self.checkChangeLength < 0 ) {
- self.checkChangeLength = text.get('value').length;
- }
-
- var len = text.get('value').length;
- if ( len !== self.checkChangeLength ) {
- self.hasChanged = true;
- }
- self.checkChangeLength = len;
- }, 500);
-
- return root;
- };
-
- ApplicationWriterWindow.prototype.updateFile = function(file) {
- DefaultApplicationWindow.prototype.updateFile.apply(this, arguments);
-
- try {
- var el = this._scheme.find(this, 'Text');
- el.$element.focus();
- } catch ( e ) {}
-
- this.checkChangeLength = -1;
- };
-
- ApplicationWriterWindow.prototype.showFile = function(file, content) {
- this._scheme.find(this, 'Text').set('value', content || '');
- DefaultApplicationWindow.prototype.showFile.apply(this, arguments);
- };
-
- ApplicationWriterWindow.prototype.getFileData = function() {
- return this._scheme.find(this, 'Text').get('value');
- };
-
- ApplicationWriterWindow.prototype._focus = function(file, content) {
- if ( DefaultApplicationWindow.prototype._focus.apply(this, arguments) ) {
- this._scheme.find(this, 'Text').focus();
- return true;
- }
- return false;
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // APPLICATION
- /////////////////////////////////////////////////////////////////////////////
-
- function ApplicationWriter(args, metadata) {
- DefaultApplication.apply(this, ['ApplicationWriter', args, metadata, {
- extension: 'odoc',
- mime: 'osjs/document',
- filename: 'New text file.odoc'
- }]);
- }
-
- ApplicationWriter.prototype = Object.create(DefaultApplication.prototype);
- ApplicationWriter.constructor = DefaultApplication;
-
- ApplicationWriter.prototype.destroy = function() {
- return DefaultApplication.prototype.destroy.apply(this, arguments);
- };
-
- ApplicationWriter.prototype.init = function(settings, metadata, scheme) {
- Application.prototype.init.call(this, settings, metadata, scheme);
- var file = this._getArgument('file');
- this._addWindow(new ApplicationWriterWindow(this, metadata, scheme, file));
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.ApplicationWriter = OSjs.Applications.ApplicationWriter || {};
- OSjs.Applications.ApplicationWriter.Class = Object.seal(ApplicationWriter);
-
-})(OSjs.Helpers.DefaultApplication, OSjs.Helpers.DefaultApplicationWindow, OSjs.Core.Application, OSjs.Core.Window, OSjs.Utils, OSjs.API, OSjs.VFS, OSjs.GUI);
diff --git a/build/htdocs/dist/packages/default/Writer/metadata.json b/build/htdocs/dist/packages/default/Writer/metadata.json
deleted file mode 100644
index 2574d70..0000000
--- a/build/htdocs/dist/packages/default/Writer/metadata.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "className": "ApplicationWriter",
- "name": "Writer",
- "description": "Write rich text documents",
- "names": {
- "bg_BG": "Текст",
- "de_DE": "Writer",
- "fr_FR": "Traitement de texte",
- "it_IT": "Editor Testi",
- "ko_KR": "글쓰기",
- "nl_NL": "Tekstverwerker",
- "no_NO": "Writer",
- "pl_PL": "Writer",
- "ru_RU": "Текстовый процессор",
- "sk_SK": "Writer",
- "tr_TR": "Writer",
- "vi_VN": "Viết"
- },
- "descriptions": {
- "bg_BG": "Писанене на обогатен текст",
- "de_DE": "Verfassen Sie Rich-Text-Dokumente",
- "fr_FR": "Traitement de texte riche",
- "it_IT": "Scrivi documenti di testo formattati",
- "ko_KR": "리치 텍스트 문서 작성",
- "nl_NL": "Tekst verwerker met opmaak",
- "no_NO": "Skriv riktekst dokumenter",
- "pl_PL": "Twórz dokumenty rich text",
- "ru_RU": "Текстовый процессор",
- "sk_SK": "Editor na tvorbu Rich-Text dokumentov",
- "tr_TR": "Gelişmiş dökümanlar oluşturun",
- "vi_VN": "Xem, chỉnh sửa văn bản"
- },
- "mime": [
- "^text",
- "osjs\\/document"
- ],
- "category": "office",
- "icon": "apps/libreoffice34-writer.png",
- "compability": [
- "richtext"
- ],
- "preload": [
- {
- "type": "javascript",
- "src": "combined.js"
- },
- {
- "type": "stylesheet",
- "src": "combined.css"
- },
- {
- "src": "scheme.html",
- "type": "scheme"
- }
- ],
- "type": "application",
- "path": "default/Writer",
- "build": {},
- "repo": "default"
-}
\ No newline at end of file
diff --git a/build/htdocs/dist/packages/default/Writer/scheme.html b/build/htdocs/dist/packages/default/Writer/scheme.html
deleted file mode 100644
index 96b0161..0000000
--- a/build/htdocs/dist/packages/default/Writer/scheme.html
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- FONT (SIZE)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/build/htdocs/dist/settings.js b/build/htdocs/dist/settings.js
deleted file mode 100644
index 187b20f..0000000
--- a/build/htdocs/dist/settings.js
+++ /dev/null
@@ -1,500 +0,0 @@
-(function() {
- window.OSjs = window.OSjs || {}
- OSjs.Core = OSjs.Core || {}
- OSjs.Core.getConfig = (function() {
- var _cache;
- return function() {
- if ( !_cache ) {
- _cache = {
- "Version": "2.0-alpha80",
- "SettingsManager": {
- "VFS": {
- "scandir": {
- "showHiddenFiles": true,
- "showFileExtensions": true,
- "columns": [
- "filename",
- "mime",
- "size"
- ]
- },
- "mounts": []
- },
- "CoreWM": {
- "styleTheme": "default",
- "iconTheme": "default",
- "soundTheme": "default",
- "animations": true,
- "fullscreen": true,
- "desktopMargin": 5,
- "wallpaper": "osjs:///themes/wallpapers/wallpaper.png",
- "desktopPath": "desktop:///",
- "icon": "osjs-white.png",
- "backgroundColor": "#572a79",
- "fontFamily": "Karla",
- "background": "image-fill",
- "windowCornerSnap": 0,
- "windowSnap": 0,
- "useTouchMenu": false,
- "enableIconView": false,
- "enableSwitcher": true,
- "enableHotkeys": true,
- "enableSounds": true,
- "invertIconViewColor": false,
- "moveOnResize": true,
- "hotkeys": {
- "WINDOW_MOVE_UP": "ALT+UP",
- "WINDOW_MOVE_DOWN": "ALT+DOWN",
- "WINDOW_MOVE_LEFT": "ALT+LEFT",
- "WINDOW_MOVE_RIGHT": "ALT+RIGHT",
- "WINDOW_MINIMIZE": "ALT+H",
- "WINDOW_RESTORE": "ALT+R",
- "WINDOW_MAXIMIZE": "ALT+M",
- "SEARCH": "F3",
- "SWITCHER": "ALT+TILDE",
- "SAVEAS": "CTRL+SHIFT+S",
- "SAVE": "CTRL+S",
- "OPEN": "CTRL+O"
- },
- "sounds": {
- "LOGOUT": "service-logout",
- "LOGIN": "service-login",
- "ERROR": "dialog-warning"
- },
- "panels": [
- {
- "options": {
- "position": "top",
- "ontop": true,
- "autohide": false,
- "background": "#101010",
- "foreground": "#ffffff",
- "opacity": 85
- },
- "items": [
- {
- "name": "AppMenu",
- "settings": {}
- },
- {
- "name": "Buttons",
- "settings": {}
- },
- {
- "name": "WindowList",
- "settings": {}
- },
- {
- "name": "NotificationArea",
- "settings": {}
- },
- {
- "name": "Search",
- "settings": {}
- },
- {
- "name": "Clock",
- "settings": {}
- }
- ]
- }
- ],
- "mediaQueries": {
- "mobile": 320,
- "tablet": 800
- },
- "menu": {
- "development": {
- "icon": "categories/package_development.png",
- "title": "Development"
- },
- "education": {
- "icon": "categories/applications-sience.png",
- "title": "Education"
- },
- "games": {
- "icon": "categories/package_games.png",
- "title": "Games"
- },
- "graphics": {
- "icon": "categories/package_graphics.png",
- "title": "Graphics"
- },
- "network": {
- "icon": "categories/package_network.png",
- "title": "Network"
- },
- "multimedia": {
- "icon": "categories/package_multimedia.png",
- "title": "Multimedia"
- },
- "office": {
- "icon": "categories/package_office.png",
- "title": "Office"
- },
- "system": {
- "icon": "categories/package_system.png",
- "title": "System"
- },
- "utilities": {
- "icon": "categories/package_utilities.png",
- "title": "Utilities"
- },
- "unknown": {
- "icon": "categories/applications-other.png",
- "title": "Other"
- }
- }
- },
- "PackageManager": {
- "Repositories": [
- "https://builds.os.js.org/store/packages.json"
- ],
- "PackagePaths": [
- "home:///.packages"
- ],
- "Hidden": []
- },
- "DefaultApplication": {
- "dir": "ApplicationFileManager"
- },
- "SearchEngine": {
- "applications": true,
- "files": true,
- "paths": [
- "home:///"
- ]
- }
- },
- "PackageManager": {
- "UseStaticManifest": false
- },
- "Preloads": [],
- "AutoStart": [],
- "Languages": {
- "en_EN": "English",
- "bg_BG": "Bulgarian (Bulgaria)",
- "no_NO": "Norsk (Norwegian)",
- "de_DE": "Deutsch (German)",
- "es_ES": "Spanish (Spain)",
- "fr_FR": "French (France)",
- "ru_RU": "Russian (Russia)",
- "ko_KR": "Korean (한국어)",
- "zh_CN": "Chinese (China)",
- "nl_NL": "Dutch (Nederlands)",
- "pl_PL": "Polski (Poland)",
- "pt_BR": "Portuguese (Brazil)",
- "sk_SK": "Slovak (Slovenčina)",
- "vi_VN": "Vietnamese (Tiếng Việt)",
- "tr_TR": "Turkish (Turkey)",
- "it_IT": "Italiano (Italian)",
- "fa_FA": "Farsi (Persian)",
- "ar_DZ": "Arabic (Algeria)"
- },
- "Styles": [
- {
- "name": "dark",
- "title": "Dark",
- "style": {
- "window": {
- "margin": 30,
- "border": 3
- }
- }
- },
- {
- "name": "default",
- "title": "Default",
- "style": {
- "window": {
- "margin": 30,
- "border": 3
- }
- }
- },
- {
- "name": "glass",
- "title": "Glass",
- "style": {
- "window": {
- "margin": 30,
- "border": 5
- }
- }
- },
- {
- "name": "material",
- "title": "Material Design",
- "style": {
- "window": {
- "margin": 34,
- "border": 0
- }
- }
- },
- {
- "name": "windows8",
- "title": "Windows 8",
- "style": {
- "window": {
- "margin": 30,
- "border": 3
- }
- }
- }
- ],
- "Sounds": {
- "default": "Default (Freedesktop)"
- },
- "Icons": {
- "default": "Default (Gnome)"
- },
- "Fonts": {
- "default": "Karla",
- "list": [
- "Arial",
- "Arial Black",
- "Sans-serif",
- "Serif",
- "Trebuchet MS",
- "Impact",
- "Georgia",
- "Courier New",
- "Comic Sans MS",
- "Monospace",
- "Symbol",
- "Webdings"
- ]
- },
- "MIME": {
- "descriptions": {
- "image/bmp": "Bitmap Image",
- "image/gif": "GIF Image",
- "image/jpeg": "JPEG Image",
- "image/jpg": "JPEG Image",
- "image/png": "PNG Image",
- "text/plain": "Text Document",
- "text/css": "Cascade Stylesheet",
- "text/html": "HTML Document",
- "text/xml": "XML Document",
- "application/javascript": "JavaScript Document",
- "application/json": "JSON Document",
- "application/x-python": "Python Document",
- "application/x-lua": "Lua Document",
- "application/x-shellscript": "Shell Script",
- "text/x-c": "C Document",
- "text/x-cplusplus": "C++ Document",
- "application/pdf": "PDF Document",
- "application/zip": "ZIP Archive",
- "audio/aac": "AAC Audio",
- "audio/mp4": "MP4 Audio",
- "audio/mpeg": "MPEG Audio",
- "audio/ogg": "OGG Audio",
- "audio/wav": "WAV Audio",
- "audio/webm": "WEBM Audio",
- "video/mp4": "MP4 Video",
- "video/ogg": "OGG Video",
- "video/webm": "WEBM Video",
- "video/x-ms-video": "AVI Video",
- "video/x-flv": "FLV Video",
- "video/x-matroska": "MKV Video",
- "application/x-ipkg": "Itsy Package",
- "osjs/document": "OS.js Document",
- "osjs/draw": "OS.js Image",
- "osjs/project": "OS.js Project"
- },
- "mapping": {
- ".bmp": "image/bmp",
- ".css": "text/css",
- ".gif": "image/gif",
- ".htm": "text/html",
- ".html": "text/html",
- ".jpg": "image/jpeg",
- ".jpeg": "image/jpeg",
- ".js": "application/javascript",
- ".json": "application/json",
- ".lua": "application/x-lua",
- ".sh": "application/x-shellscript",
- ".c": "text/x-c",
- ".cpp": "text/x-cplusplus",
- ".cc": "text/x-cplusplus",
- ".otf": "font/opentype",
- ".ttf": "font/opentype",
- ".png": "image/png",
- ".zip": "application/zip",
- ".aac": "audio/aac",
- ".mp4": "video/mp4",
- ".m4a": "audio/mp4",
- ".mp1": "audio/mpeg",
- ".mp2": "audio/mpeg",
- ".mp3": "audio/mpeg",
- ".mpg": "audio/mpeg",
- ".mpeg": "audio/mpeg",
- ".oga": "audio/ogg",
- ".ogg": "audio/ogg",
- ".wav": "audio/wav",
- ".webm": "video/webm",
- ".m4v": "video/mp4",
- ".ogv": "video/ogg",
- ".avi": "video/x-ms-video",
- ".flv": "video/x-flv",
- ".mkv": "video/x-matroska",
- ".py": "application/x-python",
- ".xml": "text/xml",
- ".md": "text/plain",
- ".txt": "text/plain",
- ".log": "text/plain",
- ".doc": "text/plain",
- ".pdf": "application/pdf",
- ".ipk": "application/x-ipkg",
- ".odbeat": "osjs/dbeat",
- ".oplist": "osjs/playlist",
- ".odoc": "osjs/document",
- ".odraw": "osjs/draw",
- ".oproj": "osjs/project",
- "default": "application/octet-stream"
- }
- },
- "WM": {
- "exec": "CoreWM",
- "args": {
- "defaults": {}
- }
- },
- "VFS": {
- "MaxUploadSize": 2097152,
- "Home": "home:///",
- "GoogleDrive": {
- "Enabled": false
- },
- "OneDrive": {
- "Enabled": false
- },
- "Dropbox": {
- "Enabled": false
- },
- "LocalStorage": {
- "Enabled": false
- },
- "Mountpoints": {
- "applications": {
- "enabled": true,
- "transport": "Applications",
- "icon": "places/user-bookmarks.png",
- "description": "Applications"
- },
- "desktop": {
- "enabled": true,
- "icon": "places/desktop.png",
- "description": "Desktop",
- "options": {
- "alias": "home:///.desktop",
- "path": "home:///.desktop"
- }
- },
- "osjs": {
- "enabled": true,
- "transport": "OSjs",
- "icon": "devices/harddrive.png",
- "description": "OS.js"
- },
- "home": {
- "enabled": true,
- "icon": "places/folder_home.png",
- "description": "Home"
- },
- "shared": {
- "enabled": true,
- "description": "Shared",
- "icon": "places/folder-publicshare.png"
- }
- }
- },
- "Connection": {
- "Type": "http",
- "Handler": "demo",
- "RootURI": "",
- "APIURI": "API",
- "FSURI": "FS",
- "MetadataURI": "packages.js",
- "ThemeURI": "themes/styles",
- "SoundURI": "themes/sounds",
- "IconURI": "themes/icons",
- "FontURI": "themes/fonts",
- "PackageURI": "packages",
- "AppendVersion": "",
- "PreloadParallel": 3,
- "Dist": "dist"
- },
- "BugReporting": {
- "enabled": true,
- "url": "//github.com/os-js/OS.js/issues/new?title=%TITLE%&body=%BODY%",
- "options": {
- "issue": true,
- "title": "[Automated Bugreport] YOUR TITLE HERE",
- "message": "This bugreport was generated by OS.js"
- }
- },
- "ShowQuitWarning": false,
- "ReloadOnShutdown": false,
- "PreloadOnBoot": [],
- "Watermark": {
- "enabled": true,
- "lines": [
- "OS.js %VERSION%",
- "Copyright © 2011-2016 Anders Evenrud"
- ]
- },
- "DropboxAPI": {
- "ClientKey": ""
- },
- "GoogleAPI": {
- "ClientId": ""
- },
- "WindowsLiveAPI": {
- "ClientId": ""
- },
- "Locale": "en_EN",
- "LocaleOptions": {
- "AutoDetect": true,
- "RTL": [
- "az",
- "fa",
- "he",
- "uz",
- "zh",
- "ar"
- ]
- }
-};
-
- var rootURI = window.location.pathname || '/';
- if ( window.location.protocol === 'file:' ) {
- rootURI = '';
- }
-
- var replace = ['RootURI', 'APIURI', 'FSURI', 'MetadataURI', 'ThemeURI', 'SoundURI', 'IconURI', 'PackageURI'];
- replace.forEach(function(val) {
- if ( _cache[val] ) {
- _cache[val] = _cache[val].replace(/^\//, rootURI);
- }
- });
-
- var preloads = _cache.Preloads;
- if ( preloads ) {
- preloads.forEach(function(item, key) {
- if ( item && item.src && item.src.match(/^\//) ) {
- preloads[key].src = item.src.replace(/^\//, rootURI);
- }
- });
- }
-
- var dev =_cache.Connection.Dist === 'dist-dev';
- _cache.MOCHAMODE = dev && window.location.hash === '#mocha';
- _cache.DEVMODE = dev && window.location.hash === '#developer';
- }
-
- return Object.freeze(_cache);
- };
- })();
-})();
diff --git a/build/htdocs/dist/splash.png b/build/htdocs/dist/splash.png
deleted file mode 100644
index 606e72e..0000000
Binary files a/build/htdocs/dist/splash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/.gitignore b/build/htdocs/dist/themes/.gitignore
deleted file mode 100644
index e69de29..0000000
diff --git a/build/htdocs/dist/themes/fonts.css b/build/htdocs/dist/themes/fonts.css
deleted file mode 100644
index 48c80da..0000000
--- a/build/htdocs/dist/themes/fonts.css
+++ /dev/null
@@ -1,198 +0,0 @@
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/Regular.eot');
- src: url('fonts/Karla/Regular.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/Regular.woff') format('woff'),
- url('fonts/Karla/Regular.ttf') format('truetype'),
- url('fonts/Karla/Regular.svg#karla') format('svg');
- font-weight:normal;
- font-style:normal;
-}
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/Bold.eot');
- src: url('fonts/Karla/Bold.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/Bold.woff') format('woff'),
- url('fonts/Karla/Bold.ttf') format('truetype'),
- url('fonts/Karla/Bold.svg#karla_bold') format('svg');
- font-weight:bold;
-}
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/Italic.eot');
- src: url('fonts/Karla/Italic.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/Italic.woff') format('woff'),
- url('fonts/Karla/Italic.ttf') format('truetype'),
- url('fonts/Karla/Italic.svg#karla_italic') format('svg');
- font-style:italic;
-}
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/Italic.eot');
- src: url('fonts/Karla/Italic.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/Italic.woff') format('woff'),
- url('fonts/Karla/Italic.ttf') format('truetype'),
- url('fonts/Karla/Italic.svg#karla_italic') format('svg');
- font-style:oblique;
-}
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/BoldItalic.eot');
- src: url('fonts/Karla/BoldItalic.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/BoldItalic.woff') format('woff'),
- url('fonts/Karla/BoldItalic.ttf') format('truetype'),
- url('fonts/Karla/BoldItalic.svg#karla_bolditalic') format('svg');
- font-weight:bold;
- font-style:italic;
-}
-@font-face {
- font-family:Karla;
- src: url('fonts/Karla/BoldItalic.eot');
- src: url('fonts/Karla/BoldItalic.eot?#iefix') format('embedded-opentype'),
- url('fonts/Karla/BoldItalic.woff') format('woff'),
- url('fonts/Karla/BoldItalic.ttf') format('truetype'),
- url('fonts/Karla/BoldItalic.svg#karla_bolditalic') format('svg');
- font-weight:bold;
- font-style:oblique;
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 100;
- font-style: normal;
- src: url('fonts/Roboto/fonts/Roboto-100/Roboto-100.eot');
- src: url('fonts/Roboto/fonts/Roboto-100/Roboto-100.eot?#iefix') format('embedded-opentype'),
- local('Roboto Thin'),
- local('Roboto-100'),
- url('fonts/Roboto/fonts/Roboto-100/Roboto-100.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-100/Roboto-100.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-100/Roboto-100.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-100/Roboto-100.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: normal;
- src: url('fonts/Roboto/fonts/Roboto-300/Roboto-300.eot');
- src: url('fonts/Roboto/fonts/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
- local('Roboto Light'),
- local('Roboto-300'),
- url('fonts/Roboto/fonts/Roboto-300/Roboto-300.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-300/Roboto-300.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-300/Roboto-300.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-300/Roboto-300.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: normal;
- src: url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.eot');
- src: url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
- local('Roboto'),
- local('Roboto-regular'),
- url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 500;
- font-style: normal;
- src: url('fonts/Roboto/fonts/Roboto-500/Roboto-500.eot');
- src: url('fonts/Roboto/fonts/Roboto-500/Roboto-500.eot?#iefix') format('embedded-opentype'),
- local('Roboto Medium'),
- local('Roboto-500'),
- url('fonts/Roboto/fonts/Roboto-500/Roboto-500.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-500/Roboto-500.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-500/Roboto-500.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-500/Roboto-500.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: normal;
- src: url('fonts/Roboto/fonts/Roboto-700/Roboto-700.eot');
- src: url('fonts/Roboto/fonts/Roboto-700/Roboto-700.eot?#iefix') format('embedded-opentype'),
- local('Roboto Bold'),
- local('Roboto-700'),
- url('fonts/Roboto/fonts/Roboto-700/Roboto-700.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-700/Roboto-700.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-700/Roboto-700.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-700/Roboto-700.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 100;
- font-style: italic;
- src: url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.eot');
- src: url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Thin Italic'),
- local('Roboto-100italic'),
- url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: italic;
- src: url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.eot');
- src: url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Light Italic'),
- local('Roboto-300italic'),
- url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: italic;
- src: url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.eot');
- src: url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Italic'),
- local('Roboto-italic'),
- url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-italic/Roboto-italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 500;
- font-style: italic;
- src: url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.eot');
- src: url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Medium Italic'),
- local('Roboto-500italic'),
- url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: italic;
- src: url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.eot');
- src: url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Bold Italic'),
- local('Roboto-700italic'),
- url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff2') format('woff2'),
- url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff') format('woff'),
- url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.ttf') format('truetype'),
- url('fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.svg#Roboto') format('svg');
-}
-
diff --git a/build/htdocs/dist/themes/fonts/Karla/Bold.eot b/build/htdocs/dist/themes/fonts/Karla/Bold.eot
deleted file mode 100644
index 89dbc36..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Bold.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Bold.svg b/build/htdocs/dist/themes/fonts/Karla/Bold.svg
deleted file mode 100644
index 688e602..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/Bold.svg
+++ /dev/null
@@ -1,599 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Karla/Bold.ttf b/build/htdocs/dist/themes/fonts/Karla/Bold.ttf
deleted file mode 100644
index 9efe736..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Bold.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Bold.woff b/build/htdocs/dist/themes/fonts/Karla/Bold.woff
deleted file mode 100644
index 147e706..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Bold.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.eot b/build/htdocs/dist/themes/fonts/Karla/BoldItalic.eot
deleted file mode 100644
index abc96b6..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.svg b/build/htdocs/dist/themes/fonts/Karla/BoldItalic.svg
deleted file mode 100644
index 30ea557..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.svg
+++ /dev/null
@@ -1,605 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.ttf b/build/htdocs/dist/themes/fonts/Karla/BoldItalic.ttf
deleted file mode 100644
index 8b4684d..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.woff b/build/htdocs/dist/themes/fonts/Karla/BoldItalic.woff
deleted file mode 100644
index 1e959f0..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/BoldItalic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Italic.eot b/build/htdocs/dist/themes/fonts/Karla/Italic.eot
deleted file mode 100644
index 0fed915..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Italic.svg b/build/htdocs/dist/themes/fonts/Karla/Italic.svg
deleted file mode 100644
index c61bb61..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/Italic.svg
+++ /dev/null
@@ -1,605 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Karla/Italic.ttf b/build/htdocs/dist/themes/fonts/Karla/Italic.ttf
deleted file mode 100644
index 0cf5e37..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Italic.woff b/build/htdocs/dist/themes/fonts/Karla/Italic.woff
deleted file mode 100644
index df51619..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/LICENSE.txt b/build/htdocs/dist/themes/fonts/Karla/LICENSE.txt
deleted file mode 100644
index 78ed4ef..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/LICENSE.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-Copyright (c) 2011, Jonathan Pinhorn (pinhorn.typedesign@gmail.com), with Reserved Font Names "Karla" and "Karla Tamil".
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
-
-"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
-
-5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/fonts/Karla/Regular.eot b/build/htdocs/dist/themes/fonts/Karla/Regular.eot
deleted file mode 100644
index 0ba8a5e..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Regular.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Regular.svg b/build/htdocs/dist/themes/fonts/Karla/Regular.svg
deleted file mode 100644
index 6cd15c1..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/Regular.svg
+++ /dev/null
@@ -1,594 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Karla/Regular.ttf b/build/htdocs/dist/themes/fonts/Karla/Regular.ttf
deleted file mode 100644
index 81b3de6..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Regular.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/Regular.woff b/build/htdocs/dist/themes/fonts/Karla/Regular.woff
deleted file mode 100644
index 97766c7..0000000
Binary files a/build/htdocs/dist/themes/fonts/Karla/Regular.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Karla/style.css b/build/htdocs/dist/themes/fonts/Karla/style.css
deleted file mode 100644
index d80af6a..0000000
--- a/build/htdocs/dist/themes/fonts/Karla/style.css
+++ /dev/null
@@ -1,57 +0,0 @@
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/Regular.eot');
- src: url('%FONTURI%/Karla/Regular.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/Regular.woff') format('woff'),
- url('%FONTURI%/Karla/Regular.ttf') format('truetype'),
- url('%FONTURI%/Karla/Regular.svg#karla') format('svg');
- font-weight:normal;
- font-style:normal;
-}
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/Bold.eot');
- src: url('%FONTURI%/Karla/Bold.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/Bold.woff') format('woff'),
- url('%FONTURI%/Karla/Bold.ttf') format('truetype'),
- url('%FONTURI%/Karla/Bold.svg#karla_bold') format('svg');
- font-weight:bold;
-}
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/Italic.eot');
- src: url('%FONTURI%/Karla/Italic.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/Italic.woff') format('woff'),
- url('%FONTURI%/Karla/Italic.ttf') format('truetype'),
- url('%FONTURI%/Karla/Italic.svg#karla_italic') format('svg');
- font-style:italic;
-}
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/Italic.eot');
- src: url('%FONTURI%/Karla/Italic.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/Italic.woff') format('woff'),
- url('%FONTURI%/Karla/Italic.ttf') format('truetype'),
- url('%FONTURI%/Karla/Italic.svg#karla_italic') format('svg');
- font-style:oblique;
-}
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/BoldItalic.eot');
- src: url('%FONTURI%/Karla/BoldItalic.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/BoldItalic.woff') format('woff'),
- url('%FONTURI%/Karla/BoldItalic.ttf') format('truetype'),
- url('%FONTURI%/Karla/BoldItalic.svg#karla_bolditalic') format('svg');
- font-weight:bold;
- font-style:italic;
-}
-@font-face {
- font-family:Karla;
- src: url('%FONTURI%/Karla/BoldItalic.eot');
- src: url('%FONTURI%/Karla/BoldItalic.eot?#iefix') format('embedded-opentype'),
- url('%FONTURI%/Karla/BoldItalic.woff') format('woff'),
- url('%FONTURI%/Karla/BoldItalic.ttf') format('truetype'),
- url('%FONTURI%/Karla/BoldItalic.svg#karla_bolditalic') format('svg');
- font-weight:bold;
- font-style:oblique;
-}
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.eot
deleted file mode 100644
index 5550120..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.svg
deleted file mode 100644
index d1e02c3..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.svg
+++ /dev/null
@@ -1,313 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.ttf
deleted file mode 100644
index 89131db..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff
deleted file mode 100644
index e392f0d..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff2
deleted file mode 100644
index c3502b8..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100/Roboto-100.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.eot
deleted file mode 100644
index 38abbf7..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.svg
deleted file mode 100644
index 8bb177d..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.svg
+++ /dev/null
@@ -1,332 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.ttf
deleted file mode 100644
index 9bbf86f..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff
deleted file mode 100644
index 8002490..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff2
deleted file mode 100644
index 15a6edc..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-100italic/Roboto-100italic.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.eot
deleted file mode 100644
index 826acfd..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.svg
deleted file mode 100644
index 52b2832..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.svg
+++ /dev/null
@@ -1,314 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.ttf
deleted file mode 100644
index 66bc5ab..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff
deleted file mode 100644
index 1bff3ec..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff2
deleted file mode 100644
index 4411cbc..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300/Roboto-300.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.eot
deleted file mode 100644
index c47c43e..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.svg
deleted file mode 100644
index ea86b20..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.svg
+++ /dev/null
@@ -1,327 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.ttf
deleted file mode 100644
index ef1d13c..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff
deleted file mode 100644
index fc4a8b5..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff2
deleted file mode 100644
index 05fdb0a..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-300italic/Roboto-300italic.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.eot
deleted file mode 100644
index 8c06caa..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.svg
deleted file mode 100644
index 2b98916..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.svg
+++ /dev/null
@@ -1,305 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.ttf
deleted file mode 100644
index 8d6fa92..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff
deleted file mode 100644
index d3c82e1..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff2
deleted file mode 100644
index 6be92c7..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500/Roboto-500.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.eot
deleted file mode 100644
index 2b253af..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.svg
deleted file mode 100644
index 43c3be6..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.svg
+++ /dev/null
@@ -1,327 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.ttf
deleted file mode 100644
index 28d03db..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff
deleted file mode 100644
index 072ca9b..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff2
deleted file mode 100644
index 382866a..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-500italic/Roboto-500italic.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.eot
deleted file mode 100644
index f89cad7..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.svg
deleted file mode 100644
index fc8d42f..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.svg
+++ /dev/null
@@ -1,310 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.ttf
deleted file mode 100644
index 19090af..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff
deleted file mode 100644
index 3143de2..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff2
deleted file mode 100644
index 3b2dd4e..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700/Roboto-700.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.eot
deleted file mode 100644
index b8bbdf2..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.svg
deleted file mode 100644
index c71c29e..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.svg
+++ /dev/null
@@ -1,325 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.ttf
deleted file mode 100644
index a20e388..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff
deleted file mode 100644
index 7a0ae05..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff2
deleted file mode 100644
index 91d2aa6..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-700italic/Roboto-700italic.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.eot
deleted file mode 100644
index f2d020a..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.svg
deleted file mode 100644
index 738b829..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.svg
+++ /dev/null
@@ -1,323 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.ttf
deleted file mode 100644
index b0dd4a1..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff
deleted file mode 100644
index dcfeb00..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff2
deleted file mode 100644
index 1bb77f9..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-italic/Roboto-italic.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/LICENSE.txt b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/LICENSE.txt
deleted file mode 100644
index d645695..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/LICENSE.txt
+++ /dev/null
@@ -1,202 +0,0 @@
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.eot b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.eot
deleted file mode 100644
index d26bc8f..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.eot and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.svg b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.svg
deleted file mode 100644
index ed55c10..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.svg
+++ /dev/null
@@ -1,308 +0,0 @@
-
-
-
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.ttf b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.ttf
deleted file mode 100644
index 7b25f3c..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.ttf and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff
deleted file mode 100644
index 5e353cf..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff2 b/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff2
deleted file mode 100644
index d1035f9..0000000
Binary files a/build/htdocs/dist/themes/fonts/Roboto/fonts/Roboto-regular/Roboto-regular.woff2 and /dev/null differ
diff --git a/build/htdocs/dist/themes/fonts/Roboto/style.css b/build/htdocs/dist/themes/fonts/Roboto/style.css
deleted file mode 100644
index 6c58e08..0000000
--- a/build/htdocs/dist/themes/fonts/Roboto/style.css
+++ /dev/null
@@ -1,140 +0,0 @@
-@font-face {
- font-family: 'Roboto';
- font-weight: 100;
- font-style: normal;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.eot?#iefix') format('embedded-opentype'),
- local('Roboto Thin'),
- local('Roboto-100'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100/Roboto-100.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: normal;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.eot?#iefix') format('embedded-opentype'),
- local('Roboto Light'),
- local('Roboto-300'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300/Roboto-300.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: normal;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.eot?#iefix') format('embedded-opentype'),
- local('Roboto'),
- local('Roboto-regular'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-regular/Roboto-regular.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 500;
- font-style: normal;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.eot?#iefix') format('embedded-opentype'),
- local('Roboto Medium'),
- local('Roboto-500'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500/Roboto-500.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: normal;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.eot?#iefix') format('embedded-opentype'),
- local('Roboto Bold'),
- local('Roboto-700'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700/Roboto-700.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 100;
- font-style: italic;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Thin Italic'),
- local('Roboto-100italic'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-100italic/Roboto-100italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 300;
- font-style: italic;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Light Italic'),
- local('Roboto-300italic'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-300italic/Roboto-300italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 400;
- font-style: italic;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Italic'),
- local('Roboto-italic'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-italic/Roboto-italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 500;
- font-style: italic;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Medium Italic'),
- local('Roboto-500italic'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-500italic/Roboto-500italic.svg#Roboto') format('svg');
-}
-
-@font-face {
- font-family: 'Roboto';
- font-weight: 700;
- font-style: italic;
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.eot');
- src: url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.eot?#iefix') format('embedded-opentype'),
- local('Roboto Bold Italic'),
- local('Roboto-700italic'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.woff2') format('woff2'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.woff') format('woff'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.ttf') format('truetype'),
- url('%FONTURI%/Roboto/%FONTURI%/Roboto-700italic/Roboto-700italic.svg#Roboto') format('svg');
-}
-
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/add.png b/build/htdocs/dist/themes/icons/default/16x16/actions/add.png
deleted file mode 100644
index 3f1347e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/address-book-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/address-book-new.png
deleted file mode 100644
index 8023b06..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/address-book-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/application-exit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/application-exit.png
deleted file mode 100644
index 1c6ddf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/application-exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/appointment-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/appointment-new.png
deleted file mode 100644
index d1cfd45..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/appointment-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/appointment.png b/build/htdocs/dist/themes/icons/default/16x16/actions/appointment.png
deleted file mode 100644
index d1cfd45..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/appointment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/back.png b/build/htdocs/dist/themes/icons/default/16x16/actions/back.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/back.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark-new.png
deleted file mode 100644
index 4dc0327..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark_add.png b/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark_add.png
deleted file mode 100644
index 4dc0327..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmark_add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmarks_list_add.png b/build/htdocs/dist/themes/icons/default/16x16/actions/bookmarks_list_add.png
deleted file mode 100644
index 4dc0327..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/bookmarks_list_add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/bottom.png b/build/htdocs/dist/themes/icons/default/16x16/actions/bottom.png
deleted file mode 100644
index 073ee66..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/call-start.png b/build/htdocs/dist/themes/icons/default/16x16/actions/call-start.png
deleted file mode 100644
index fbc983c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/call-start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/call-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/call-stop.png
deleted file mode 100644
index 428eb2b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/call-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/centrejust.png b/build/htdocs/dist/themes/icons/default/16x16/actions/centrejust.png
deleted file mode 100644
index 6fc98d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/centrejust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/contact-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/contact-new.png
deleted file mode 100644
index ee82c53..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/contact-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-new.png
deleted file mode 100644
index a995737..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-open-recent.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-open-recent.png
deleted file mode 100644
index aa5bb54..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-open-recent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-open.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-open.png
deleted file mode 100644
index 43c9e63..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-page-setup.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-page-setup.png
deleted file mode 100644
index 8e3ea0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-page-setup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-print-preview.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-print-preview.png
deleted file mode 100644
index 2346f92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-print.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-print.png
deleted file mode 100644
index b6e439c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-properties.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-properties.png
deleted file mode 100644
index 9229b3b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert-rtl.png
deleted file mode 100644
index 302df4d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert.png
deleted file mode 100644
index 27e2eda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-revert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-save-as.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-save-as.png
deleted file mode 100644
index d528533..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-save.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-save.png
deleted file mode 100644
index 8fee7bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/document-send.png b/build/htdocs/dist/themes/icons/default/16x16/actions/document-send.png
deleted file mode 100644
index 4a065e7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/document-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/down.png b/build/htdocs/dist/themes/icons/default/16x16/actions/down.png
deleted file mode 100644
index d228f04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-clear.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-clear.png
deleted file mode 100644
index 3be482d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-copy.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-copy.png
deleted file mode 100644
index a454881..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-cut.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-cut.png
deleted file mode 100644
index f579313..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-delete.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-delete.png
deleted file mode 100644
index ec35ed2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find-replace.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find-replace.png
deleted file mode 100644
index df956ab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find.png
deleted file mode 100644
index 05c6821..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-paste.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-paste.png
deleted file mode 100644
index 4458622..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo-rtl.png
deleted file mode 100644
index 48f0602..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo.png
deleted file mode 100644
index 3be0d9e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-select-all.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-select-all.png
deleted file mode 100644
index e7d21a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo-rtl.png
deleted file mode 100644
index f55b2ff..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo.png
deleted file mode 100644
index 750e3eb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/edit-undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/editclear.png b/build/htdocs/dist/themes/icons/default/16x16/actions/editclear.png
deleted file mode 100644
index 3be482d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/editclear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/editcopy.png b/build/htdocs/dist/themes/icons/default/16x16/actions/editcopy.png
deleted file mode 100644
index a454881..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/editcopy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/editcut.png b/build/htdocs/dist/themes/icons/default/16x16/actions/editcut.png
deleted file mode 100644
index f579313..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/editcut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/editdelete.png b/build/htdocs/dist/themes/icons/default/16x16/actions/editdelete.png
deleted file mode 100644
index ec35ed2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/editdelete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/editpaste.png b/build/htdocs/dist/themes/icons/default/16x16/actions/editpaste.png
deleted file mode 100644
index 4458622..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/editpaste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/exit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/exit.png
deleted file mode 100644
index 1c6ddf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/filefind.png b/build/htdocs/dist/themes/icons/default/16x16/actions/filefind.png
deleted file mode 100644
index 05c6821..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/filefind.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/filenew.png b/build/htdocs/dist/themes/icons/default/16x16/actions/filenew.png
deleted file mode 100644
index a995737..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/filenew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/fileopen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/fileopen.png
deleted file mode 100644
index 43c9e63..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/fileopen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/fileprint.png b/build/htdocs/dist/themes/icons/default/16x16/actions/fileprint.png
deleted file mode 100644
index b6e439c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/fileprint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/filequickprint.png b/build/htdocs/dist/themes/icons/default/16x16/actions/filequickprint.png
deleted file mode 100644
index 2346f92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/filequickprint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/filesave.png b/build/htdocs/dist/themes/icons/default/16x16/actions/filesave.png
deleted file mode 100644
index 8fee7bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/filesave.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/filesaveas.png b/build/htdocs/dist/themes/icons/default/16x16/actions/filesaveas.png
deleted file mode 100644
index d528533..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/filesaveas.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/find.png b/build/htdocs/dist/themes/icons/default/16x16/actions/find.png
deleted file mode 100644
index 05c6821..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/finish.png b/build/htdocs/dist/themes/icons/default/16x16/actions/finish.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/finish.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/folder-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/folder-new.png
deleted file mode 100644
index 69d60ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/folder-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/folder_new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/folder_new.png
deleted file mode 100644
index 69d60ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/folder_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less-rtl.png
deleted file mode 100644
index a6621ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less.png
deleted file mode 100644
index ed971bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-less.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more-rtl.png
deleted file mode 100644
index 37740f7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more.png
deleted file mode 100644
index 81b8859..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-indent-more.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-center.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-center.png
deleted file mode 100644
index 6fc98d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-fill.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-fill.png
deleted file mode 100644
index a210598..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-fill.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-left.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-left.png
deleted file mode 100644
index bedcff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-right.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-right.png
deleted file mode 100644
index 88f4217..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-justify-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-bold.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-bold.png
deleted file mode 100644
index fdf8a95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-ltr.png
deleted file mode 100644
index 679c2ec..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-rtl.png
deleted file mode 100644
index e0982ff..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-direction-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-italic.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-italic.png
deleted file mode 100644
index 2a217b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-strikethrough.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-strikethrough.png
deleted file mode 100644
index 580893d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-underline.png b/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-underline.png
deleted file mode 100644
index bd81df4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/format-text-underline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/forward.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-lockscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-lockscreen.png
deleted file mode 100644
index 05e3bd8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-lockscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-logout.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-logout.png
deleted file mode 100644
index ea40957..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-logout.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-run.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-run.png
deleted file mode 100644
index ad6d572..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-run.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-searchtool.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-searchtool.png
deleted file mode 100644
index a20f45c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-searchtool.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-shutdown.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-shutdown.png
deleted file mode 100644
index 3c628c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-shutdown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-fwd.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-fwd.png
deleted file mode 100644
index 6c7823f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-new.png
deleted file mode 100644
index a62d668..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-rpl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-rpl.png
deleted file mode 100644
index dd7acad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-rpl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-snd.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-snd.png
deleted file mode 100644
index c640c2b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-mail-snd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-indent.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-indent.png
deleted file mode 100644
index 81b8859..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-indent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-unindent.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-unindent.png
deleted file mode 100644
index ed971bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gnome-stock-text-unindent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-bottom.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-bottom.png
deleted file mode 100644
index 073ee66..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-down.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-down.png
deleted file mode 100644
index d228f04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-first-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-first-rtl.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-first-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-first.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-first.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-first.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-home.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-home.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-jump.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-jump.png
deleted file mode 100644
index b2a5c21..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-jump.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-last-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-last-rtl.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-last-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-last.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-last.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-last.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-next-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-next-rtl.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-next-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-next.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-next.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous-rtl.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-previous.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-top.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-top.png
deleted file mode 100644
index 78c254a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/go-up.png b/build/htdocs/dist/themes/icons/default/16x16/actions/go-up.png
deleted file mode 100644
index c7189e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/go-up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gohome.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gohome.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gohome.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-about.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-about.png
deleted file mode 100644
index 3d9d4da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-add.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-add.png
deleted file mode 100644
index 3f1347e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-bold.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-bold.png
deleted file mode 100644
index fdf8a95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cancel.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cancel.png
deleted file mode 100644
index 67815fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cancel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-clear.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-clear.png
deleted file mode 100644
index 3be482d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-close.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-close.png
deleted file mode 100644
index a033c4e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-copy.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-copy.png
deleted file mode 100644
index a454881..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cut.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cut.png
deleted file mode 100644
index f579313..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-delete.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-delete.png
deleted file mode 100644
index ec35ed2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-execute.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-execute.png
deleted file mode 100644
index ad6d572..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-execute.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find-and-replace.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find-and-replace.png
deleted file mode 100644
index df956ab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find-and-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find.png
deleted file mode 100644
index 05c6821..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-fullscreen.png
deleted file mode 100644
index 975fdfe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-ltr.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-rtl.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-back-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-down.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-down.png
deleted file mode 100644
index d228f04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-ltr.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-rtl.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-up.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-up.png
deleted file mode 100644
index c7189e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-go-up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-bottom.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-bottom.png
deleted file mode 100644
index 073ee66..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-ltr.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-rtl.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-first-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-ltr.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-rtl.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-last-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-top.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-top.png
deleted file mode 100644
index 78c254a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-goto-top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-help.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-help.png
deleted file mode 100644
index b2309d2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-home.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-home.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-ltr.png
deleted file mode 100644
index 81b8859..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-rtl.png
deleted file mode 100644
index ed971bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-indent-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-italic.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-italic.png
deleted file mode 100644
index 2a217b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-ltr.png
deleted file mode 100644
index b2a5c21..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-rtl.png
deleted file mode 100644
index b2a5c21..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-jump-to-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-center.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-center.png
deleted file mode 100644
index 6fc98d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-fill.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-fill.png
deleted file mode 100644
index a210598..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-fill.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-left.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-left.png
deleted file mode 100644
index bedcff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-right.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-right.png
deleted file mode 100644
index 88f4217..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-justify-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-leave-fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-leave-fullscreen.png
deleted file mode 100644
index ca14e83..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-leave-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-ltr.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-rtl.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-ltr.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-rtl.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-next-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-pause.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-pause.png
deleted file mode 100644
index c384034..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-play-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-play-ltr.png
deleted file mode 100644
index 7d39b2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-play-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-ltr.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-rtl.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-previous-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-record.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-record.png
deleted file mode 100644
index 8d893e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-ltr.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-rtl.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-rewind-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-stop.png
deleted file mode 100644
index 740bed0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-media-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-new.png
deleted file mode 100644
index a995737..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-open.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-open.png
deleted file mode 100644
index 43c9e63..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-paste.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-paste.png
deleted file mode 100644
index 4458622..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print-preview.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print-preview.png
deleted file mode 100644
index 2346f92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print.png
deleted file mode 100644
index b6e439c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-properties.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-properties.png
deleted file mode 100644
index 9229b3b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-quit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-quit.png
deleted file mode 100644
index 1c6ddf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-quit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-redo-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-redo-ltr.png
deleted file mode 100644
index 3be0d9e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-redo-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-refresh.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-refresh.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-remove.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-remove.png
deleted file mode 100644
index 28db302..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-ltr.png
deleted file mode 100644
index 27e2eda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-rtl.png
deleted file mode 100644
index 27e2eda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-revert-to-saved-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save-as.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save-as.png
deleted file mode 100644
index d528533..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save.png
deleted file mode 100644
index 8fee7bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-select-all.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-select-all.png
deleted file mode 100644
index e7d21a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-ascending.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-ascending.png
deleted file mode 100644
index 5ee08a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-ascending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-descending.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-descending.png
deleted file mode 100644
index 4a64e3c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-sort-descending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-spell-check.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-spell-check.png
deleted file mode 100644
index 39643a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-spell-check.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-stop.png
deleted file mode 100644
index 67815fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-strikethrough.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-strikethrough.png
deleted file mode 100644
index 580893d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-underline.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-underline.png
deleted file mode 100644
index bd81df4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-underline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-undo-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-undo-ltr.png
deleted file mode 100644
index 750e3eb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-undo-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-ltr.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-ltr.png
deleted file mode 100644
index ed971bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-rtl.png
deleted file mode 100644
index 81b8859..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-unindent-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-100.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-100.png
deleted file mode 100644
index b089a09..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-100.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-fit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-fit.png
deleted file mode 100644
index 2cea443..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-fit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-in.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-in.png
deleted file mode 100644
index c5b3936..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-out.png b/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-out.png
deleted file mode 100644
index 01399fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/gtk-zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/help-about.png b/build/htdocs/dist/themes/icons/default/16x16/actions/help-about.png
deleted file mode 100644
index 3d9d4da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/help-about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/help-contents.png b/build/htdocs/dist/themes/icons/default/16x16/actions/help-contents.png
deleted file mode 100644
index b2309d2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/help-contents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/help-faq.png b/build/htdocs/dist/themes/icons/default/16x16/actions/help-faq.png
deleted file mode 100644
index ade6da9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/help-faq.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/help.png b/build/htdocs/dist/themes/icons/default/16x16/actions/help.png
deleted file mode 100644
index b2309d2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-image.png b/build/htdocs/dist/themes/icons/default/16x16/actions/insert-image.png
deleted file mode 100644
index 6d7084b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-link.png b/build/htdocs/dist/themes/icons/default/16x16/actions/insert-link.png
deleted file mode 100644
index ba68f72..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-link.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-object.png b/build/htdocs/dist/themes/icons/default/16x16/actions/insert-object.png
deleted file mode 100644
index a51d5e0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-object.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-text.png b/build/htdocs/dist/themes/icons/default/16x16/actions/insert-text.png
deleted file mode 100644
index fdde4ec..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/insert-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/kfind.png b/build/htdocs/dist/themes/icons/default/16x16/actions/kfind.png
deleted file mode 100644
index a20f45c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/kfind.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/kfm_home.png b/build/htdocs/dist/themes/icons/default/16x16/actions/kfm_home.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/kfm_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/leftjust.png b/build/htdocs/dist/themes/icons/default/16x16/actions/leftjust.png
deleted file mode 100644
index bedcff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/leftjust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/list-add.png b/build/htdocs/dist/themes/icons/default/16x16/actions/list-add.png
deleted file mode 100644
index 3f1347e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/list-add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/list-remove.png b/build/htdocs/dist/themes/icons/default/16x16/actions/list-remove.png
deleted file mode 100644
index 28db302..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/list-remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/lock.png b/build/htdocs/dist/themes/icons/default/16x16/actions/lock.png
deleted file mode 100644
index 05e3bd8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-forward.png
deleted file mode 100644
index 6c7823f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-important.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-important.png
deleted file mode 100644
index 9b5f128..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-junk.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-junk.png
deleted file mode 100644
index 6e94c4d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-junk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-notjunk.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-notjunk.png
deleted file mode 100644
index 5c78c03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-notjunk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-read.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-read.png
deleted file mode 100644
index dc624bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-read.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-unread.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-unread.png
deleted file mode 100644
index c4ebbcf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-mark-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-message-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-message-new.png
deleted file mode 100644
index a62d668..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-message-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-all.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-all.png
deleted file mode 100644
index 5ddc59a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-sender.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-sender.png
deleted file mode 100644
index dd7acad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-reply-sender.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send-receive.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send-receive.png
deleted file mode 100644
index a3af872..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send.png
deleted file mode 100644
index c640c2b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_forward.png
deleted file mode 100644
index 6c7823f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_new.png
deleted file mode 100644
index a62d668..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_reply.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_reply.png
deleted file mode 100644
index dd7acad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_reply.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_replyall.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_replyall.png
deleted file mode 100644
index 5ddc59a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_replyall.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_send.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_send.png
deleted file mode 100644
index c640c2b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_spam.png b/build/htdocs/dist/themes/icons/default/16x16/actions/mail_spam.png
deleted file mode 100644
index 6e94c4d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/mail_spam.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-eject.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-eject.png
deleted file mode 100644
index 8e547d9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-eject.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-pause.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-pause.png
deleted file mode 100644
index c384034..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start-rtl.png
deleted file mode 100644
index dc463af..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start.png
deleted file mode 100644
index 7d39b2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-stop.png
deleted file mode 100644
index 740bed0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-playback-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-record.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-record.png
deleted file mode 100644
index 8d893e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward-rtl.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-backward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward-rtl.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-seek-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward-rtl.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-backward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward-rtl.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward-rtl.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/media-skip-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/next.png b/build/htdocs/dist/themes/icons/default/16x16/actions/next.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-horizontal.png b/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-horizontal.png
deleted file mode 100644
index 097a593..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-horizontal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-vertical.png b/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-vertical.png
deleted file mode 100644
index 9569613..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/object-flip-vertical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-left.png b/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-left.png
deleted file mode 100644
index 2ff5570..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-right.png b/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-right.png
deleted file mode 100644
index d51aaa5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/object-rotate-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_eject.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_eject.png
deleted file mode 100644
index 8e547d9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_eject.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_end.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_end.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_end.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_fwd.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_fwd.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_pause.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_pause.png
deleted file mode 100644
index c384034..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_play.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_play.png
deleted file mode 100644
index 7d39b2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_play.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_record.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_record.png
deleted file mode 100644
index 8d893e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_rew.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_rew.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_rew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_start.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_start.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/player_stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/player_stop.png
deleted file mode 100644
index 740bed0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/player_stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/previous.png b/build/htdocs/dist/themes/icons/default/16x16/actions/previous.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/previous.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/process-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/process-stop.png
deleted file mode 100644
index 67815fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/process-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/redhat-home.png b/build/htdocs/dist/themes/icons/default/16x16/actions/redhat-home.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/redhat-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/redo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/redo.png
deleted file mode 100644
index 3be0d9e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/reload.png b/build/htdocs/dist/themes/icons/default/16x16/actions/reload.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/reload.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/reload3.png b/build/htdocs/dist/themes/icons/default/16x16/actions/reload3.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/reload3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/reload_all_tabs.png b/build/htdocs/dist/themes/icons/default/16x16/actions/reload_all_tabs.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/reload_all_tabs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/reload_page.png b/build/htdocs/dist/themes/icons/default/16x16/actions/reload_page.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/reload_page.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/remove.png b/build/htdocs/dist/themes/icons/default/16x16/actions/remove.png
deleted file mode 100644
index 28db302..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/revert.png b/build/htdocs/dist/themes/icons/default/16x16/actions/revert.png
deleted file mode 100644
index 27e2eda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/revert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/rightjust.png b/build/htdocs/dist/themes/icons/default/16x16/actions/rightjust.png
deleted file mode 100644
index 88f4217..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/rightjust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/search.png b/build/htdocs/dist/themes/icons/default/16x16/actions/search.png
deleted file mode 100644
index a20f45c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/start.png b/build/htdocs/dist/themes/icons/default/16x16/actions/start.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_about.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_about.png
deleted file mode 100644
index 3d9d4da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_add-bookmark.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_add-bookmark.png
deleted file mode 100644
index 4dc0327..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_add-bookmark.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_bottom.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_bottom.png
deleted file mode 100644
index 073ee66..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_close.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_close.png
deleted file mode 100644
index a033c4e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_copy.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_copy.png
deleted file mode 100644
index a454881..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_cut.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_cut.png
deleted file mode 100644
index f579313..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_delete.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_delete.png
deleted file mode 100644
index ec35ed2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_down.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_down.png
deleted file mode 100644
index d228f04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_file-properites.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_file-properites.png
deleted file mode 100644
index 9229b3b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_file-properites.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_first.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_first.png
deleted file mode 100644
index 718cd36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_first.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_fullscreen.png
deleted file mode 100644
index 975fdfe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help-add-bookmark.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help-add-bookmark.png
deleted file mode 100644
index 4dc0327..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help-add-bookmark.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help.png
deleted file mode 100644
index b2309d2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_home.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_home.png
deleted file mode 100644
index 91af0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_last.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_last.png
deleted file mode 100644
index 578e66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_last.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_leave-fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_leave-fullscreen.png
deleted file mode 100644
index ca14e83..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_leave-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_left.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_left.png
deleted file mode 100644
index 12fed7f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-compose.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-compose.png
deleted file mode 100644
index a62d668..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-compose.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-forward.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-forward.png
deleted file mode 100644
index 6c7823f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply-to-all.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply-to-all.png
deleted file mode 100644
index 5ddc59a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply-to-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply.png
deleted file mode 100644
index dd7acad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-reply.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send-receive.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send-receive.png
deleted file mode 100644
index a3af872..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send.png
deleted file mode 100644
index c640c2b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_mail-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-fwd.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-fwd.png
deleted file mode 100644
index 0c93e1b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-next.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-next.png
deleted file mode 100644
index b55cfba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-pause.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-pause.png
deleted file mode 100644
index c384034..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-play.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-play.png
deleted file mode 100644
index 7d39b2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-play.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-prev.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-prev.png
deleted file mode 100644
index c01a665..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-prev.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rec.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rec.png
deleted file mode 100644
index 8d893e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rec.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rew.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rew.png
deleted file mode 100644
index a67dbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-rew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-stop.png
deleted file mode 100644
index 740bed0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_media-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-address-book.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-address-book.png
deleted file mode 100644
index 8023b06..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-address-book.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-appointment.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-appointment.png
deleted file mode 100644
index d1cfd45..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-appointment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-bcard.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-bcard.png
deleted file mode 100644
index ee82c53..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-bcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-dir.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-dir.png
deleted file mode 100644
index 69d60ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-dir.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-tab.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-tab.png
deleted file mode 100644
index a73fe6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-tab.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-text.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-text.png
deleted file mode 100644
index a995737..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-window.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-window.png
deleted file mode 100644
index 8cd21a1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_new-window.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_paste.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_paste.png
deleted file mode 100644
index 4458622..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-preview.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-preview.png
deleted file mode 100644
index 2346f92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-setup.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-setup.png
deleted file mode 100644
index 8e3ea0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print-setup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print.png
deleted file mode 100644
index b6e439c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_properties.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_properties.png
deleted file mode 100644
index 9229b3b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_redo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_redo.png
deleted file mode 100644
index 3be0d9e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_refresh.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_refresh.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_right.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_right.png
deleted file mode 100644
index 1ae0411..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save-as.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save-as.png
deleted file mode 100644
index d528533..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save.png
deleted file mode 100644
index 8fee7bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search-and-replace.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search-and-replace.png
deleted file mode 100644
index df956ab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search-and-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search.png
deleted file mode 100644
index 05c6821..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_select-all.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_select-all.png
deleted file mode 100644
index e7d21a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spam.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spam.png
deleted file mode 100644
index 6e94c4d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spam.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spellcheck.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spellcheck.png
deleted file mode 100644
index 39643a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_spellcheck.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_stop.png
deleted file mode 100644
index 67815fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text-strikethrough.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text-strikethrough.png
deleted file mode 100644
index 580893d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_bold.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_bold.png
deleted file mode 100644
index fdf8a95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_center.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_center.png
deleted file mode 100644
index 6fc98d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_indent.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_indent.png
deleted file mode 100644
index 81b8859..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_indent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_italic.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_italic.png
deleted file mode 100644
index 2a217b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_justify.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_justify.png
deleted file mode 100644
index a210598..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_justify.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_left.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_left.png
deleted file mode 100644
index bedcff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_right.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_right.png
deleted file mode 100644
index 88f4217..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_underlined.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_underlined.png
deleted file mode 100644
index bd81df4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_underlined.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_unindent.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_unindent.png
deleted file mode 100644
index ed971bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_text_unindent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_top.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_top.png
deleted file mode 100644
index 78c254a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_undo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_undo.png
deleted file mode 100644
index 750e3eb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_up.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_up.png
deleted file mode 100644
index c7189e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-1.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-1.png
deleted file mode 100644
index b089a09..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-in.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-in.png
deleted file mode 100644
index c5b3936..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-out.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-out.png
deleted file mode 100644
index 01399fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-page.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-page.png
deleted file mode 100644
index 2cea443..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stock_zoom-page.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/stop.png b/build/htdocs/dist/themes/icons/default/16x16/actions/stop.png
deleted file mode 100644
index 67815fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/system-lock-screen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/system-lock-screen.png
deleted file mode 100644
index 05e3bd8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/system-lock-screen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/system-log-out.png b/build/htdocs/dist/themes/icons/default/16x16/actions/system-log-out.png
deleted file mode 100644
index ea40957..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/system-log-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/system-run.png b/build/htdocs/dist/themes/icons/default/16x16/actions/system-run.png
deleted file mode 100644
index ad6d572..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/system-run.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/system-search.png b/build/htdocs/dist/themes/icons/default/16x16/actions/system-search.png
deleted file mode 100644
index a20f45c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/system-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/system-shutdown.png b/build/htdocs/dist/themes/icons/default/16x16/actions/system-shutdown.png
deleted file mode 100644
index 3c628c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/system-shutdown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/tab-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/tab-new.png
deleted file mode 100644
index a73fe6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/tab-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/tab_new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/tab_new.png
deleted file mode 100644
index a73fe6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/tab_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/text_bold.png b/build/htdocs/dist/themes/icons/default/16x16/actions/text_bold.png
deleted file mode 100644
index fdf8a95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/text_bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/text_italic.png b/build/htdocs/dist/themes/icons/default/16x16/actions/text_italic.png
deleted file mode 100644
index 2a217b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/text_italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/text_strike.png b/build/htdocs/dist/themes/icons/default/16x16/actions/text_strike.png
deleted file mode 100644
index 580893d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/text_strike.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/text_under.png b/build/htdocs/dist/themes/icons/default/16x16/actions/text_under.png
deleted file mode 100644
index bd81df4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/text_under.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/tools-check-spelling.png b/build/htdocs/dist/themes/icons/default/16x16/actions/tools-check-spelling.png
deleted file mode 100644
index 39643a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/tools-check-spelling.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/top.png b/build/htdocs/dist/themes/icons/default/16x16/actions/top.png
deleted file mode 100644
index 78c254a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/undo.png b/build/htdocs/dist/themes/icons/default/16x16/actions/undo.png
deleted file mode 100644
index 750e3eb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/up.png b/build/htdocs/dist/themes/icons/default/16x16/actions/up.png
deleted file mode 100644
index c7189e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/view-fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/view-fullscreen.png
deleted file mode 100644
index 975fdfe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/view-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/view-refresh.png b/build/htdocs/dist/themes/icons/default/16x16/actions/view-refresh.png
deleted file mode 100644
index 3af6f42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/view-refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/view-restore.png b/build/htdocs/dist/themes/icons/default/16x16/actions/view-restore.png
deleted file mode 100644
index ca14e83..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/view-restore.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-ascending.png b/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-ascending.png
deleted file mode 100644
index 5ee08a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-ascending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-descending.png b/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-descending.png
deleted file mode 100644
index 4a64e3c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/view-sort-descending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag+.png b/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag+.png
deleted file mode 100644
index c5b3936..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag+.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag-.png b/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag-.png
deleted file mode 100644
index 01399fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag-.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag1.png b/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag1.png
deleted file mode 100644
index b089a09..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmag1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmagfit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/viewmagfit.png
deleted file mode 100644
index 2cea443..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/viewmagfit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/window-close.png b/build/htdocs/dist/themes/icons/default/16x16/actions/window-close.png
deleted file mode 100644
index a033c4e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/window-close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/window-new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/window-new.png
deleted file mode 100644
index 8cd21a1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/window-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/window_fullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/window_fullscreen.png
deleted file mode 100644
index 975fdfe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/window_fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/window_new.png b/build/htdocs/dist/themes/icons/default/16x16/actions/window_new.png
deleted file mode 100644
index 8cd21a1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/window_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/window_nofullscreen.png b/build/htdocs/dist/themes/icons/default/16x16/actions/window_nofullscreen.png
deleted file mode 100644
index ca14e83..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/window_nofullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-exit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-exit.png
deleted file mode 100644
index 1c6ddf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-lock.png b/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-lock.png
deleted file mode 100644
index 05e3bd8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/xfce-system-lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-best-fit.png b/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-best-fit.png
deleted file mode 100644
index 2cea443..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-best-fit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-fit-best.png b/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-fit-best.png
deleted file mode 100644
index 2cea443..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-fit-best.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-in.png b/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-in.png
deleted file mode 100644
index c5b3936..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-original.png b/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-original.png
deleted file mode 100644
index b089a09..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-original.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-out.png b/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-out.png
deleted file mode 100644
index 01399fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/actions/zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/animations/gnome-spinner.png b/build/htdocs/dist/themes/icons/default/16x16/animations/gnome-spinner.png
deleted file mode 100644
index 5e0a4cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/animations/gnome-spinner.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/animations/process-working.png b/build/htdocs/dist/themes/icons/default/16x16/animations/process-working.png
deleted file mode 100644
index 5e0a4cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/animations/process-working.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/access.png b/build/htdocs/dist/themes/icons/default/16x16/apps/access.png
deleted file mode 100644
index 2c1ace5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/access.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/accessibility-directory.png b/build/htdocs/dist/themes/icons/default/16x16/apps/accessibility-directory.png
deleted file mode 100644
index 2c1ace5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/accessibility-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-calculator.png b/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-calculator.png
deleted file mode 100644
index b9e6f70..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-calculator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-character-map.png b/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-character-map.png
deleted file mode 100644
index 1a1fbaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-character-map.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-dictionary.png b/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-dictionary.png
deleted file mode 100644
index c466bda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-dictionary.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-text-editor.png b/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-text-editor.png
deleted file mode 100644
index af6336f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/accessories-text-editor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/applets-screenshooter.png b/build/htdocs/dist/themes/icons/default/16x16/apps/applets-screenshooter.png
deleted file mode 100644
index 961f48c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/applets-screenshooter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/arts.png b/build/htdocs/dist/themes/icons/default/16x16/apps/arts.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/arts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/background.png b/build/htdocs/dist/themes/icons/default/16x16/apps/background.png
deleted file mode 100644
index 61fc3d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/background.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/calc.png b/build/htdocs/dist/themes/icons/default/16x16/apps/calc.png
deleted file mode 100644
index b9e6f70..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/config-language.png b/build/htdocs/dist/themes/icons/default/16x16/apps/config-language.png
deleted file mode 100644
index 50b1aab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/config-language.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/config-users.png b/build/htdocs/dist/themes/icons/default/16x16/apps/config-users.png
deleted file mode 100644
index ed1fb60..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/config-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/file-manager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/file-manager.png
deleted file mode 100644
index 90552df..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/file-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/fonts.png b/build/htdocs/dist/themes/icons/default/16x16/apps/fonts.png
deleted file mode 100644
index 6c7e349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/fonts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-calculator.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-calculator.png
deleted file mode 100644
index b9e6f70..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-calculator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-character-map.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-character-map.png
deleted file mode 100644
index 1a1fbaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-character-map.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-help.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-help.png
deleted file mode 100644
index 0a986b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-mixer.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-mixer.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-mixer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-monitor.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-monitor.png
deleted file mode 100644
index 1b0c236..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-monitor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel-notification-area.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel-notification-area.png
deleted file mode 100644
index 3d7b00c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel-notification-area.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel.png
deleted file mode 100644
index f841cb4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-panel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-remote-desktop.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-remote-desktop.png
deleted file mode 100644
index 5051d7c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-remote-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-accessibility-technologies.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-accessibility-technologies.png
deleted file mode 100644
index 2c1ace5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-accessibility-technologies.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-background.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-background.png
deleted file mode 100644
index 61fc3d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-background.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-font.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-font.png
deleted file mode 100644
index 6c7e349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-keybindings.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-keybindings.png
deleted file mode 100644
index b52f371..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-keybindings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-theme.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-theme.png
deleted file mode 100644
index b3d4100..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-settings-theme.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-terminal.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-terminal.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-window-manager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-window-manager.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gnome-window-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/gucharmap.png b/build/htdocs/dist/themes/icons/default/16x16/apps/gucharmap.png
deleted file mode 100644
index 1a1fbaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/gucharmap.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/help-browser.png b/build/htdocs/dist/themes/icons/default/16x16/apps/help-browser.png
deleted file mode 100644
index 0a986b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/help-browser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kcalc.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kcalc.png
deleted file mode 100644
index b9e6f70..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kcalc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kcharselect.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kcharselect.png
deleted file mode 100644
index 1a1fbaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kcharselect.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kcmkwm.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kcmkwm.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kcmkwm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kcmsound.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kcmsound.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kcmsound.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kedit.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kedit.png
deleted file mode 100644
index af6336f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kedit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/key_bindings.png b/build/htdocs/dist/themes/icons/default/16x16/apps/key_bindings.png
deleted file mode 100644
index b52f371..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/key_bindings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kfm.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kfm.png
deleted file mode 100644
index 90552df..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kfm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/khelpcenter.png b/build/htdocs/dist/themes/icons/default/16x16/apps/khelpcenter.png
deleted file mode 100644
index 0a986b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/khelpcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/konsole.png b/build/htdocs/dist/themes/icons/default/16x16/apps/konsole.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/konsole.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/krfb.png b/build/htdocs/dist/themes/icons/default/16x16/apps/krfb.png
deleted file mode 100644
index 5051d7c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/krfb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kscreensaver.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kscreensaver.png
deleted file mode 100644
index da90e77..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kscreensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/ksysguard.png b/build/htdocs/dist/themes/icons/default/16x16/apps/ksysguard.png
deleted file mode 100644
index 1b0c236..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/ksysguard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kuser.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kuser.png
deleted file mode 100644
index ed1fb60..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kuser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/kwin.png b/build/htdocs/dist/themes/icons/default/16x16/apps/kwin.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/kwin.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-base.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-base.png
deleted file mode 100644
index 3465f32..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-base.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-calc.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-calc.png
deleted file mode 100644
index 3f1f4ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-draw.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-draw.png
deleted file mode 100644
index 94bc2aa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-draw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-impress.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-impress.png
deleted file mode 100644
index 75d94f0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-main.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-main.png
deleted file mode 100644
index 2459b2a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-main.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-math.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-math.png
deleted file mode 100644
index ab945b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-math.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-printeradmin.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-printeradmin.png
deleted file mode 100644
index 7f2a946..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-printeradmin.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-startcenter.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-startcenter.png
deleted file mode 100644
index 2459b2a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-startcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-writer.png b/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-writer.png
deleted file mode 100644
index 1aacbb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/libreoffice34-writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/locale.png b/build/htdocs/dist/themes/icons/default/16x16/apps/locale.png
deleted file mode 100644
index 50b1aab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/locale.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia-volume-control.png b/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia-volume-control.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia-volume-control.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia.png b/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/openterm.png b/build/htdocs/dist/themes/icons/default/16x16/apps/openterm.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/openterm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-accessibility.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-accessibility.png
deleted file mode 100644
index 2c1ace5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-accessibility.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-display.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-display.png
deleted file mode 100644
index c172499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-font.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-font.png
deleted file mode 100644
index 6c7e349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard-shortcuts.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard-shortcuts.png
deleted file mode 100644
index b52f371..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard-shortcuts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard.png
deleted file mode 100644
index 535b914..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-locale.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-locale.png
deleted file mode 100644
index 50b1aab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-locale.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-remote-desktop.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-remote-desktop.png
deleted file mode 100644
index 5051d7c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-remote-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-screensaver.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-screensaver.png
deleted file mode 100644
index da90e77..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-screensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-theme.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-theme.png
deleted file mode 100644
index b3d4100..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-theme.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-wallpaper.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-wallpaper.png
deleted file mode 100644
index 61fc3d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-desktop-wallpaper.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-system-windows.png b/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-system-windows.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/preferences-system-windows.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/redhat-filemanager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/redhat-filemanager.png
deleted file mode 100644
index 90552df..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/redhat-filemanager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/screensaver.png b/build/htdocs/dist/themes/icons/default/16x16/apps/screensaver.png
deleted file mode 100644
index da90e77..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/screensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/style.png b/build/htdocs/dist/themes/icons/default/16x16/apps/style.png
deleted file mode 100644
index b3d4100..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/style.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/susehelpcenter.png b/build/htdocs/dist/themes/icons/default/16x16/apps/susehelpcenter.png
deleted file mode 100644
index 0a986b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/susehelpcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/system-config-users.png b/build/htdocs/dist/themes/icons/default/16x16/apps/system-config-users.png
deleted file mode 100644
index ed1fb60..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/system-config-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/system-file-manager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/system-file-manager.png
deleted file mode 100644
index 90552df..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/system-file-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-install.png b/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-install.png
deleted file mode 100644
index 98969ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-install.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-update.png b/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-update.png
deleted file mode 100644
index 7c13db5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/system-software-update.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/system-users.png b/build/htdocs/dist/themes/icons/default/16x16/apps/system-users.png
deleted file mode 100644
index ed1fb60..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/system-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/terminal.png b/build/htdocs/dist/themes/icons/default/16x16/apps/terminal.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/text-editor.png b/build/htdocs/dist/themes/icons/default/16x16/apps/text-editor.png
deleted file mode 100644
index af6336f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/text-editor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/update-manager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/update-manager.png
deleted file mode 100644
index 7c13db5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/update-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/user-info.png b/build/htdocs/dist/themes/icons/default/16x16/apps/user-info.png
deleted file mode 100644
index c8077d4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/user-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-system-monitor.png b/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-system-monitor.png
deleted file mode 100644
index 1b0c236..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-system-monitor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-terminal.png b/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-terminal.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/utilities-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/volume-knob.png b/build/htdocs/dist/themes/icons/default/16x16/apps/volume-knob.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/volume-knob.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/wallpaper.png b/build/htdocs/dist/themes/icons/default/16x16/apps/wallpaper.png
deleted file mode 100644
index 61fc3d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/wallpaper.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/web-browser.png b/build/htdocs/dist/themes/icons/default/16x16/apps/web-browser.png
deleted file mode 100644
index 67f5053..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/web-browser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-filemanager.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-filemanager.png
deleted file mode 100644
index 90552df..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-filemanager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-terminal.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-terminal.png
deleted file mode 100644
index c0e6c0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-backdrop.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-backdrop.png
deleted file mode 100644
index 61fc3d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-backdrop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-mixer.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-mixer.png
deleted file mode 100644
index 07ec24c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xfce4-mixer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xfwm4.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xfwm4.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xfwm4.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/xscreensaver.png b/build/htdocs/dist/themes/icons/default/16x16/apps/xscreensaver.png
deleted file mode 100644
index da90e77..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/xscreensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/apps/zen-icon.png b/build/htdocs/dist/themes/icons/default/16x16/apps/zen-icon.png
deleted file mode 100644
index 7c13db5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/apps/zen-icon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-accessories.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-accessories.png
deleted file mode 100644
index a2f41f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-accessories.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-development.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-development.png
deleted file mode 100644
index 59e186a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-development.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-engineering.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-engineering.png
deleted file mode 100644
index 4f4ad2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-engineering.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-games.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-games.png
deleted file mode 100644
index f28208f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-graphics.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-graphics.png
deleted file mode 100644
index 66e46cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-internet.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-internet.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-multimedia.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-multimedia.png
deleted file mode 100644
index b25afaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-office.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-office.png
deleted file mode 100644
index 981db6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-other.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-other.png
deleted file mode 100644
index 4530760..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-science.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-science.png
deleted file mode 100644
index 14de63c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-science.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-system.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-system.png
deleted file mode 100644
index 6c5284d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-utilities.png b/build/htdocs/dist/themes/icons/default/16x16/categories/applications-utilities.png
deleted file mode 100644
index ad5722b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/applications-utilities.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-applications.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-applications.png
deleted file mode 100644
index 981db6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-applications.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-control-center.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-control-center.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-control-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-devel.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-devel.png
deleted file mode 100644
index 59e186a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-devel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-globe.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-globe.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-globe.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-graphics.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-graphics.png
deleted file mode 100644
index 66e46cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-joystick.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-joystick.png
deleted file mode 100644
index f28208f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-multimedia.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-multimedia.png
deleted file mode 100644
index b25afaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-other.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-other.png
deleted file mode 100644
index 4530760..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-settings.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-system.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-system.png
deleted file mode 100644
index 6c5284d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-util.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-util.png
deleted file mode 100644
index a2f41f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gnome-util.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/gtk-preferences.png b/build/htdocs/dist/themes/icons/default/16x16/categories/gtk-preferences.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/gtk-preferences.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/input_devices_settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/input_devices_settings.png
deleted file mode 100644
index 400ef53..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/input_devices_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/kcontrol.png b/build/htdocs/dist/themes/icons/default/16x16/categories/kcontrol.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/kcontrol.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_development.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_development.png
deleted file mode 100644
index 59e186a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_development.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_games.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_games.png
deleted file mode 100644
index f28208f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_graphics.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_graphics.png
deleted file mode 100644
index 66e46cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_multimedia.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_multimedia.png
deleted file mode 100644
index b25afaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_network.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_network.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_office.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_office.png
deleted file mode 100644
index 981db6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_settings.png
deleted file mode 100644
index eb28840..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_system.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_system.png
deleted file mode 100644
index 6c5284d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/package_utilities.png b/build/htdocs/dist/themes/icons/default/16x16/categories/package_utilities.png
deleted file mode 100644
index a2f41f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/package_utilities.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-peripherals.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-peripherals.png
deleted file mode 100644
index 400ef53..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-peripherals.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-personal.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-personal.png
deleted file mode 100644
index 57ce63c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop-personal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-other.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-other.png
deleted file mode 100644
index 26aa6e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system-network.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system-network.png
deleted file mode 100644
index d08f264..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system.png b/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system.png
deleted file mode 100644
index eb28840..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/preferences-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-accessories.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-accessories.png
deleted file mode 100644
index a2f41f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-accessories.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-games.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-games.png
deleted file mode 100644
index f28208f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-graphics.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-graphics.png
deleted file mode 100644
index 66e46cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-internet.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-internet.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-office.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-office.png
deleted file mode 100644
index 981db6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-preferences.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-preferences.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-preferences.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-programming.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-programming.png
deleted file mode 100644
index 59e186a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-programming.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-sound_video.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-sound_video.png
deleted file mode 100644
index b25afaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-sound_video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_settings.png
deleted file mode 100644
index eb28840..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_tools.png b/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_tools.png
deleted file mode 100644
index 6c5284d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/redhat-system_tools.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/stock_internet.png b/build/htdocs/dist/themes/icons/default/16x16/categories/stock_internet.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/stock_internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/system-help.png b/build/htdocs/dist/themes/icons/default/16x16/categories/system-help.png
deleted file mode 100644
index edd850a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/system-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-games.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-games.png
deleted file mode 100644
index f28208f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-graphics.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-graphics.png
deleted file mode 100644
index 66e46cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-internet.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-internet.png
deleted file mode 100644
index 36756bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-multimedia.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-multimedia.png
deleted file mode 100644
index b25afaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-office.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-office.png
deleted file mode 100644
index 981db6a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-system-settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-system-settings.png
deleted file mode 100644
index eb28840..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-system-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-utils.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-utils.png
deleted file mode 100644
index a2f41f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce-utils.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce4-settings.png b/build/htdocs/dist/themes/icons/default/16x16/categories/xfce4-settings.png
deleted file mode 100644
index 84da587..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/categories/xfce4-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/3floppy_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/3floppy_unmount.png
deleted file mode 100644
index 15eb867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/3floppy_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/ac-adapter.png b/build/htdocs/dist/themes/icons/default/16x16/devices/ac-adapter.png
deleted file mode 100644
index cbd8284..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/ac-adapter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/audio-card.png b/build/htdocs/dist/themes/icons/default/16x16/devices/audio-card.png
deleted file mode 100644
index ee746a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/audio-card.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/audio-input-microphone.png b/build/htdocs/dist/themes/icons/default/16x16/devices/audio-input-microphone.png
deleted file mode 100644
index c85d912..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/audio-input-microphone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/battery.png b/build/htdocs/dist/themes/icons/default/16x16/devices/battery.png
deleted file mode 100644
index 3111404..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/battery.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-photo.png b/build/htdocs/dist/themes/icons/default/16x16/devices/camera-photo.png
deleted file mode 100644
index 13eaf2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-photo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-video.png b/build/htdocs/dist/themes/icons/default/16x16/devices/camera-video.png
deleted file mode 100644
index 651fd96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-web.png b/build/htdocs/dist/themes/icons/default/16x16/devices/camera-web.png
deleted file mode 100644
index 63a81b0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/camera-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/camera.png b/build/htdocs/dist/themes/icons/default/16x16/devices/camera.png
deleted file mode 100644
index 13eaf2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/camera.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/camera_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/camera_unmount.png
deleted file mode 100644
index 13eaf2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/camera_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/cdrom_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/cdrom_unmount.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/cdrom_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/cdwriter_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/cdwriter_unmount.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/cdwriter_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/chardevice.png b/build/htdocs/dist/themes/icons/default/16x16/devices/chardevice.png
deleted file mode 100644
index e0fa075..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/chardevice.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/computer-apple-ipad.png b/build/htdocs/dist/themes/icons/default/16x16/devices/computer-apple-ipad.png
deleted file mode 100644
index edffd40..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/computer-apple-ipad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/computer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/computer.png
deleted file mode 100644
index 8b53536..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/computer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/display.png b/build/htdocs/dist/themes/icons/default/16x16/devices/display.png
deleted file mode 100644
index e0fa075..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-cdrom.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-cdrom.png
deleted file mode 100644
index 174e6ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-ieee1394.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-ieee1394.png
deleted file mode 100644
index 7865c41..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-ieee1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-system.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-system.png
deleted file mode 100644
index b4c9a92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-usb.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-usb.png
deleted file mode 100644
index d07c454..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-optical.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-optical.png
deleted file mode 100644
index 174e6ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-removable-media.png b/build/htdocs/dist/themes/icons/default/16x16/devices/drive-removable-media.png
deleted file mode 100644
index 9b027a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/drive-removable-media.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/dvd_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/dvd_unmount.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/dvd_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-battery.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-battery.png
deleted file mode 100644
index 3111404..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-battery.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom-audio.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom-audio.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom.png
deleted file mode 100644
index 174e6ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-computer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-computer.png
deleted file mode 100644
index 8b53536..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-computer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdr.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdr.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdrw.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdrw.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-cdrw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr-plus.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr-plus.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr-plus.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdram.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdram.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdram.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrom.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrom.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrw.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrw.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-disc-dvdrw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-dvd.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-dvd.png
deleted file mode 100644
index 174e6ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-dvd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ethernet.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ethernet.png
deleted file mode 100644
index 02f636a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ethernet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-floppy.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-floppy.png
deleted file mode 100644
index 15eb867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-1394.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-1394.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-usb.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-usb.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ipod.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ipod.png
deleted file mode 100644
index dc22324..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-ipod.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-keyboard.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-keyboard.png
deleted file mode 100644
index aafa1ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-cf.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-cf.png
deleted file mode 100644
index be67c0b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-cf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-ms.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-ms.png
deleted file mode 100644
index be67c0b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-ms.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sdmmc.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sdmmc.png
deleted file mode 100644
index be67c0b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sdmmc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sm.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sm.png
deleted file mode 100644
index be67c0b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-media-sm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-ball.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-ball.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-ball.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-optical.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-optical.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-mouse-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-printer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-printer.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-1394.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-1394.png
deleted file mode 100644
index 9b027a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-usb.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-usb.png
deleted file mode 100644
index 9b027a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable.png
deleted file mode 100644
index 9b027a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-removable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-wavelan.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-wavelan.png
deleted file mode 100644
index 0331faa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-dev-wavelan.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-fs-client.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-fs-client.png
deleted file mode 100644
index 8b53536..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-fs-client.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-modem.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-modem.png
deleted file mode 100644
index 6bce1b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-modem.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-stock-mic.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-stock-mic.png
deleted file mode 100644
index c85d912..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gnome-stock-mic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-cdrom.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-cdrom.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-floppy.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-floppy.png
deleted file mode 100644
index 15eb867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-harddisk.png b/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-harddisk.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/gtk-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/harddrive.png b/build/htdocs/dist/themes/icons/default/16x16/devices/harddrive.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/harddrive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/hdd_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/hdd_unmount.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/hdd_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-dialpad.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-dialpad.png
deleted file mode 100644
index 131553e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-dialpad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-gaming.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-gaming.png
deleted file mode 100644
index a28f32a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-gaming.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-keyboard.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-keyboard.png
deleted file mode 100644
index aafa1ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-mouse.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-mouse.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-tablet.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-tablet.png
deleted file mode 100644
index a77ee76..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-tablet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/input-touchpad.png b/build/htdocs/dist/themes/icons/default/16x16/devices/input-touchpad.png
deleted file mode 100644
index c91f228..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/input-touchpad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/ipod_mount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/ipod_mount.png
deleted file mode 100644
index dc22324..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/ipod_mount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/joystick.png b/build/htdocs/dist/themes/icons/default/16x16/devices/joystick.png
deleted file mode 100644
index a28f32a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/keyboard.png b/build/htdocs/dist/themes/icons/default/16x16/devices/keyboard.png
deleted file mode 100644
index aafa1ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/kjobviewer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/kjobviewer.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/kjobviewer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/kxkb.png b/build/htdocs/dist/themes/icons/default/16x16/devices/kxkb.png
deleted file mode 100644
index aafa1ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/kxkb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-cdrom.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-cdrom.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-flash.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-flash.png
deleted file mode 100644
index be67c0b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-flash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-floppy.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-floppy.png
deleted file mode 100644
index 15eb867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-bd.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-bd.png
deleted file mode 100644
index 02ad46a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-bd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-cd-audio.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-cd-audio.png
deleted file mode 100644
index 76b4ded..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-cd-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-dvd.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-dvd.png
deleted file mode 100644
index 8057196..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical-dvd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical.png
deleted file mode 100644
index dd1dbcd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-removable.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-removable.png
deleted file mode 100644
index d38fa13..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-removable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-tape.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-tape.png
deleted file mode 100644
index 884835e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-tape.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/media-zip.png b/build/htdocs/dist/themes/icons/default/16x16/devices/media-zip.png
deleted file mode 100644
index f5efced..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/media-zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/modem.png b/build/htdocs/dist/themes/icons/default/16x16/devices/modem.png
deleted file mode 100644
index 6bce1b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/modem.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/mouse.png b/build/htdocs/dist/themes/icons/default/16x16/devices/mouse.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player-apple-ipod-touch.png b/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player-apple-ipod-touch.png
deleted file mode 100644
index 629e19b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player-apple-ipod-touch.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player.png b/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player.png
deleted file mode 100644
index dc22324..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/multimedia-player.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/network-vpn.png b/build/htdocs/dist/themes/icons/default/16x16/devices/network-vpn.png
deleted file mode 100644
index aa5c5cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/network-vpn.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/network-wired.png b/build/htdocs/dist/themes/icons/default/16x16/devices/network-wired.png
deleted file mode 100644
index 02f636a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/network-wired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/network-wireless.png b/build/htdocs/dist/themes/icons/default/16x16/devices/network-wireless.png
deleted file mode 100644
index 0331faa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/network-wireless.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/pda.png b/build/htdocs/dist/themes/icons/default/16x16/devices/pda.png
deleted file mode 100644
index d882a83..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/pda.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-apple-iphone.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone-apple-iphone.png
deleted file mode 100644
index c01ce8a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-apple-iphone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-google-nexus-one.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone-google-nexus-one.png
deleted file mode 100644
index c468d6c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-google-nexus-one.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-htc-g1-white.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone-htc-g1-white.png
deleted file mode 100644
index 8f26366..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-htc-g1-white.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-palm-pre.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone-palm-pre.png
deleted file mode 100644
index 4548d31..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-palm-pre.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-samsung-galaxy-s.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone-samsung-galaxy-s.png
deleted file mode 100644
index d5f9ae2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone-samsung-galaxy-s.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/phone.png b/build/htdocs/dist/themes/icons/default/16x16/devices/phone.png
deleted file mode 100644
index e1b7762..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/phone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/printer-network.png b/build/htdocs/dist/themes/icons/default/16x16/devices/printer-network.png
deleted file mode 100644
index 837e77b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/printer-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/printer-remote.png b/build/htdocs/dist/themes/icons/default/16x16/devices/printer-remote.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/printer-remote.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/printer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/printer.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/printer1.png b/build/htdocs/dist/themes/icons/default/16x16/devices/printer1.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/printer1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/printmgr.png b/build/htdocs/dist/themes/icons/default/16x16/devices/printmgr.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/printmgr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/scanner.png b/build/htdocs/dist/themes/icons/default/16x16/devices/scanner.png
deleted file mode 100644
index 23e5cb4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/scanner.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/speaker.png b/build/htdocs/dist/themes/icons/default/16x16/devices/speaker.png
deleted file mode 100644
index 7ec3c2a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/speaker.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_cell-phone.png b/build/htdocs/dist/themes/icons/default/16x16/devices/stock_cell-phone.png
deleted file mode 100644
index e1b7762..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_cell-phone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_mic.png b/build/htdocs/dist/themes/icons/default/16x16/devices/stock_mic.png
deleted file mode 100644
index c85d912..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_mic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_printers.png b/build/htdocs/dist/themes/icons/default/16x16/devices/stock_printers.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/stock_printers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/system-floppy.png b/build/htdocs/dist/themes/icons/default/16x16/devices/system-floppy.png
deleted file mode 100644
index 15eb867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/system-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/system.png b/build/htdocs/dist/themes/icons/default/16x16/devices/system.png
deleted file mode 100644
index 8b53536..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/usbpendrive_unmount.png b/build/htdocs/dist/themes/icons/default/16x16/devices/usbpendrive_unmount.png
deleted file mode 100644
index 9b027a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/usbpendrive_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/video-display.png b/build/htdocs/dist/themes/icons/default/16x16/devices/video-display.png
deleted file mode 100644
index e0fa075..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/video-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce-printer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/xfce-printer.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce-printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-display.png b/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-display.png
deleted file mode 100644
index e0fa075..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-keyboard.png b/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-keyboard.png
deleted file mode 100644
index aafa1ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-mouse.png b/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-mouse.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/xfce4-mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_HD.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_HD.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_HD.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_idetude.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_idetude.png
deleted file mode 100644
index ae804a2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_idetude.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_joystick.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_joystick.png
deleted file mode 100644
index a28f32a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_mouse.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_mouse.png
deleted file mode 100644
index 4266677..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_printer.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_printer.png
deleted file mode 100644
index 7578b29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_soundcard.png b/build/htdocs/dist/themes/icons/default/16x16/devices/yast_soundcard.png
deleted file mode 100644
index ee746a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/devices/yast_soundcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-default.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-default.png
deleted file mode 100644
index 8e07437..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-default.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-documents.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-documents.png
deleted file mode 100644
index 71937d6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-documents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-downloads.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-downloads.png
deleted file mode 100644
index 504d94e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-downloads.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-favorite.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-favorite.png
deleted file mode 100644
index 6d73609..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-favorite.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-generic.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-generic.png
deleted file mode 100644
index 80f4374..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-important.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-important.png
deleted file mode 100644
index c95ed50..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-mail.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-mail.png
deleted file mode 100644
index a96bdfb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-mail.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-new.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-new.png
deleted file mode 100644
index 283ead7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-noread.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-noread.png
deleted file mode 100644
index 8aa4a46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-noread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-nowrite.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-nowrite.png
deleted file mode 100644
index 2baa4f0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-nowrite.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-package.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-package.png
deleted file mode 100644
index b933edd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-photos.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-photos.png
deleted file mode 100644
index dc95aaa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-photos.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-readonly.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-readonly.png
deleted file mode 100644
index 2baa4f0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-readonly.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-shared.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-shared.png
deleted file mode 100644
index 374be37..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-shared.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-symbolic-link.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-symbolic-link.png
deleted file mode 100644
index 6847452..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-symbolic-link.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-synchronizing.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-synchronizing.png
deleted file mode 100644
index 61e854c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-synchronizing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-system.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-system.png
deleted file mode 100644
index cf2cea1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-unreadable.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-unreadable.png
deleted file mode 100644
index 8aa4a46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-unreadable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-urgent.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-urgent.png
deleted file mode 100644
index e5d157b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-urgent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-web.png b/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-web.png
deleted file mode 100644
index 148126a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emblems/emblem-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angel.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angel.png
deleted file mode 100644
index 3228ec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angry.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angry.png
deleted file mode 100644
index 078e6c6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-angry.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-cool.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-cool.png
deleted file mode 100644
index e31fa41..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-cool.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-crying.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-crying.png
deleted file mode 100644
index 87d73d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-crying.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-devilish.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-devilish.png
deleted file mode 100644
index 7d546aa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-devilish.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-embarrassed.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-embarrassed.png
deleted file mode 100644
index 06b9fff..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-embarrassed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-glasses.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-glasses.png
deleted file mode 100644
index c34f1fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-glasses.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-kiss.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-kiss.png
deleted file mode 100644
index 9197bd6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-kiss.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-laugh.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-laugh.png
deleted file mode 100644
index 3fd3fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-laugh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-monkey.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-monkey.png
deleted file mode 100644
index b2b31ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-monkey.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-plain.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-plain.png
deleted file mode 100644
index 9f1b867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-plain.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-raspberry.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-raspberry.png
deleted file mode 100644
index 99b6e40..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-raspberry.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sad.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sad.png
deleted file mode 100644
index 0555e07..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sick.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sick.png
deleted file mode 100644
index c99b3bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-sick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile-big.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile-big.png
deleted file mode 100644
index be9652d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile-big.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile.png
deleted file mode 100644
index b8a3d90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smile.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smirk.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smirk.png
deleted file mode 100644
index 65965ff..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-smirk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-surprise.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-surprise.png
deleted file mode 100644
index e997ac3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-surprise.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-tired.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-tired.png
deleted file mode 100644
index 9b27f90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-tired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-uncertain.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-uncertain.png
deleted file mode 100644
index 4f48769..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-uncertain.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-wink.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-wink.png
deleted file mode 100644
index fb0d5ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-wink.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-worried.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/face-worried.png
deleted file mode 100644
index a9ef13e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/face-worried.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-1.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-1.png
deleted file mode 100644
index b8a3d90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-10.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-10.png
deleted file mode 100644
index 99b6e40..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-10.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-11.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-11.png
deleted file mode 100644
index 87d73d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-11.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-13.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-13.png
deleted file mode 100644
index 9197bd6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-13.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-15.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-15.png
deleted file mode 100644
index e31fa41..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-15.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-18.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-18.png
deleted file mode 100644
index 3228ec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-18.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-2.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-2.png
deleted file mode 100644
index b8a3d90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-22.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-22.png
deleted file mode 100644
index b2b31ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-22.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-3.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-3.png
deleted file mode 100644
index fb0d5ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-4.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-4.png
deleted file mode 100644
index 0555e07..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-4.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-5.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-5.png
deleted file mode 100644
index e997ac3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-5.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-6.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-6.png
deleted file mode 100644
index be9652d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-6.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-7.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-7.png
deleted file mode 100644
index b8a3d90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-7.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-8.png b/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-8.png
deleted file mode 100644
index 9f1b867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/emotes/stock_smiley-8.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-certificate.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-certificate.png
deleted file mode 100644
index 2d824f9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-certificate.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-rss+xml.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-rss+xml.png
deleted file mode 100644
index bacaba9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-rss+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openofficeorg.extension.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openofficeorg.extension.png
deleted file mode 100644
index 204d005..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openofficeorg.extension.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png
deleted file mode 100644
index 3db8926..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png
deleted file mode 100644
index 607982a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png
deleted file mode 100644
index 6769062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-blender.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-blender.png
deleted file mode 100644
index a64f57c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-blender.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-cd-image.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-cd-image.png
deleted file mode 100644
index bd7b11e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-cd-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-executable.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-executable.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-mono-develop-xib.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-mono-develop-xib.png
deleted file mode 100644
index d652bd5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/application-x-mono-develop-xib.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/ascii.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/ascii.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/ascii.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/audio-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/audio-x-generic.png
deleted file mode 100644
index a96f899..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/audio-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/binary.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/binary.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/binary.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/contents2.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/contents2.png
deleted file mode 100644
index 100a496..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/contents2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/deb.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/deb.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/deb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/document.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/document.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/empty.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/empty.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/exec.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/exec.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/exec.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/folder_tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/folder_tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/folder_tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font-x-generic.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_bitmap.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_bitmap.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_bitmap.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_truetype.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_truetype.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_truetype.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_type1.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_type1.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/font_type1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-executable.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-executable.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-regular.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-regular.png
deleted file mode 100644
index 3c285b0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-fs-regular.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-magicpoint.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-magicpoint.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-magicpoint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-msword.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-msword.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-msword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-ogg.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-ogg.png
deleted file mode 100644
index a96f899..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-ogg.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-pdf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-pdf.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-pdf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-postscript.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-postscript.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-postscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-rtf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-rtf.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-rtf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-excel.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-excel.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-excel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png
deleted file mode 100644
index 0b481cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png
deleted file mode 100644
index bf8b19e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png
deleted file mode 100644
index bf8b19e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png
deleted file mode 100644
index 3db8926..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png
deleted file mode 100644
index 607982a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png
deleted file mode 100644
index 6769062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.rn-realmedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.calc.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.calc.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.impress.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.impress.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.writer.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.writer.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.stardivision.writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png
deleted file mode 100644
index 607982a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png
deleted file mode 100644
index bf8b19e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png
deleted file mode 100644
index 0b481cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png
deleted file mode 100644
index 3db8926..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png
deleted file mode 100644
index 6769062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-wordperfect.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-wordperfect.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-wordperfect.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-7z-compressed.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-7z-compressed.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-7z-compressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-abiword.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-abiword.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-abiword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-spreadsheet.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-word.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-word.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-applix-word.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-archive.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-archive.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-archive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-arj.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-arj.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-arj.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-bzip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compress.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compress.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compressed-tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compressed-tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio-compressed.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio-compressed.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio-compressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-cpio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-deb.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-deb.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-deb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-dvi.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-dvi.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-dvi.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-executable.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-executable.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-afm.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-afm.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-afm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-bdf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-bdf.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-bdf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-linux-psf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-linux-psf.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-linux-psf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-pcf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-pcf.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-pcf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-sunos-news.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-sunos-news.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-sunos-news.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-ttf.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-ttf.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-font-ttf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gnumeric.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gnumeric.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gnumeric.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzip.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzip.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzpostscript.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzpostscript.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-gzpostscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-jar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-jar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-jar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-killustrator.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-killustrator.png
deleted file mode 100644
index 78f7aa3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-killustrator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kpresenter.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kpresenter.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kpresenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kspread.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kspread.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kspread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kword.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kword.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-kword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lha.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lha.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lha.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lhz.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lhz.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lhz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-lzma.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-ms-dos-executable.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-ms-dos-executable.png
deleted file mode 100644
index 11ff118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-ms-dos-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-perl.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-perl.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-perl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-php.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-php.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-php.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-python-bytecode.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-python-bytecode.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-python-bytecode.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rpm.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rpm.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-rpm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-scribus.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-scribus.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-scribus.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shellscript.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shellscript.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shellscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shockwave-flash.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shockwave-flash.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-shockwave-flash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-stuffit.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-stuffit.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-stuffit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tarz.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tarz.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tarz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tex.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tex.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-x-tex.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-xhtml+xml.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-xhtml+xml.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-xhtml+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-zip.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-zip.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-application-zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-audio.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-audio.png
deleted file mode 100644
index a96f899..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-image.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-image.png
deleted file mode 100644
index 78f7aa3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-html.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-html.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-vnd.wap.wml.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-vnd.wap.wml.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-vnd.wap.wml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-csh.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-csh.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-csh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-python.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-python.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-python.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-sh.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-sh.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-sh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcalendar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcalendar.png
deleted file mode 100644
index 9a01283..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcalendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcard.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcard.png
deleted file mode 100644
index 100a496..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-vcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-zsh.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-zsh.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text-x-zsh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-video.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-video.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-x-font-afm.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-x-font-afm.png
deleted file mode 100644
index 0f8c531..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-mime-x-font-afm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-package.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-package.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gnome-package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gtk-file.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gtk-file.png
deleted file mode 100644
index 3c285b0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/gtk-file.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/html.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/html.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image-x-generic.png
deleted file mode 100644
index 78f7aa3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image.png
deleted file mode 100644
index 78f7aa3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/kpresenter_kpr.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/kpresenter_kpr.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/kpresenter_kpr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-database.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-database.png
deleted file mode 100644
index bbf4855..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-database.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing-template.png
deleted file mode 100644
index 74770d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing.png
deleted file mode 100644
index 3030379..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-extension.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-extension.png
deleted file mode 100644
index be3c8ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-extension.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-formula.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-formula.png
deleted file mode 100644
index 3eb7f88..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-formula.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-master-document.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-master-document.png
deleted file mode 100644
index c424e4f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-master-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-database.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-database.png
deleted file mode 100644
index 3465f32..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-database.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing-template.png
deleted file mode 100644
index 456b810..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing.png
deleted file mode 100644
index 94bc2aa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-formula.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-formula.png
deleted file mode 100644
index ab945b1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-formula.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-master-document.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-master-document.png
deleted file mode 100644
index 40777f7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-master-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation-template.png
deleted file mode 100644
index 99d38d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation.png
deleted file mode 100644
index 75d94f0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet-template.png
deleted file mode 100644
index 74c312c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet.png
deleted file mode 100644
index 3f1f4ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text-template.png
deleted file mode 100644
index 9d7c277..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text.png
deleted file mode 100644
index 1aacbb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-web-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-web-template.png
deleted file mode 100644
index 16bf02e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-oasis-web-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation-template.png
deleted file mode 100644
index bb20d13..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation.png
deleted file mode 100644
index b82ddf7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet-template.png
deleted file mode 100644
index 3546349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet.png
deleted file mode 100644
index df164ff..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text-template.png
deleted file mode 100644
index 4d89528..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text.png
deleted file mode 100644
index 6ff2517..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/libreoffice34-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/mime_ascii.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/mime_ascii.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/mime_ascii.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/misc.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/misc.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/misc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package-x-generic.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_editors.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_editors.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_editors.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_wordprocessing.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_wordprocessing.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/package_wordprocessing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/plan.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/plan.png
deleted file mode 100644
index 9a01283..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/plan.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/rpm.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/rpm.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/rpm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/shellscript.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/shellscript.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/shellscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/sound.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/sound.png
deleted file mode 100644
index a96f899..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/sound.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/spreadsheet.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_addressbook.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_addressbook.png
deleted file mode 100644
index 100a496..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_addressbook.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_calendar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_calendar.png
deleted file mode 100644
index 9a01283..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_calendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_certificate.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_certificate.png
deleted file mode 100644
index 2d824f9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_certificate.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_script.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_script.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/stock_script.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tar.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/template_source.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/template_source.png
deleted file mode 100644
index 54bfb56..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/template_source.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-html.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-html.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic-template.png
deleted file mode 100644
index 54bfb56..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-opml+xml.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-opml+xml.png
deleted file mode 100644
index 1677ba4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-opml+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-preview.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-preview.png
deleted file mode 100644
index 3c285b0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-script.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-script.png
deleted file mode 100644
index ed4174c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/text-x-script.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tgz.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tgz.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/tgz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt2.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt2.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/txt2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/unknown.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/unknown.png
deleted file mode 100644
index 3dd98c9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/unknown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcalendar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcalendar.png
deleted file mode 100644
index 9a01283..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcalendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcard.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcard.png
deleted file mode 100644
index 100a496..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/vcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video-x-generic.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video-x-generic.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video.png
deleted file mode 100644
index 8aeb199..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/wordprocessing.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/wordprocessing.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/wordprocessing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/www.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/www.png
deleted file mode 100644
index 479c118..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/www.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-address-book.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-address-book.png
deleted file mode 100644
index 100a496..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-address-book.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-calendar.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-calendar.png
deleted file mode 100644
index 9a01283..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-calendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document-template.png
deleted file mode 100644
index 6769062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document.png
deleted file mode 100644
index 878a7ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing-template.png
deleted file mode 100644
index 0b481cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing.png
deleted file mode 100644
index bf8b19e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation-template.png
deleted file mode 100644
index 3db8926..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation.png
deleted file mode 100644
index e563699..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet-template.png
deleted file mode 100644
index 607982a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet.png
deleted file mode 100644
index 6c84540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/x-office-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/zip.png b/build/htdocs/dist/themes/icons/default/16x16/mimetypes/zip.png
deleted file mode 100644
index eb6c923..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/mimetypes/zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/osjs-white.png b/build/htdocs/dist/themes/icons/default/16x16/osjs-white.png
deleted file mode 100644
index 0f3fa30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/osjs-white.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/osjs.png b/build/htdocs/dist/themes/icons/default/16x16/osjs.png
deleted file mode 100644
index 694ec13..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/osjs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/application-x-gnome-saved-search.png b/build/htdocs/dist/themes/icons/default/16x16/places/application-x-gnome-saved-search.png
deleted file mode 100644
index 7b5cd15..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/application-x-gnome-saved-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/desktop.png b/build/htdocs/dist/themes/icons/default/16x16/places/desktop.png
deleted file mode 100644
index a1b6806..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/distributor-logo.png b/build/htdocs/dist/themes/icons/default/16x16/places/distributor-logo.png
deleted file mode 100644
index dc7196d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/distributor-logo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/dropbox.png b/build/htdocs/dist/themes/icons/default/16x16/places/dropbox.png
deleted file mode 100644
index b35bddb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/dropbox.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/emptytrash.png b/build/htdocs/dist/themes/icons/default/16x16/places/emptytrash.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/emptytrash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-documents.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-documents.png
deleted file mode 100644
index 17fd74a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-documents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-download.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-download.png
deleted file mode 100644
index 81f2656..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-download.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-music.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-music.png
deleted file mode 100644
index 053b86a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-music.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-pictures.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-pictures.png
deleted file mode 100644
index a817065..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-pictures.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-publicshare.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-publicshare.png
deleted file mode 100644
index 0a07993..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-publicshare.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-remote.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-remote.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-remote.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-saved-search.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-saved-search.png
deleted file mode 100644
index 7b5cd15..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-saved-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-templates.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-templates.png
deleted file mode 100644
index 69770dc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-templates.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder-videos.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder-videos.png
deleted file mode 100644
index 4ee17cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder-videos.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder.png
deleted file mode 100644
index f808d75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/folder_home.png b/build/htdocs/dist/themes/icons/default/16x16/places/folder_home.png
deleted file mode 100644
index 47e49b3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/folder_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-desktop.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-desktop.png
deleted file mode 100644
index a1b6806..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-directory.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-directory.png
deleted file mode 100644
index f808d75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ftp.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ftp.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ftp.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-home.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-home.png
deleted file mode 100644
index 47e49b3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-network.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-network.png
deleted file mode 100644
index 697c5ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-nfs.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-nfs.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-nfs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-server.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-share.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-share.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-share.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-smb.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-smb.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-smb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ssh.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ssh.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-ssh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-trash-empty.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-trash-empty.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-fs-trash-empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-main-menu.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-main-menu.png
deleted file mode 100644
index dc7196d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-main-menu.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-nfs-server.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-nfs-server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-nfs-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-server.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-share.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-share.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-share.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-workgroup.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-workgroup.png
deleted file mode 100644
index 697c5ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-mime-x-directory-smb-workgroup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-stock-trash.png b/build/htdocs/dist/themes/icons/default/16x16/places/gnome-stock-trash.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gnome-stock-trash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/google-drive.png b/build/htdocs/dist/themes/icons/default/16x16/places/google-drive.png
deleted file mode 100644
index ec56287..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/google-drive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gtk-directory.png b/build/htdocs/dist/themes/icons/default/16x16/places/gtk-directory.png
deleted file mode 100644
index f808d75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gtk-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/gtk-network.png b/build/htdocs/dist/themes/icons/default/16x16/places/gtk-network.png
deleted file mode 100644
index 697c5ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/gtk-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/inode-directory.png b/build/htdocs/dist/themes/icons/default/16x16/places/inode-directory.png
deleted file mode 100644
index f808d75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/inode-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/network-server.png b/build/htdocs/dist/themes/icons/default/16x16/places/network-server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/network-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/network-workgroup.png b/build/htdocs/dist/themes/icons/default/16x16/places/network-workgroup.png
deleted file mode 100644
index 697c5ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/network-workgroup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/network.png b/build/htdocs/dist/themes/icons/default/16x16/places/network.png
deleted file mode 100644
index 04a75d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/network_local.png b/build/htdocs/dist/themes/icons/default/16x16/places/network_local.png
deleted file mode 100644
index 697c5ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/network_local.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/novell-button.png b/build/htdocs/dist/themes/icons/default/16x16/places/novell-button.png
deleted file mode 100644
index dc7196d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/novell-button.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/onedrive.png b/build/htdocs/dist/themes/icons/default/16x16/places/onedrive.png
deleted file mode 100644
index 85b9892..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/onedrive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/redhat-network-server.png b/build/htdocs/dist/themes/icons/default/16x16/places/redhat-network-server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/redhat-network-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/server.png b/build/htdocs/dist/themes/icons/default/16x16/places/server.png
deleted file mode 100644
index aadb1a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/start-here.png b/build/htdocs/dist/themes/icons/default/16x16/places/start-here.png
deleted file mode 100644
index dc7196d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/start-here.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/stock_folder.png b/build/htdocs/dist/themes/icons/default/16x16/places/stock_folder.png
deleted file mode 100644
index f808d75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/stock_folder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/trashcan_empty.png b/build/htdocs/dist/themes/icons/default/16x16/places/trashcan_empty.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/trashcan_empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/user-bookmarks.png b/build/htdocs/dist/themes/icons/default/16x16/places/user-bookmarks.png
deleted file mode 100644
index e08c7be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/user-bookmarks.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/user-desktop.png b/build/htdocs/dist/themes/icons/default/16x16/places/user-desktop.png
deleted file mode 100644
index a1b6806..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/user-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/user-home.png b/build/htdocs/dist/themes/icons/default/16x16/places/user-home.png
deleted file mode 100644
index 47e49b3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/user-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/user-trash.png b/build/htdocs/dist/themes/icons/default/16x16/places/user-trash.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/user-trash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/places/xfce-trash_empty.png b/build/htdocs/dist/themes/icons/default/16x16/places/xfce-trash_empty.png
deleted file mode 100644
index f403f93..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/places/xfce-trash_empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/appointment-missed.png b/build/htdocs/dist/themes/icons/default/16x16/status/appointment-missed.png
deleted file mode 100644
index 51339f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/appointment-missed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/appointment-soon.png b/build/htdocs/dist/themes/icons/default/16x16/status/appointment-soon.png
deleted file mode 100644
index f801693..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/appointment-soon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-high.png b/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-high.png
deleted file mode 100644
index 583e26f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-low.png b/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-low.png
deleted file mode 100644
index 331af2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-medium.png b/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-medium.png
deleted file mode 100644
index 4383e35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-muted.png b/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-muted.png
deleted file mode 100644
index b39a1b5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/audio-volume-muted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/avatar-default.png b/build/htdocs/dist/themes/icons/default/16x16/status/avatar-default.png
deleted file mode 100644
index 0d231ee..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/avatar-default.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution-charging.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution-charging.png
deleted file mode 100644
index ae57414..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution.png
deleted file mode 100644
index 4c9c132..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-caution.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-empty.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-empty.png
deleted file mode 100644
index 68b4d02..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charged.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charged.png
deleted file mode 100644
index 6264182..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charged.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charging.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charging.png
deleted file mode 100644
index ee4e862..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-full.png
deleted file mode 100644
index 1f1314f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-good-charging.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-good-charging.png
deleted file mode 100644
index 4291d53..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-good-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-good.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-good.png
deleted file mode 100644
index 4d21410..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-good.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-low-charging.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-low-charging.png
deleted file mode 100644
index 20f2d22..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-low-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-low.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-low.png
deleted file mode 100644
index 4d00dc2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/battery-missing.png b/build/htdocs/dist/themes/icons/default/16x16/status/battery-missing.png
deleted file mode 100644
index 56121af..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/battery-missing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/changes-allow.png b/build/htdocs/dist/themes/icons/default/16x16/status/changes-allow.png
deleted file mode 100644
index 9716a05..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/changes-allow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/changes-prevent.png b/build/htdocs/dist/themes/icons/default/16x16/status/changes-prevent.png
deleted file mode 100644
index 1dc97d9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/changes-prevent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/computer-fail.png b/build/htdocs/dist/themes/icons/default/16x16/status/computer-fail.png
deleted file mode 100644
index 3960c52..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/computer-fail.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/connect_creating.png b/build/htdocs/dist/themes/icons/default/16x16/status/connect_creating.png
deleted file mode 100644
index d3310c1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/connect_creating.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/connect_established.png b/build/htdocs/dist/themes/icons/default/16x16/status/connect_established.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/connect_established.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/connect_no.png b/build/htdocs/dist/themes/icons/default/16x16/status/connect_no.png
deleted file mode 100644
index e698da1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/connect_no.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/dialog-error.png
deleted file mode 100644
index 0b0d8be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-information.png b/build/htdocs/dist/themes/icons/default/16x16/status/dialog-information.png
deleted file mode 100644
index a90c024..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-information.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-password.png b/build/htdocs/dist/themes/icons/default/16x16/status/dialog-password.png
deleted file mode 100644
index 61da270..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-password.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-question.png b/build/htdocs/dist/themes/icons/default/16x16/status/dialog-question.png
deleted file mode 100644
index b8fe1ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-warning.png b/build/htdocs/dist/themes/icons/default/16x16/status/dialog-warning.png
deleted file mode 100644
index 219432c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/edittrash.png b/build/htdocs/dist/themes/icons/default/16x16/status/edittrash.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/edittrash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/error.png b/build/htdocs/dist/themes/icons/default/16x16/status/error.png
deleted file mode 100644
index 0b0d8be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/folder-drag-accept.png b/build/htdocs/dist/themes/icons/default/16x16/status/folder-drag-accept.png
deleted file mode 100644
index 40073dd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/folder-drag-accept.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/folder-open.png b/build/htdocs/dist/themes/icons/default/16x16/status/folder-open.png
deleted file mode 100644
index 775979d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/folder-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/folder-visiting.png b/build/htdocs/dist/themes/icons/default/16x16/status/folder-visiting.png
deleted file mode 100644
index c273764..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/folder-visiting.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/folder_open.png b/build/htdocs/dist/themes/icons/default/16x16/status/folder_open.png
deleted file mode 100644
index 775979d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/folder_open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-dev-wavelan-encrypted.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-dev-wavelan-encrypted.png
deleted file mode 100644
index 4a92b2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-dev-wavelan-encrypted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-accept.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-accept.png
deleted file mode 100644
index 40073dd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-accept.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-visiting.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-visiting.png
deleted file mode 100644
index c273764..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-directory-visiting.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-loading-icon.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-loading-icon.png
deleted file mode 100644
index 9966320..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-loading-icon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-trash-full.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-trash-full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-fs-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-disconn.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-disconn.png
deleted file mode 100644
index e698da1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-disconn.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-error.png
deleted file mode 100644
index ac952ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-idle.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-idle.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-rx.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-rx.png
deleted file mode 100644
index a374062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-rx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-tx.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-tx.png
deleted file mode 100644
index 9cb4673..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-tx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-txrx.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-txrx.png
deleted file mode 100644
index d3310c1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-netstatus-txrx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-stock-trash-full.png b/build/htdocs/dist/themes/icons/default/16x16/status/gnome-stock-trash-full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gnome-stock-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-authentication.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-authentication.png
deleted file mode 100644
index 61da270..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-authentication.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-error.png
deleted file mode 100644
index 0b0d8be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-info.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-info.png
deleted file mode 100644
index a90c024..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-question.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-question.png
deleted file mode 100644
index b8fe1ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-warning.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-warning.png
deleted file mode 100644
index 219432c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-missing-image.png b/build/htdocs/dist/themes/icons/default/16x16/status/gtk-missing-image.png
deleted file mode 100644
index a86106e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/gtk-missing-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/image-loading.png b/build/htdocs/dist/themes/icons/default/16x16/status/image-loading.png
deleted file mode 100644
index 9966320..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/image-loading.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/image-missing.png b/build/htdocs/dist/themes/icons/default/16x16/status/image-missing.png
deleted file mode 100644
index a86106e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/image-missing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/important.png b/build/htdocs/dist/themes/icons/default/16x16/status/important.png
deleted file mode 100644
index 219432c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/info.png b/build/htdocs/dist/themes/icons/default/16x16/status/info.png
deleted file mode 100644
index a90c024..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-attachment.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-attachment.png
deleted file mode 100644
index 3bd5dc0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-attachment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-read.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-read.png
deleted file mode 100644
index 94950a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-read.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-replied.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-replied.png
deleted file mode 100644
index b1f0b56..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-replied.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed-verified.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed-verified.png
deleted file mode 100644
index d879b16..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed-verified.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed.png
deleted file mode 100644
index 16d6f1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-signed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/mail-unread.png b/build/htdocs/dist/themes/icons/default/16x16/status/mail-unread.png
deleted file mode 100644
index 7f81c36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/mail-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-repeat.png b/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-repeat.png
deleted file mode 100644
index a5b676b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-repeat.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-shuffle.png b/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-shuffle.png
deleted file mode 100644
index 2477061..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/media-playlist-shuffle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_critical.png b/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_critical.png
deleted file mode 100644
index 0b0d8be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_critical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_info.png b/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_info.png
deleted file mode 100644
index a90c024..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_warning.png b/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_warning.png
deleted file mode 100644
index 219432c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/messagebox_warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-high.png b/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-high.png
deleted file mode 100644
index eaa708b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-low.png b/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-low.png
deleted file mode 100644
index c6d5896..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-medium.png b/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-medium.png
deleted file mode 100644
index cc80115..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-muted.png b/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-muted.png
deleted file mode 100644
index d4937a9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/microphone-sensitivity-muted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-error.png
deleted file mode 100644
index ac952ba..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-idle.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-idle.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-offline.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-offline.png
deleted file mode 100644
index e698da1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-offline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-receive.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-receive.png
deleted file mode 100644
index a374062..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit-receive.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit-receive.png
deleted file mode 100644
index d3310c1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit.png
deleted file mode 100644
index 9cb4673..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-transmit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-wired-disconnected.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-wired-disconnected.png
deleted file mode 100644
index 147a29f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-wired-disconnected.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/network-wireless-encrypted.png b/build/htdocs/dist/themes/icons/default/16x16/status/network-wireless-encrypted.png
deleted file mode 100644
index 4a92b2e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/network-wireless-encrypted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/nm-adhoc.png b/build/htdocs/dist/themes/icons/default/16x16/status/nm-adhoc.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/nm-adhoc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wired.png b/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wired.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wireless.png b/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wireless.png
deleted file mode 100644
index cda5785..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/nm-device-wireless.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/nm-no-connection.png b/build/htdocs/dist/themes/icons/default/16x16/status/nm-no-connection.png
deleted file mode 100644
index e698da1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/nm-no-connection.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/non-starred.png b/build/htdocs/dist/themes/icons/default/16x16/status/non-starred.png
deleted file mode 100644
index 03c35eb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/non-starred.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/printer-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/printer-error.png
deleted file mode 100644
index ce8db60..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/printer-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/printer-printing.png b/build/htdocs/dist/themes/icons/default/16x16/status/printer-printing.png
deleted file mode 100644
index 7aded06..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/printer-printing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/security-high.png b/build/htdocs/dist/themes/icons/default/16x16/status/security-high.png
deleted file mode 100644
index 1dcdb75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/security-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/security-low.png b/build/htdocs/dist/themes/icons/default/16x16/status/security-low.png
deleted file mode 100644
index ccdcb1e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/security-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/security-medium.png b/build/htdocs/dist/themes/icons/default/16x16/status/security-medium.png
deleted file mode 100644
index e27c5a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/security-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/software-update-available.png b/build/htdocs/dist/themes/icons/default/16x16/status/software-update-available.png
deleted file mode 100644
index 518414f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/software-update-available.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/software-update-urgent.png b/build/htdocs/dist/themes/icons/default/16x16/status/software-update-urgent.png
deleted file mode 100644
index 99e31cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/software-update-urgent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/starred.png b/build/htdocs/dist/themes/icons/default/16x16/status/starred.png
deleted file mode 100644
index 3be364a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/starred.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder-excl.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder-excl.png
deleted file mode 100644
index 51339f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder-excl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder.png
deleted file mode 100644
index f801693..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_appointment-reminder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_attach.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_attach.png
deleted file mode 100644
index 3bd5dc0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_attach.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-error.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-error.png
deleted file mode 100644
index 0b0d8be..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-info.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-info.png
deleted file mode 100644
index a90c024..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-question.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-question.png
deleted file mode 100644
index b8fe1ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-warning.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-warning.png
deleted file mode 100644
index 219432c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-broken.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-broken.png
deleted file mode 100644
index ccdcb1e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-broken.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-ok.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-ok.png
deleted file mode 100644
index 1dcdb75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-ok.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-open.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-open.png
deleted file mode 100644
index ccdcb1e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock.png
deleted file mode 100644
index e27c5a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-open.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-open.png
deleted file mode 100644
index 94950a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-replied.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-replied.png
deleted file mode 100644
index b1f0b56..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-replied.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-unread.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-unread.png
deleted file mode 100644
index 7f81c36..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_mail-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_open.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_open.png
deleted file mode 100644
index 775979d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_repeat.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_repeat.png
deleted file mode 100644
index a5b676b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_repeat.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_shuffle.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_shuffle.png
deleted file mode 100644
index 2477061..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_shuffle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_trash_full.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_trash_full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_trash_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-0.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-0.png
deleted file mode 100644
index 331af2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-0.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-max.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-max.png
deleted file mode 100644
index 583e26f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-max.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-med.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-med.png
deleted file mode 100644
index 4383e35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-med.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-min.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-min.png
deleted file mode 100644
index 331af2f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-min.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-mute.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-mute.png
deleted file mode 100644
index b39a1b5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume-mute.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume.png
deleted file mode 100644
index 583e26f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_volume.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-cloudy.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-cloudy.png
deleted file mode 100644
index ae4524c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-cloudy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-few-clouds.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-few-clouds.png
deleted file mode 100644
index ad7631b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-fog.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-fog.png
deleted file mode 100644
index fab8146..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-fog.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-clear.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-clear.png
deleted file mode 100644
index 6d0ed5b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-few-clouds.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-few-clouds.png
deleted file mode 100644
index 514c90b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-night-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-showers.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-showers.png
deleted file mode 100644
index 902f585..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-showers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-snow.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-snow.png
deleted file mode 100644
index d0e0d45..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-snow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-storm.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-storm.png
deleted file mode 100644
index 2a326ed..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-storm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-sunny.png b/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-sunny.png
deleted file mode 100644
index a22bd73..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/stock_weather-sunny.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/sunny.png b/build/htdocs/dist/themes/icons/default/16x16/status/sunny.png
deleted file mode 100644
index a22bd73..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/sunny.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/task-due.png b/build/htdocs/dist/themes/icons/default/16x16/status/task-due.png
deleted file mode 100644
index 97c8181..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/task-due.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/task-past-due.png b/build/htdocs/dist/themes/icons/default/16x16/status/task-past-due.png
deleted file mode 100644
index a8d66b4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/task-past-due.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/trashcan_full.png b/build/htdocs/dist/themes/icons/default/16x16/status/trashcan_full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/trashcan_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-available.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-available.png
deleted file mode 100644
index eb67717..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-available.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-away.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-away.png
deleted file mode 100644
index 8e99e42..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-away.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-busy.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-busy.png
deleted file mode 100644
index 90665a4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-busy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-idle.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-idle.png
deleted file mode 100644
index f72565f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-invisible.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-invisible.png
deleted file mode 100644
index 3075bb3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-invisible.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-offline.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-offline.png
deleted file mode 100644
index 7566c3f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-offline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/user-trash-full.png b/build/htdocs/dist/themes/icons/default/16x16/status/user-trash-full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/user-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear-night.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear-night.png
deleted file mode 100644
index 6d0ed5b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear-night.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear.png
deleted file mode 100644
index a22bd73..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds-night.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds-night.png
deleted file mode 100644
index 514c90b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds-night.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds.png
deleted file mode 100644
index ad7631b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-fog.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-fog.png
deleted file mode 100644
index fab8146..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-fog.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-overcast.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-overcast.png
deleted file mode 100644
index ae4524c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-overcast.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-severe-alert.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-severe-alert.png
deleted file mode 100644
index 34d945b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-severe-alert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers-scattered.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers-scattered.png
deleted file mode 100644
index 7991b25..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers-scattered.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers.png
deleted file mode 100644
index 902f585..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-showers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-snow.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-snow.png
deleted file mode 100644
index d0e0d45..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-snow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/weather-storm.png b/build/htdocs/dist/themes/icons/default/16x16/status/weather-storm.png
deleted file mode 100644
index 2a326ed..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/weather-storm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/16x16/status/xfce-trash_full.png b/build/htdocs/dist/themes/icons/default/16x16/status/xfce-trash_full.png
deleted file mode 100644
index 4a5278a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/16x16/status/xfce-trash_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/add.png b/build/htdocs/dist/themes/icons/default/32x32/actions/add.png
deleted file mode 100644
index 184afa8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/address-book-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/address-book-new.png
deleted file mode 100644
index 99aa2da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/address-book-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/application-exit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/application-exit.png
deleted file mode 100644
index c3f905e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/application-exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/appointment-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/appointment-new.png
deleted file mode 100644
index c5e20fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/appointment-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/appointment.png b/build/htdocs/dist/themes/icons/default/32x32/actions/appointment.png
deleted file mode 100644
index c5e20fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/appointment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/back.png b/build/htdocs/dist/themes/icons/default/32x32/actions/back.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/back.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark-new.png
deleted file mode 100644
index aaf2fe2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark_add.png b/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark_add.png
deleted file mode 100644
index aaf2fe2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmark_add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmarks_list_add.png b/build/htdocs/dist/themes/icons/default/32x32/actions/bookmarks_list_add.png
deleted file mode 100644
index aaf2fe2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/bookmarks_list_add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/bottom.png b/build/htdocs/dist/themes/icons/default/32x32/actions/bottom.png
deleted file mode 100644
index 1bd33f2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/call-start.png b/build/htdocs/dist/themes/icons/default/32x32/actions/call-start.png
deleted file mode 100644
index 7342af6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/call-start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/call-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/call-stop.png
deleted file mode 100644
index 00336c3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/call-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/centrejust.png b/build/htdocs/dist/themes/icons/default/32x32/actions/centrejust.png
deleted file mode 100644
index a7cbacf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/centrejust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/contact-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/contact-new.png
deleted file mode 100644
index 8785fda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/contact-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-new.png
deleted file mode 100644
index b7e3276..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-open-recent.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-open-recent.png
deleted file mode 100644
index eb7d222..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-open-recent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-open.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-open.png
deleted file mode 100644
index fce8c44..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-page-setup.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-page-setup.png
deleted file mode 100644
index 22c8788..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-page-setup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-print-preview.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-print-preview.png
deleted file mode 100644
index cae353c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-print.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-print.png
deleted file mode 100644
index 3e69d95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-properties.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-properties.png
deleted file mode 100644
index b649d91..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert-rtl.png
deleted file mode 100644
index 264ba19..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert.png
deleted file mode 100644
index 2d6ee1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-revert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-save-as.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-save-as.png
deleted file mode 100644
index b32b96c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-save.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-save.png
deleted file mode 100644
index db10f68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/document-send.png b/build/htdocs/dist/themes/icons/default/32x32/actions/document-send.png
deleted file mode 100644
index c92aec0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/document-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/down.png b/build/htdocs/dist/themes/icons/default/32x32/actions/down.png
deleted file mode 100644
index 53cedf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-clear.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-clear.png
deleted file mode 100644
index 6f9fa04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-copy.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-copy.png
deleted file mode 100644
index 210c07a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-cut.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-cut.png
deleted file mode 100644
index d04f3ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-delete.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-delete.png
deleted file mode 100644
index 72a1507..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find-replace.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find-replace.png
deleted file mode 100644
index b5b88e4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find.png
deleted file mode 100644
index 8bd61a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-paste.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-paste.png
deleted file mode 100644
index 1868224..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo-rtl.png
deleted file mode 100644
index ceb3115..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo.png
deleted file mode 100644
index 063600d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-select-all.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-select-all.png
deleted file mode 100644
index ba8b523..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo-rtl.png
deleted file mode 100644
index 9610d96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo.png
deleted file mode 100644
index ab01729..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/edit-undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/editclear.png b/build/htdocs/dist/themes/icons/default/32x32/actions/editclear.png
deleted file mode 100644
index 6f9fa04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/editclear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/editcopy.png b/build/htdocs/dist/themes/icons/default/32x32/actions/editcopy.png
deleted file mode 100644
index 210c07a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/editcopy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/editcut.png b/build/htdocs/dist/themes/icons/default/32x32/actions/editcut.png
deleted file mode 100644
index d04f3ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/editcut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/editdelete.png b/build/htdocs/dist/themes/icons/default/32x32/actions/editdelete.png
deleted file mode 100644
index 72a1507..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/editdelete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/editpaste.png b/build/htdocs/dist/themes/icons/default/32x32/actions/editpaste.png
deleted file mode 100644
index 1868224..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/editpaste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/exit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/exit.png
deleted file mode 100644
index c3f905e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/filefind.png b/build/htdocs/dist/themes/icons/default/32x32/actions/filefind.png
deleted file mode 100644
index 8bd61a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/filefind.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/filenew.png b/build/htdocs/dist/themes/icons/default/32x32/actions/filenew.png
deleted file mode 100644
index b7e3276..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/filenew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/fileopen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/fileopen.png
deleted file mode 100644
index fce8c44..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/fileopen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/fileprint.png b/build/htdocs/dist/themes/icons/default/32x32/actions/fileprint.png
deleted file mode 100644
index 3e69d95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/fileprint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/filequickprint.png b/build/htdocs/dist/themes/icons/default/32x32/actions/filequickprint.png
deleted file mode 100644
index cae353c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/filequickprint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/filesave.png b/build/htdocs/dist/themes/icons/default/32x32/actions/filesave.png
deleted file mode 100644
index db10f68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/filesave.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/filesaveas.png b/build/htdocs/dist/themes/icons/default/32x32/actions/filesaveas.png
deleted file mode 100644
index b32b96c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/filesaveas.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/find.png b/build/htdocs/dist/themes/icons/default/32x32/actions/find.png
deleted file mode 100644
index 8bd61a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/finish.png b/build/htdocs/dist/themes/icons/default/32x32/actions/finish.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/finish.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/folder-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/folder-new.png
deleted file mode 100644
index cdd34ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/folder-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/folder_new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/folder_new.png
deleted file mode 100644
index cdd34ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/folder_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less-rtl.png
deleted file mode 100644
index 14f7a46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less.png
deleted file mode 100644
index c2e54ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-less.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more-rtl.png
deleted file mode 100644
index b30a0f4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more.png
deleted file mode 100644
index c506a71..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-indent-more.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-center.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-center.png
deleted file mode 100644
index a7cbacf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-fill.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-fill.png
deleted file mode 100644
index e660e29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-fill.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-left.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-left.png
deleted file mode 100644
index 2aa1b0d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-right.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-right.png
deleted file mode 100644
index 57cb607..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-justify-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-bold.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-bold.png
deleted file mode 100644
index fcf0f30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-ltr.png
deleted file mode 100644
index c8dc82a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-rtl.png
deleted file mode 100644
index f508cf5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-direction-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-italic.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-italic.png
deleted file mode 100644
index a8a5b17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-strikethrough.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-strikethrough.png
deleted file mode 100644
index 9d8fafe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-underline.png b/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-underline.png
deleted file mode 100644
index c3603e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/format-text-underline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/forward.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-lockscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-lockscreen.png
deleted file mode 100644
index aec49c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-lockscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-logout.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-logout.png
deleted file mode 100644
index e835402..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-logout.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-run.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-run.png
deleted file mode 100644
index 1284713..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-run.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-searchtool.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-searchtool.png
deleted file mode 100644
index bbb6931..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-searchtool.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-shutdown.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-shutdown.png
deleted file mode 100644
index 1cd85cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-shutdown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-fwd.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-fwd.png
deleted file mode 100644
index cd1f317..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-new.png
deleted file mode 100644
index 8e6cbe0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-rpl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-rpl.png
deleted file mode 100644
index 7da6250..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-rpl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-snd.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-snd.png
deleted file mode 100644
index 069269b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-mail-snd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-indent.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-indent.png
deleted file mode 100644
index c506a71..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-indent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-unindent.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-unindent.png
deleted file mode 100644
index c2e54ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gnome-stock-text-unindent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-bottom.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-bottom.png
deleted file mode 100644
index 1bd33f2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-down.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-down.png
deleted file mode 100644
index 53cedf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-first-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-first-rtl.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-first-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-first.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-first.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-first.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-home.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-home.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-jump.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-jump.png
deleted file mode 100644
index 76e23cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-jump.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-last-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-last-rtl.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-last-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-last.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-last.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-last.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-next-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-next-rtl.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-next-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-next.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-next.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous-rtl.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-previous.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-top.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-top.png
deleted file mode 100644
index 5c2c4bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/go-up.png b/build/htdocs/dist/themes/icons/default/32x32/actions/go-up.png
deleted file mode 100644
index e13742a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/go-up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gohome.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gohome.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gohome.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-about.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-about.png
deleted file mode 100644
index 399d484..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-add.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-add.png
deleted file mode 100644
index 184afa8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-bold.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-bold.png
deleted file mode 100644
index fcf0f30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cancel.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cancel.png
deleted file mode 100644
index 3bc6298..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cancel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-clear.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-clear.png
deleted file mode 100644
index 6f9fa04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-close.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-close.png
deleted file mode 100644
index 1c395e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-copy.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-copy.png
deleted file mode 100644
index 210c07a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cut.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cut.png
deleted file mode 100644
index d04f3ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-delete.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-delete.png
deleted file mode 100644
index 72a1507..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-execute.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-execute.png
deleted file mode 100644
index 1284713..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-execute.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find-and-replace.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find-and-replace.png
deleted file mode 100644
index b5b88e4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find-and-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find.png
deleted file mode 100644
index 8bd61a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-find.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-fullscreen.png
deleted file mode 100644
index 8a7cbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-ltr.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-rtl.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-back-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-down.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-down.png
deleted file mode 100644
index 53cedf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-ltr.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-rtl.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-up.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-up.png
deleted file mode 100644
index e13742a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-go-up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-bottom.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-bottom.png
deleted file mode 100644
index 1bd33f2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-ltr.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-rtl.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-first-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-ltr.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-rtl.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-last-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-top.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-top.png
deleted file mode 100644
index 5c2c4bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-goto-top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-help.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-help.png
deleted file mode 100644
index 88c0b9b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-home.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-home.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-ltr.png
deleted file mode 100644
index c506a71..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-rtl.png
deleted file mode 100644
index c2e54ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-indent-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-italic.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-italic.png
deleted file mode 100644
index a8a5b17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-ltr.png
deleted file mode 100644
index 76e23cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-rtl.png
deleted file mode 100644
index 76e23cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-jump-to-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-center.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-center.png
deleted file mode 100644
index a7cbacf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-fill.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-fill.png
deleted file mode 100644
index e660e29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-fill.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-left.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-left.png
deleted file mode 100644
index 2aa1b0d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-right.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-right.png
deleted file mode 100644
index 57cb607..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-justify-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-leave-fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-leave-fullscreen.png
deleted file mode 100644
index 75bd581..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-leave-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-ltr.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-rtl.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-ltr.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-rtl.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-next-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-pause.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-pause.png
deleted file mode 100644
index 4955542..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-play-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-play-ltr.png
deleted file mode 100644
index 6992d7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-play-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-ltr.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-rtl.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-previous-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-record.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-record.png
deleted file mode 100644
index 8fb3dfc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-ltr.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-rtl.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-rewind-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-stop.png
deleted file mode 100644
index bfd56f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-media-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-new.png
deleted file mode 100644
index b7e3276..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-open.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-open.png
deleted file mode 100644
index fce8c44..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-paste.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-paste.png
deleted file mode 100644
index 1868224..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print-preview.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print-preview.png
deleted file mode 100644
index cae353c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print.png
deleted file mode 100644
index 3e69d95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-properties.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-properties.png
deleted file mode 100644
index b649d91..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-quit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-quit.png
deleted file mode 100644
index c3f905e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-quit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-redo-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-redo-ltr.png
deleted file mode 100644
index 063600d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-redo-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-refresh.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-refresh.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-remove.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-remove.png
deleted file mode 100644
index 9af91bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-ltr.png
deleted file mode 100644
index 2d6ee1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-rtl.png
deleted file mode 100644
index 2d6ee1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-revert-to-saved-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save-as.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save-as.png
deleted file mode 100644
index b32b96c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save.png
deleted file mode 100644
index db10f68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-select-all.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-select-all.png
deleted file mode 100644
index ba8b523..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-ascending.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-ascending.png
deleted file mode 100644
index 16fb624..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-ascending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-descending.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-descending.png
deleted file mode 100644
index e88bc10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-sort-descending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-spell-check.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-spell-check.png
deleted file mode 100644
index a5419ad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-spell-check.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-stop.png
deleted file mode 100644
index 3bc6298..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-strikethrough.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-strikethrough.png
deleted file mode 100644
index 9d8fafe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-underline.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-underline.png
deleted file mode 100644
index c3603e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-underline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-undo-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-undo-ltr.png
deleted file mode 100644
index ab01729..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-undo-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-ltr.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-ltr.png
deleted file mode 100644
index c2e54ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-ltr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-rtl.png
deleted file mode 100644
index c506a71..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-unindent-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-100.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-100.png
deleted file mode 100644
index 1d948db..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-100.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-fit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-fit.png
deleted file mode 100644
index f584e67..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-fit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-in.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-in.png
deleted file mode 100644
index c172457..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-out.png b/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-out.png
deleted file mode 100644
index 7fde3bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/gtk-zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/help-about.png b/build/htdocs/dist/themes/icons/default/32x32/actions/help-about.png
deleted file mode 100644
index 399d484..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/help-about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/help-contents.png b/build/htdocs/dist/themes/icons/default/32x32/actions/help-contents.png
deleted file mode 100644
index 88c0b9b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/help-contents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/help-faq.png b/build/htdocs/dist/themes/icons/default/32x32/actions/help-faq.png
deleted file mode 100644
index 75295e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/help-faq.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/help.png b/build/htdocs/dist/themes/icons/default/32x32/actions/help.png
deleted file mode 100644
index 88c0b9b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-image.png b/build/htdocs/dist/themes/icons/default/32x32/actions/insert-image.png
deleted file mode 100644
index f5cd8da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-link.png b/build/htdocs/dist/themes/icons/default/32x32/actions/insert-link.png
deleted file mode 100644
index 42a8924..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-link.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-object.png b/build/htdocs/dist/themes/icons/default/32x32/actions/insert-object.png
deleted file mode 100644
index 2a5c45e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-object.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-text.png b/build/htdocs/dist/themes/icons/default/32x32/actions/insert-text.png
deleted file mode 100644
index f56e856..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/insert-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/kfind.png b/build/htdocs/dist/themes/icons/default/32x32/actions/kfind.png
deleted file mode 100644
index bbb6931..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/kfind.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/kfm_home.png b/build/htdocs/dist/themes/icons/default/32x32/actions/kfm_home.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/kfm_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/leftjust.png b/build/htdocs/dist/themes/icons/default/32x32/actions/leftjust.png
deleted file mode 100644
index 2aa1b0d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/leftjust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/list-add.png b/build/htdocs/dist/themes/icons/default/32x32/actions/list-add.png
deleted file mode 100644
index 184afa8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/list-add.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/list-remove.png b/build/htdocs/dist/themes/icons/default/32x32/actions/list-remove.png
deleted file mode 100644
index 9af91bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/list-remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/lock.png b/build/htdocs/dist/themes/icons/default/32x32/actions/lock.png
deleted file mode 100644
index aec49c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-forward.png
deleted file mode 100644
index cd1f317..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-important.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-important.png
deleted file mode 100644
index 5db80bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-junk.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-junk.png
deleted file mode 100644
index 8f00a8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-junk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-notjunk.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-notjunk.png
deleted file mode 100644
index c09c56a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-notjunk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-read.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-read.png
deleted file mode 100644
index 32f2add..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-read.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-unread.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-unread.png
deleted file mode 100644
index 261bb7c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-mark-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-message-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-message-new.png
deleted file mode 100644
index 8e6cbe0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-message-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-all.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-all.png
deleted file mode 100644
index f2531bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-sender.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-sender.png
deleted file mode 100644
index 7da6250..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-reply-sender.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send-receive.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send-receive.png
deleted file mode 100644
index ea61e12..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send.png
deleted file mode 100644
index 069269b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_forward.png
deleted file mode 100644
index cd1f317..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_new.png
deleted file mode 100644
index 8e6cbe0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_reply.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_reply.png
deleted file mode 100644
index 7da6250..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_reply.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_replyall.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_replyall.png
deleted file mode 100644
index f2531bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_replyall.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_send.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_send.png
deleted file mode 100644
index 069269b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_spam.png b/build/htdocs/dist/themes/icons/default/32x32/actions/mail_spam.png
deleted file mode 100644
index 8f00a8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/mail_spam.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-eject.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-eject.png
deleted file mode 100644
index 63868b3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-eject.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-pause.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-pause.png
deleted file mode 100644
index 4955542..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start-rtl.png
deleted file mode 100644
index 177f084..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start.png
deleted file mode 100644
index 6992d7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-stop.png
deleted file mode 100644
index bfd56f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-playback-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-record.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-record.png
deleted file mode 100644
index 8fb3dfc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward-rtl.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-backward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward-rtl.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-seek-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward-rtl.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-backward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward-rtl.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward-rtl.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward-rtl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/media-skip-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/next.png b/build/htdocs/dist/themes/icons/default/32x32/actions/next.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-horizontal.png b/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-horizontal.png
deleted file mode 100644
index 8172ae9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-horizontal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-vertical.png b/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-vertical.png
deleted file mode 100644
index 26c3716..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/object-flip-vertical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-left.png b/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-left.png
deleted file mode 100644
index b792480..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-right.png b/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-right.png
deleted file mode 100644
index da255ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/object-rotate-right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_eject.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_eject.png
deleted file mode 100644
index 63868b3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_eject.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_end.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_end.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_end.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_fwd.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_fwd.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_pause.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_pause.png
deleted file mode 100644
index 4955542..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_play.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_play.png
deleted file mode 100644
index 6992d7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_play.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_record.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_record.png
deleted file mode 100644
index 8fb3dfc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_record.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_rew.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_rew.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_rew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_start.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_start.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/player_stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/player_stop.png
deleted file mode 100644
index bfd56f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/player_stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/previous.png b/build/htdocs/dist/themes/icons/default/32x32/actions/previous.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/previous.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/process-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/process-stop.png
deleted file mode 100644
index 3bc6298..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/process-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/redhat-home.png b/build/htdocs/dist/themes/icons/default/32x32/actions/redhat-home.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/redhat-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/redo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/redo.png
deleted file mode 100644
index 063600d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/reload.png b/build/htdocs/dist/themes/icons/default/32x32/actions/reload.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/reload.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/reload3.png b/build/htdocs/dist/themes/icons/default/32x32/actions/reload3.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/reload3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/reload_all_tabs.png b/build/htdocs/dist/themes/icons/default/32x32/actions/reload_all_tabs.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/reload_all_tabs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/reload_page.png b/build/htdocs/dist/themes/icons/default/32x32/actions/reload_page.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/reload_page.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/remove.png b/build/htdocs/dist/themes/icons/default/32x32/actions/remove.png
deleted file mode 100644
index 9af91bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/remove.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/revert.png b/build/htdocs/dist/themes/icons/default/32x32/actions/revert.png
deleted file mode 100644
index 2d6ee1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/revert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/rightjust.png b/build/htdocs/dist/themes/icons/default/32x32/actions/rightjust.png
deleted file mode 100644
index 57cb607..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/rightjust.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/search.png b/build/htdocs/dist/themes/icons/default/32x32/actions/search.png
deleted file mode 100644
index bbb6931..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/start.png b/build/htdocs/dist/themes/icons/default/32x32/actions/start.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/start.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_about.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_about.png
deleted file mode 100644
index 399d484..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_about.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_add-bookmark.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_add-bookmark.png
deleted file mode 100644
index aaf2fe2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_add-bookmark.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_bottom.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_bottom.png
deleted file mode 100644
index 1bd33f2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_bottom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_close.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_close.png
deleted file mode 100644
index 1c395e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_copy.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_copy.png
deleted file mode 100644
index 210c07a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_copy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_cut.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_cut.png
deleted file mode 100644
index d04f3ae..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_cut.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_delete.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_delete.png
deleted file mode 100644
index 72a1507..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_delete.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_down.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_down.png
deleted file mode 100644
index 53cedf0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_down.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_file-properites.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_file-properites.png
deleted file mode 100644
index b649d91..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_file-properites.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_first.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_first.png
deleted file mode 100644
index 5d720fb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_first.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_fullscreen.png
deleted file mode 100644
index 8a7cbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help-add-bookmark.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help-add-bookmark.png
deleted file mode 100644
index aaf2fe2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help-add-bookmark.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help.png
deleted file mode 100644
index 88c0b9b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_home.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_home.png
deleted file mode 100644
index 8c848bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_last.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_last.png
deleted file mode 100644
index 4eb5b75..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_last.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_leave-fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_leave-fullscreen.png
deleted file mode 100644
index 75bd581..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_leave-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_left.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_left.png
deleted file mode 100644
index 0df44ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-compose.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-compose.png
deleted file mode 100644
index 8e6cbe0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-compose.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-forward.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-forward.png
deleted file mode 100644
index cd1f317..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-forward.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply-to-all.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply-to-all.png
deleted file mode 100644
index f2531bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply-to-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply.png
deleted file mode 100644
index 7da6250..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-reply.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send-receive.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send-receive.png
deleted file mode 100644
index ea61e12..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send.png
deleted file mode 100644
index 069269b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_mail-send.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-fwd.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-fwd.png
deleted file mode 100644
index 8a84058..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-fwd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-next.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-next.png
deleted file mode 100644
index 6afee8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-next.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-pause.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-pause.png
deleted file mode 100644
index 4955542..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-pause.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-play.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-play.png
deleted file mode 100644
index 6992d7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-play.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-prev.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-prev.png
deleted file mode 100644
index 5e7b3a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-prev.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rec.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rec.png
deleted file mode 100644
index 8fb3dfc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rec.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rew.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rew.png
deleted file mode 100644
index 18bb10a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-rew.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-stop.png
deleted file mode 100644
index bfd56f8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_media-stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-address-book.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-address-book.png
deleted file mode 100644
index 99aa2da..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-address-book.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-appointment.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-appointment.png
deleted file mode 100644
index c5e20fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-appointment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-bcard.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-bcard.png
deleted file mode 100644
index 8785fda..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-bcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-dir.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-dir.png
deleted file mode 100644
index cdd34ef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-dir.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-text.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-text.png
deleted file mode 100644
index b7e3276..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-window.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-window.png
deleted file mode 100644
index 55962a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_new-window.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_paste.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_paste.png
deleted file mode 100644
index 1868224..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_paste.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-preview.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-preview.png
deleted file mode 100644
index cae353c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-setup.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-setup.png
deleted file mode 100644
index 22c8788..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print-setup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print.png
deleted file mode 100644
index 3e69d95..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_print.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_properties.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_properties.png
deleted file mode 100644
index b649d91..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_properties.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_redo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_redo.png
deleted file mode 100644
index 063600d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_redo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_refresh.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_refresh.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_right.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_right.png
deleted file mode 100644
index 3b7d049..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save-as.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save-as.png
deleted file mode 100644
index b32b96c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save-as.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save.png
deleted file mode 100644
index db10f68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_save.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search-and-replace.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search-and-replace.png
deleted file mode 100644
index b5b88e4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search-and-replace.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search.png
deleted file mode 100644
index 8bd61a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_select-all.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_select-all.png
deleted file mode 100644
index ba8b523..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_select-all.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spam.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spam.png
deleted file mode 100644
index 8f00a8b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spam.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spellcheck.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spellcheck.png
deleted file mode 100644
index a5419ad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_spellcheck.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_stop.png
deleted file mode 100644
index 3bc6298..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text-strikethrough.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text-strikethrough.png
deleted file mode 100644
index 9d8fafe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text-strikethrough.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_bold.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_bold.png
deleted file mode 100644
index fcf0f30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_center.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_center.png
deleted file mode 100644
index a7cbacf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_indent.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_indent.png
deleted file mode 100644
index c506a71..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_indent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_italic.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_italic.png
deleted file mode 100644
index a8a5b17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_justify.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_justify.png
deleted file mode 100644
index e660e29..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_justify.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_left.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_left.png
deleted file mode 100644
index 2aa1b0d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_left.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_right.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_right.png
deleted file mode 100644
index 57cb607..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_right.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_underlined.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_underlined.png
deleted file mode 100644
index c3603e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_underlined.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_unindent.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_unindent.png
deleted file mode 100644
index c2e54ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_text_unindent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_top.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_top.png
deleted file mode 100644
index 5c2c4bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_undo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_undo.png
deleted file mode 100644
index ab01729..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_up.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_up.png
deleted file mode 100644
index e13742a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-1.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-1.png
deleted file mode 100644
index 1d948db..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-in.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-in.png
deleted file mode 100644
index c172457..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-out.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-out.png
deleted file mode 100644
index 7fde3bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-page.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-page.png
deleted file mode 100644
index f584e67..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stock_zoom-page.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/stop.png b/build/htdocs/dist/themes/icons/default/32x32/actions/stop.png
deleted file mode 100644
index 3bc6298..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/stop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/system-lock-screen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/system-lock-screen.png
deleted file mode 100644
index aec49c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/system-lock-screen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/system-log-out.png b/build/htdocs/dist/themes/icons/default/32x32/actions/system-log-out.png
deleted file mode 100644
index e835402..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/system-log-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/system-run.png b/build/htdocs/dist/themes/icons/default/32x32/actions/system-run.png
deleted file mode 100644
index 1284713..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/system-run.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/system-search.png b/build/htdocs/dist/themes/icons/default/32x32/actions/system-search.png
deleted file mode 100644
index bbb6931..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/system-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/system-shutdown.png b/build/htdocs/dist/themes/icons/default/32x32/actions/system-shutdown.png
deleted file mode 100644
index 1cd85cd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/system-shutdown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/text_bold.png b/build/htdocs/dist/themes/icons/default/32x32/actions/text_bold.png
deleted file mode 100644
index fcf0f30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/text_bold.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/text_italic.png b/build/htdocs/dist/themes/icons/default/32x32/actions/text_italic.png
deleted file mode 100644
index a8a5b17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/text_italic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/text_strike.png b/build/htdocs/dist/themes/icons/default/32x32/actions/text_strike.png
deleted file mode 100644
index 9d8fafe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/text_strike.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/text_under.png b/build/htdocs/dist/themes/icons/default/32x32/actions/text_under.png
deleted file mode 100644
index c3603e6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/text_under.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/tools-check-spelling.png b/build/htdocs/dist/themes/icons/default/32x32/actions/tools-check-spelling.png
deleted file mode 100644
index a5419ad..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/tools-check-spelling.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/top.png b/build/htdocs/dist/themes/icons/default/32x32/actions/top.png
deleted file mode 100644
index 5c2c4bb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/top.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/undo.png b/build/htdocs/dist/themes/icons/default/32x32/actions/undo.png
deleted file mode 100644
index ab01729..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/undo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/up.png b/build/htdocs/dist/themes/icons/default/32x32/actions/up.png
deleted file mode 100644
index e13742a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/up.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/view-fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/view-fullscreen.png
deleted file mode 100644
index 8a7cbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/view-fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/view-refresh.png b/build/htdocs/dist/themes/icons/default/32x32/actions/view-refresh.png
deleted file mode 100644
index e0ccac7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/view-refresh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/view-restore.png b/build/htdocs/dist/themes/icons/default/32x32/actions/view-restore.png
deleted file mode 100644
index 75bd581..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/view-restore.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-ascending.png b/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-ascending.png
deleted file mode 100644
index 16fb624..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-ascending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-descending.png b/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-descending.png
deleted file mode 100644
index e88bc10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/view-sort-descending.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag+.png b/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag+.png
deleted file mode 100644
index c172457..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag+.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag-.png b/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag-.png
deleted file mode 100644
index 7fde3bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag-.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag1.png b/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag1.png
deleted file mode 100644
index 1d948db..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmag1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmagfit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/viewmagfit.png
deleted file mode 100644
index f584e67..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/viewmagfit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/window-close.png b/build/htdocs/dist/themes/icons/default/32x32/actions/window-close.png
deleted file mode 100644
index 1c395e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/window-close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/window-new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/window-new.png
deleted file mode 100644
index 55962a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/window-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/window_fullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/window_fullscreen.png
deleted file mode 100644
index 8a7cbc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/window_fullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/window_new.png b/build/htdocs/dist/themes/icons/default/32x32/actions/window_new.png
deleted file mode 100644
index 55962a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/window_new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/window_nofullscreen.png b/build/htdocs/dist/themes/icons/default/32x32/actions/window_nofullscreen.png
deleted file mode 100644
index 75bd581..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/window_nofullscreen.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-exit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-exit.png
deleted file mode 100644
index c3f905e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-exit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-lock.png b/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-lock.png
deleted file mode 100644
index aec49c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/xfce-system-lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-best-fit.png b/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-best-fit.png
deleted file mode 100644
index f584e67..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-best-fit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-fit-best.png b/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-fit-best.png
deleted file mode 100644
index f584e67..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-fit-best.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-in.png b/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-in.png
deleted file mode 100644
index c172457..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-in.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-original.png b/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-original.png
deleted file mode 100644
index 1d948db..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-original.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-out.png b/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-out.png
deleted file mode 100644
index 7fde3bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/actions/zoom-out.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/animations/gnome-spinner.png b/build/htdocs/dist/themes/icons/default/32x32/animations/gnome-spinner.png
deleted file mode 100644
index 6ee362c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/animations/gnome-spinner.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/animations/process-working.png b/build/htdocs/dist/themes/icons/default/32x32/animations/process-working.png
deleted file mode 100644
index 6ee362c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/animations/process-working.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/access.png b/build/htdocs/dist/themes/icons/default/32x32/apps/access.png
deleted file mode 100644
index 7a02b28..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/access.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/accessibility-directory.png b/build/htdocs/dist/themes/icons/default/32x32/apps/accessibility-directory.png
deleted file mode 100644
index 7a02b28..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/accessibility-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-calculator.png b/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-calculator.png
deleted file mode 100644
index 0bd8d96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-calculator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-character-map.png b/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-character-map.png
deleted file mode 100644
index 52616a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-character-map.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-dictionary.png b/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-dictionary.png
deleted file mode 100644
index 0f165d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-dictionary.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-text-editor.png b/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-text-editor.png
deleted file mode 100644
index f4891bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/accessories-text-editor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/applets-screenshooter.png b/build/htdocs/dist/themes/icons/default/32x32/apps/applets-screenshooter.png
deleted file mode 100644
index fb5ed4d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/applets-screenshooter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/arts.png b/build/htdocs/dist/themes/icons/default/32x32/apps/arts.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/arts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/background.png b/build/htdocs/dist/themes/icons/default/32x32/apps/background.png
deleted file mode 100644
index cfdf28c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/background.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/calc.png b/build/htdocs/dist/themes/icons/default/32x32/apps/calc.png
deleted file mode 100644
index 0bd8d96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/config-language.png b/build/htdocs/dist/themes/icons/default/32x32/apps/config-language.png
deleted file mode 100644
index c6b9a68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/config-language.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/config-users.png b/build/htdocs/dist/themes/icons/default/32x32/apps/config-users.png
deleted file mode 100644
index 7371f18..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/config-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/file-manager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/file-manager.png
deleted file mode 100644
index 011affb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/file-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/fonts.png b/build/htdocs/dist/themes/icons/default/32x32/apps/fonts.png
deleted file mode 100644
index f1c9a14..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/fonts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-calculator.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-calculator.png
deleted file mode 100644
index 0bd8d96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-calculator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-character-map.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-character-map.png
deleted file mode 100644
index 52616a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-character-map.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-help.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-help.png
deleted file mode 100644
index 91b0c90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-mixer.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-mixer.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-mixer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-monitor.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-monitor.png
deleted file mode 100644
index 14cc6a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-monitor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel-notification-area.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel-notification-area.png
deleted file mode 100644
index f842985..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel-notification-area.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel.png
deleted file mode 100644
index 3d12867..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-panel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-remote-desktop.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-remote-desktop.png
deleted file mode 100644
index 0c93ab9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-remote-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-accessibility-technologies.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-accessibility-technologies.png
deleted file mode 100644
index 7a02b28..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-accessibility-technologies.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-background.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-background.png
deleted file mode 100644
index cfdf28c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-background.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-font.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-font.png
deleted file mode 100644
index f1c9a14..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-keybindings.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-keybindings.png
deleted file mode 100644
index fd1eb8c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-keybindings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-theme.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-theme.png
deleted file mode 100644
index 78ec52e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-settings-theme.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-terminal.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-terminal.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-window-manager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-window-manager.png
deleted file mode 100644
index 0cc63bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gnome-window-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/gucharmap.png b/build/htdocs/dist/themes/icons/default/32x32/apps/gucharmap.png
deleted file mode 100644
index 52616a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/gucharmap.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/help-browser.png b/build/htdocs/dist/themes/icons/default/32x32/apps/help-browser.png
deleted file mode 100644
index 91b0c90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/help-browser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kcalc.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kcalc.png
deleted file mode 100644
index 0bd8d96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kcalc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kcharselect.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kcharselect.png
deleted file mode 100644
index 52616a7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kcharselect.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kcmkwm.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kcmkwm.png
deleted file mode 100644
index 0cc63bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kcmkwm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kcmsound.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kcmsound.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kcmsound.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kedit.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kedit.png
deleted file mode 100644
index f4891bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kedit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/key_bindings.png b/build/htdocs/dist/themes/icons/default/32x32/apps/key_bindings.png
deleted file mode 100644
index fd1eb8c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/key_bindings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kfm.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kfm.png
deleted file mode 100644
index 011affb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kfm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/khelpcenter.png b/build/htdocs/dist/themes/icons/default/32x32/apps/khelpcenter.png
deleted file mode 100644
index 91b0c90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/khelpcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/konsole.png b/build/htdocs/dist/themes/icons/default/32x32/apps/konsole.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/konsole.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/krfb.png b/build/htdocs/dist/themes/icons/default/32x32/apps/krfb.png
deleted file mode 100644
index 0c93ab9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/krfb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kscreensaver.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kscreensaver.png
deleted file mode 100644
index 8a5aa96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kscreensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/ksysguard.png b/build/htdocs/dist/themes/icons/default/32x32/apps/ksysguard.png
deleted file mode 100644
index 14cc6a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/ksysguard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kuser.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kuser.png
deleted file mode 100644
index 7371f18..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kuser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/kwin.png b/build/htdocs/dist/themes/icons/default/32x32/apps/kwin.png
deleted file mode 100644
index 0cc63bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/kwin.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-base.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-base.png
deleted file mode 100644
index 549bcb7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-base.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-calc.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-calc.png
deleted file mode 100644
index 162f69c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-draw.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-draw.png
deleted file mode 100644
index 2e05ffe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-draw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-impress.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-impress.png
deleted file mode 100644
index a046ed3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-main.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-main.png
deleted file mode 100644
index dba5f4e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-main.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-math.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-math.png
deleted file mode 100644
index f392014..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-math.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-printeradmin.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-printeradmin.png
deleted file mode 100644
index 05cfd5f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-printeradmin.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-startcenter.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-startcenter.png
deleted file mode 100644
index dba5f4e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-startcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-writer.png b/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-writer.png
deleted file mode 100644
index 1942e73..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/libreoffice34-writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/locale.png b/build/htdocs/dist/themes/icons/default/32x32/apps/locale.png
deleted file mode 100644
index c6b9a68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/locale.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia-volume-control.png b/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia-volume-control.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia-volume-control.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia.png b/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/openterm.png b/build/htdocs/dist/themes/icons/default/32x32/apps/openterm.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/openterm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-accessibility.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-accessibility.png
deleted file mode 100644
index 7a02b28..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-accessibility.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-display.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-display.png
deleted file mode 100644
index 389b408..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-font.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-font.png
deleted file mode 100644
index f1c9a14..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard-shortcuts.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard-shortcuts.png
deleted file mode 100644
index fd1eb8c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard-shortcuts.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard.png
deleted file mode 100644
index eeaa121..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-locale.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-locale.png
deleted file mode 100644
index c6b9a68..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-locale.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-remote-desktop.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-remote-desktop.png
deleted file mode 100644
index 0c93ab9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-remote-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-screensaver.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-screensaver.png
deleted file mode 100644
index 8a5aa96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-screensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-theme.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-theme.png
deleted file mode 100644
index 78ec52e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-theme.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-wallpaper.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-wallpaper.png
deleted file mode 100644
index cfdf28c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-desktop-wallpaper.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-system-windows.png b/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-system-windows.png
deleted file mode 100644
index 0cc63bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/preferences-system-windows.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/redhat-filemanager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/redhat-filemanager.png
deleted file mode 100644
index 011affb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/redhat-filemanager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/screensaver.png b/build/htdocs/dist/themes/icons/default/32x32/apps/screensaver.png
deleted file mode 100644
index 8a5aa96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/screensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/style.png b/build/htdocs/dist/themes/icons/default/32x32/apps/style.png
deleted file mode 100644
index 78ec52e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/style.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/susehelpcenter.png b/build/htdocs/dist/themes/icons/default/32x32/apps/susehelpcenter.png
deleted file mode 100644
index 91b0c90..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/susehelpcenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/system-config-users.png b/build/htdocs/dist/themes/icons/default/32x32/apps/system-config-users.png
deleted file mode 100644
index 7371f18..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/system-config-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/system-file-manager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/system-file-manager.png
deleted file mode 100644
index 011affb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/system-file-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-install.png b/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-install.png
deleted file mode 100644
index ba2e42d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-install.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-update.png b/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-update.png
deleted file mode 100644
index b494ba0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/system-software-update.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/system-users.png b/build/htdocs/dist/themes/icons/default/32x32/apps/system-users.png
deleted file mode 100644
index 7371f18..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/system-users.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/terminal.png b/build/htdocs/dist/themes/icons/default/32x32/apps/terminal.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/text-editor.png b/build/htdocs/dist/themes/icons/default/32x32/apps/text-editor.png
deleted file mode 100644
index f4891bd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/text-editor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/update-manager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/update-manager.png
deleted file mode 100644
index b494ba0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/update-manager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/user-info.png b/build/htdocs/dist/themes/icons/default/32x32/apps/user-info.png
deleted file mode 100644
index 9206ea0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/user-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-system-monitor.png b/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-system-monitor.png
deleted file mode 100644
index 14cc6a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-system-monitor.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-terminal.png b/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-terminal.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/utilities-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/volume-knob.png b/build/htdocs/dist/themes/icons/default/32x32/apps/volume-knob.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/volume-knob.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/wallpaper.png b/build/htdocs/dist/themes/icons/default/32x32/apps/wallpaper.png
deleted file mode 100644
index cfdf28c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/wallpaper.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/web-browser.png b/build/htdocs/dist/themes/icons/default/32x32/apps/web-browser.png
deleted file mode 100644
index 074fa05..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/web-browser.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-filemanager.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-filemanager.png
deleted file mode 100644
index 011affb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-filemanager.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-terminal.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-terminal.png
deleted file mode 100644
index 95a45fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce-terminal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-backdrop.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-backdrop.png
deleted file mode 100644
index cfdf28c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-backdrop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-mixer.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-mixer.png
deleted file mode 100644
index 6925485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xfce4-mixer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xfwm4.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xfwm4.png
deleted file mode 100644
index 0cc63bc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xfwm4.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/xscreensaver.png b/build/htdocs/dist/themes/icons/default/32x32/apps/xscreensaver.png
deleted file mode 100644
index 8a5aa96..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/xscreensaver.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/apps/zen-icon.png b/build/htdocs/dist/themes/icons/default/32x32/apps/zen-icon.png
deleted file mode 100644
index b494ba0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/apps/zen-icon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-accessories.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-accessories.png
deleted file mode 100644
index d77ea92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-accessories.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-development.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-development.png
deleted file mode 100644
index 3450750..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-development.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-engineering.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-engineering.png
deleted file mode 100644
index 050ccef..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-engineering.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-games.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-games.png
deleted file mode 100644
index 06abec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-graphics.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-graphics.png
deleted file mode 100644
index f74f540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-internet.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-internet.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-multimedia.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-multimedia.png
deleted file mode 100644
index f21cff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-office.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-office.png
deleted file mode 100644
index 9287851..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-other.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-other.png
deleted file mode 100644
index 729eb0f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-science.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-science.png
deleted file mode 100644
index 2958f3e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-science.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-system.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-system.png
deleted file mode 100644
index 371c19b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-utilities.png b/build/htdocs/dist/themes/icons/default/32x32/categories/applications-utilities.png
deleted file mode 100644
index e3d5ac5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/applications-utilities.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-applications.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-applications.png
deleted file mode 100644
index 9287851..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-applications.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-control-center.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-control-center.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-control-center.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-devel.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-devel.png
deleted file mode 100644
index 3450750..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-devel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-globe.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-globe.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-globe.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-graphics.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-graphics.png
deleted file mode 100644
index f74f540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-joystick.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-joystick.png
deleted file mode 100644
index 06abec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-multimedia.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-multimedia.png
deleted file mode 100644
index f21cff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-other.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-other.png
deleted file mode 100644
index 729eb0f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-settings.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-system.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-system.png
deleted file mode 100644
index 371c19b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-util.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-util.png
deleted file mode 100644
index d77ea92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gnome-util.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/gtk-preferences.png b/build/htdocs/dist/themes/icons/default/32x32/categories/gtk-preferences.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/gtk-preferences.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/input_devices_settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/input_devices_settings.png
deleted file mode 100644
index a37b5d6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/input_devices_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/kcontrol.png b/build/htdocs/dist/themes/icons/default/32x32/categories/kcontrol.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/kcontrol.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_development.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_development.png
deleted file mode 100644
index 3450750..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_development.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_games.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_games.png
deleted file mode 100644
index 06abec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_graphics.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_graphics.png
deleted file mode 100644
index f74f540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_multimedia.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_multimedia.png
deleted file mode 100644
index f21cff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_network.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_network.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_office.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_office.png
deleted file mode 100644
index 9287851..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_settings.png
deleted file mode 100644
index 2f09ef3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_system.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_system.png
deleted file mode 100644
index 371c19b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/package_utilities.png b/build/htdocs/dist/themes/icons/default/32x32/categories/package_utilities.png
deleted file mode 100644
index d77ea92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/package_utilities.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-peripherals.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-peripherals.png
deleted file mode 100644
index a37b5d6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-peripherals.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-personal.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-personal.png
deleted file mode 100644
index 6b2e05a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop-personal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-other.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-other.png
deleted file mode 100644
index 2f61e3b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-other.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system-network.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system-network.png
deleted file mode 100644
index fbc89a1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system.png b/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system.png
deleted file mode 100644
index 2f09ef3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/preferences-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-accessories.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-accessories.png
deleted file mode 100644
index d77ea92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-accessories.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-games.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-games.png
deleted file mode 100644
index 06abec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-graphics.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-graphics.png
deleted file mode 100644
index f74f540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-internet.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-internet.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-office.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-office.png
deleted file mode 100644
index 9287851..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-preferences.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-preferences.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-preferences.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-programming.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-programming.png
deleted file mode 100644
index 3450750..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-programming.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-sound_video.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-sound_video.png
deleted file mode 100644
index f21cff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-sound_video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_settings.png
deleted file mode 100644
index 2f09ef3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_tools.png b/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_tools.png
deleted file mode 100644
index 371c19b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/redhat-system_tools.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/stock_internet.png b/build/htdocs/dist/themes/icons/default/32x32/categories/stock_internet.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/stock_internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/system-help.png b/build/htdocs/dist/themes/icons/default/32x32/categories/system-help.png
deleted file mode 100644
index 26598e8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/system-help.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-games.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-games.png
deleted file mode 100644
index 06abec7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-games.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-graphics.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-graphics.png
deleted file mode 100644
index f74f540..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-internet.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-internet.png
deleted file mode 100644
index cc989b6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-internet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-multimedia.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-multimedia.png
deleted file mode 100644
index f21cff0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-multimedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-office.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-office.png
deleted file mode 100644
index 9287851..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-office.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-system-settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-system-settings.png
deleted file mode 100644
index 2f09ef3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-system-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-utils.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-utils.png
deleted file mode 100644
index d77ea92..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce-utils.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce4-settings.png b/build/htdocs/dist/themes/icons/default/32x32/categories/xfce4-settings.png
deleted file mode 100644
index f59417b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/categories/xfce4-settings.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/3floppy_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/3floppy_unmount.png
deleted file mode 100644
index 1f1bc8e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/3floppy_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/ac-adapter.png b/build/htdocs/dist/themes/icons/default/32x32/devices/ac-adapter.png
deleted file mode 100644
index 4b190b8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/ac-adapter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/audio-card.png b/build/htdocs/dist/themes/icons/default/32x32/devices/audio-card.png
deleted file mode 100644
index dbe1719..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/audio-card.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/audio-input-microphone.png b/build/htdocs/dist/themes/icons/default/32x32/devices/audio-input-microphone.png
deleted file mode 100644
index 824712c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/audio-input-microphone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/battery.png b/build/htdocs/dist/themes/icons/default/32x32/devices/battery.png
deleted file mode 100644
index 8cc17ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/battery.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-photo.png b/build/htdocs/dist/themes/icons/default/32x32/devices/camera-photo.png
deleted file mode 100644
index f0c9901..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-photo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-video.png b/build/htdocs/dist/themes/icons/default/32x32/devices/camera-video.png
deleted file mode 100644
index fcdf4a0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-web.png b/build/htdocs/dist/themes/icons/default/32x32/devices/camera-web.png
deleted file mode 100644
index b34f2c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/camera-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/camera.png b/build/htdocs/dist/themes/icons/default/32x32/devices/camera.png
deleted file mode 100644
index f0c9901..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/camera.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/camera_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/camera_unmount.png
deleted file mode 100644
index f0c9901..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/camera_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/cdrom_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/cdrom_unmount.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/cdrom_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/cdwriter_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/cdwriter_unmount.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/cdwriter_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/chardevice.png b/build/htdocs/dist/themes/icons/default/32x32/devices/chardevice.png
deleted file mode 100644
index fda6bf5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/chardevice.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/computer-apple-ipad.png b/build/htdocs/dist/themes/icons/default/32x32/devices/computer-apple-ipad.png
deleted file mode 100644
index da1061c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/computer-apple-ipad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/computer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/computer.png
deleted file mode 100644
index 7cf6441..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/computer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/display.png b/build/htdocs/dist/themes/icons/default/32x32/devices/display.png
deleted file mode 100644
index fda6bf5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-cdrom.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-cdrom.png
deleted file mode 100644
index 9c8882b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-ieee1394.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-ieee1394.png
deleted file mode 100644
index 034c381..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-ieee1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-system.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-system.png
deleted file mode 100644
index f12b388..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-usb.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-usb.png
deleted file mode 100644
index 5851777..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-optical.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-optical.png
deleted file mode 100644
index 9c8882b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-removable-media.png b/build/htdocs/dist/themes/icons/default/32x32/devices/drive-removable-media.png
deleted file mode 100644
index 36af104..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/drive-removable-media.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/dvd_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/dvd_unmount.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/dvd_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-battery.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-battery.png
deleted file mode 100644
index 8cc17ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-battery.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom-audio.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom-audio.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom.png
deleted file mode 100644
index 9c8882b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-computer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-computer.png
deleted file mode 100644
index 7cf6441..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-computer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdr.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdr.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdrw.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdrw.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-cdrw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr-plus.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr-plus.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr-plus.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdram.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdram.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdram.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrom.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrom.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrw.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrw.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-disc-dvdrw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-dvd.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-dvd.png
deleted file mode 100644
index 9c8882b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-dvd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ethernet.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ethernet.png
deleted file mode 100644
index 87487c8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ethernet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-floppy.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-floppy.png
deleted file mode 100644
index 1f1bc8e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-1394.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-1394.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-usb.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-usb.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ipod.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ipod.png
deleted file mode 100644
index 0a1c1a4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-ipod.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-keyboard.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-keyboard.png
deleted file mode 100644
index f0213d1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-cf.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-cf.png
deleted file mode 100644
index f3e4621..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-cf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-ms.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-ms.png
deleted file mode 100644
index f3e4621..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-ms.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sdmmc.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sdmmc.png
deleted file mode 100644
index f3e4621..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sdmmc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sm.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sm.png
deleted file mode 100644
index f3e4621..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-media-sm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-ball.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-ball.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-ball.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-optical.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-optical.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-mouse-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-printer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-printer.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-1394.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-1394.png
deleted file mode 100644
index 36af104..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-1394.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-usb.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-usb.png
deleted file mode 100644
index 36af104..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable-usb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable.png
deleted file mode 100644
index 36af104..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-removable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-wavelan.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-wavelan.png
deleted file mode 100644
index 4358de7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-dev-wavelan.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-fs-client.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-fs-client.png
deleted file mode 100644
index 7cf6441..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-fs-client.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-modem.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-modem.png
deleted file mode 100644
index 74a253c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-modem.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-stock-mic.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-stock-mic.png
deleted file mode 100644
index 824712c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gnome-stock-mic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-cdrom.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-cdrom.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-floppy.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-floppy.png
deleted file mode 100644
index 1f1bc8e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-harddisk.png b/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-harddisk.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/gtk-harddisk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/harddrive.png b/build/htdocs/dist/themes/icons/default/32x32/devices/harddrive.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/harddrive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/hdd_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/hdd_unmount.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/hdd_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-dialpad.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-dialpad.png
deleted file mode 100644
index 5f2c446..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-dialpad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-gaming.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-gaming.png
deleted file mode 100644
index 9670ee8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-gaming.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-keyboard.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-keyboard.png
deleted file mode 100644
index f0213d1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-mouse.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-mouse.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-tablet.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-tablet.png
deleted file mode 100644
index b437e2c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-tablet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/input-touchpad.png b/build/htdocs/dist/themes/icons/default/32x32/devices/input-touchpad.png
deleted file mode 100644
index 0e52113..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/input-touchpad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/ipod_mount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/ipod_mount.png
deleted file mode 100644
index 0a1c1a4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/ipod_mount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/joystick.png b/build/htdocs/dist/themes/icons/default/32x32/devices/joystick.png
deleted file mode 100644
index 9670ee8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/keyboard.png b/build/htdocs/dist/themes/icons/default/32x32/devices/keyboard.png
deleted file mode 100644
index f0213d1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/kjobviewer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/kjobviewer.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/kjobviewer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/kxkb.png b/build/htdocs/dist/themes/icons/default/32x32/devices/kxkb.png
deleted file mode 100644
index f0213d1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/kxkb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-cdrom.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-cdrom.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-cdrom.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-flash.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-flash.png
deleted file mode 100644
index f3e4621..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-flash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-floppy.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-floppy.png
deleted file mode 100644
index 1f1bc8e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-bd.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-bd.png
deleted file mode 100644
index d8a87c7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-bd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-cd-audio.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-cd-audio.png
deleted file mode 100644
index eb09702..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-cd-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-dvd.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-dvd.png
deleted file mode 100644
index cc0f571..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical-dvd.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical.png
deleted file mode 100644
index b0fff39..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-optical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-removable.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-removable.png
deleted file mode 100644
index c3a1846..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-removable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-tape.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-tape.png
deleted file mode 100644
index 45abe84..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-tape.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/media-zip.png b/build/htdocs/dist/themes/icons/default/32x32/devices/media-zip.png
deleted file mode 100644
index 9ce987f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/media-zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/modem.png b/build/htdocs/dist/themes/icons/default/32x32/devices/modem.png
deleted file mode 100644
index 74a253c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/modem.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/mouse.png b/build/htdocs/dist/themes/icons/default/32x32/devices/mouse.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player-apple-ipod-touch.png b/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player-apple-ipod-touch.png
deleted file mode 100644
index 1c27794..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player-apple-ipod-touch.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player.png b/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player.png
deleted file mode 100644
index 0a1c1a4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/multimedia-player.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/network-vpn.png b/build/htdocs/dist/themes/icons/default/32x32/devices/network-vpn.png
deleted file mode 100644
index d3be66f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/network-vpn.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/network-wired.png b/build/htdocs/dist/themes/icons/default/32x32/devices/network-wired.png
deleted file mode 100644
index 87487c8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/network-wired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/network-wireless.png b/build/htdocs/dist/themes/icons/default/32x32/devices/network-wireless.png
deleted file mode 100644
index 4358de7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/network-wireless.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/pda.png b/build/htdocs/dist/themes/icons/default/32x32/devices/pda.png
deleted file mode 100644
index 1764bcc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/pda.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-apple-iphone.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone-apple-iphone.png
deleted file mode 100644
index 9be5f03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-apple-iphone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-google-nexus-one.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone-google-nexus-one.png
deleted file mode 100644
index 7a00d51..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-google-nexus-one.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-htc-g1-white.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone-htc-g1-white.png
deleted file mode 100644
index fa24512..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-htc-g1-white.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-palm-pre.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone-palm-pre.png
deleted file mode 100644
index 521f097..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-palm-pre.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-samsung-galaxy-s.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone-samsung-galaxy-s.png
deleted file mode 100644
index 8070d50..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone-samsung-galaxy-s.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/phone.png b/build/htdocs/dist/themes/icons/default/32x32/devices/phone.png
deleted file mode 100644
index 1bdfbed..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/phone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/printer-network.png b/build/htdocs/dist/themes/icons/default/32x32/devices/printer-network.png
deleted file mode 100644
index f7d286c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/printer-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/printer-remote.png b/build/htdocs/dist/themes/icons/default/32x32/devices/printer-remote.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/printer-remote.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/printer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/printer.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/printer1.png b/build/htdocs/dist/themes/icons/default/32x32/devices/printer1.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/printer1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/printmgr.png b/build/htdocs/dist/themes/icons/default/32x32/devices/printmgr.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/printmgr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/scanner.png b/build/htdocs/dist/themes/icons/default/32x32/devices/scanner.png
deleted file mode 100644
index 66c2deb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/scanner.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/speaker.png b/build/htdocs/dist/themes/icons/default/32x32/devices/speaker.png
deleted file mode 100644
index 4d37be4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/speaker.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_cell-phone.png b/build/htdocs/dist/themes/icons/default/32x32/devices/stock_cell-phone.png
deleted file mode 100644
index 1bdfbed..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_cell-phone.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_mic.png b/build/htdocs/dist/themes/icons/default/32x32/devices/stock_mic.png
deleted file mode 100644
index 824712c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_mic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_printers.png b/build/htdocs/dist/themes/icons/default/32x32/devices/stock_printers.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/stock_printers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/system-floppy.png b/build/htdocs/dist/themes/icons/default/32x32/devices/system-floppy.png
deleted file mode 100644
index 1f1bc8e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/system-floppy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/system.png b/build/htdocs/dist/themes/icons/default/32x32/devices/system.png
deleted file mode 100644
index 7cf6441..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/usbpendrive_unmount.png b/build/htdocs/dist/themes/icons/default/32x32/devices/usbpendrive_unmount.png
deleted file mode 100644
index 36af104..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/usbpendrive_unmount.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/video-display.png b/build/htdocs/dist/themes/icons/default/32x32/devices/video-display.png
deleted file mode 100644
index fda6bf5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/video-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce-printer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/xfce-printer.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce-printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-display.png b/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-display.png
deleted file mode 100644
index fda6bf5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-display.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-keyboard.png b/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-keyboard.png
deleted file mode 100644
index f0213d1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-keyboard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-mouse.png b/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-mouse.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/xfce4-mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_HD.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_HD.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_HD.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_idetude.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_idetude.png
deleted file mode 100644
index cfe4c10..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_idetude.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_joystick.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_joystick.png
deleted file mode 100644
index 9670ee8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_joystick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_mouse.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_mouse.png
deleted file mode 100644
index d718aca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_mouse.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_printer.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_printer.png
deleted file mode 100644
index 3f188cb..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_printer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_soundcard.png b/build/htdocs/dist/themes/icons/default/32x32/devices/yast_soundcard.png
deleted file mode 100644
index dbe1719..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/devices/yast_soundcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-default.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-default.png
deleted file mode 100644
index 4caba38..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-default.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-documents.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-documents.png
deleted file mode 100644
index 93fddb8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-documents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-downloads.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-downloads.png
deleted file mode 100644
index de0d0b8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-downloads.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-favorite.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-favorite.png
deleted file mode 100644
index c569834..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-favorite.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-generic.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-generic.png
deleted file mode 100644
index a922133..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-important.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-important.png
deleted file mode 100644
index 40cc71d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-mail.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-mail.png
deleted file mode 100644
index 109bfca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-mail.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-new.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-new.png
deleted file mode 100644
index 9c59c9a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-new.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-noread.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-noread.png
deleted file mode 100644
index a7d5c03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-noread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-nowrite.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-nowrite.png
deleted file mode 100644
index fc86422..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-nowrite.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-package.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-package.png
deleted file mode 100644
index 1cd3466..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-photos.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-photos.png
deleted file mode 100644
index 2369b6d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-photos.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-readonly.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-readonly.png
deleted file mode 100644
index fc86422..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-readonly.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-shared.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-shared.png
deleted file mode 100644
index 554d1c3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-shared.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-symbolic-link.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-symbolic-link.png
deleted file mode 100644
index 6aa2b30..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-symbolic-link.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-synchronizing.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-synchronizing.png
deleted file mode 100644
index a5a5958..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-synchronizing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-system.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-system.png
deleted file mode 100644
index 49d728d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-system.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-unreadable.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-unreadable.png
deleted file mode 100644
index a7d5c03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-unreadable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-urgent.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-urgent.png
deleted file mode 100644
index d9b124f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-urgent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-web.png b/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-web.png
deleted file mode 100644
index b6a84ce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emblems/emblem-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angel.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angel.png
deleted file mode 100644
index 6357d02..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angry.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angry.png
deleted file mode 100644
index 52612f5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-angry.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-cool.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-cool.png
deleted file mode 100644
index 475181a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-cool.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-crying.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-crying.png
deleted file mode 100644
index 5d3dab0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-crying.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-devilish.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-devilish.png
deleted file mode 100644
index c8dc471..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-devilish.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-embarrassed.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-embarrassed.png
deleted file mode 100644
index 105001e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-embarrassed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-glasses.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-glasses.png
deleted file mode 100644
index 2dad18e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-glasses.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-kiss.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-kiss.png
deleted file mode 100644
index 691a5ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-kiss.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-laugh.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-laugh.png
deleted file mode 100644
index 0cf201b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-laugh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-monkey.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-monkey.png
deleted file mode 100644
index 3ffe3f6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-monkey.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-plain.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-plain.png
deleted file mode 100644
index 58dded9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-plain.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-raspberry.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-raspberry.png
deleted file mode 100644
index 12a13ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-raspberry.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sad.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sad.png
deleted file mode 100644
index febb349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sad.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sick.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sick.png
deleted file mode 100644
index d2a257d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-sick.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile-big.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile-big.png
deleted file mode 100644
index 29c1ef5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile-big.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile.png
deleted file mode 100644
index 8c9b04e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smile.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smirk.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smirk.png
deleted file mode 100644
index b8c90ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-smirk.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-surprise.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-surprise.png
deleted file mode 100644
index f52aa0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-surprise.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-tired.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-tired.png
deleted file mode 100644
index 7cac0e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-tired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-uncertain.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-uncertain.png
deleted file mode 100644
index 8d766fa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-uncertain.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-wink.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-wink.png
deleted file mode 100644
index 145488c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-wink.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-worried.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/face-worried.png
deleted file mode 100644
index a4b4bc5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/face-worried.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-1.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-1.png
deleted file mode 100644
index 8c9b04e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-10.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-10.png
deleted file mode 100644
index 12a13ca..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-10.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-11.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-11.png
deleted file mode 100644
index 5d3dab0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-11.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-13.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-13.png
deleted file mode 100644
index 691a5ea..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-13.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-15.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-15.png
deleted file mode 100644
index 475181a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-15.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-18.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-18.png
deleted file mode 100644
index 6357d02..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-18.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-2.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-2.png
deleted file mode 100644
index 8c9b04e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-22.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-22.png
deleted file mode 100644
index 3ffe3f6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-22.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-3.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-3.png
deleted file mode 100644
index 145488c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-4.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-4.png
deleted file mode 100644
index febb349..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-4.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-5.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-5.png
deleted file mode 100644
index f52aa0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-5.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-6.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-6.png
deleted file mode 100644
index 29c1ef5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-6.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-7.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-7.png
deleted file mode 100644
index 8c9b04e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-7.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-8.png b/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-8.png
deleted file mode 100644
index 58dded9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/emotes/stock_smiley-8.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-certificate.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-certificate.png
deleted file mode 100644
index af3dafa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-certificate.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-rss+xml.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-rss+xml.png
deleted file mode 100644
index d058b22..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-rss+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-excel.sheet.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-powerpoint.presentation.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.ms-word.document.macroEnabled.12.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openofficeorg.extension.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openofficeorg.extension.png
deleted file mode 100644
index 1ad1db4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openofficeorg.extension.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png
deleted file mode 100644
index b455989..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.presentationml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.sheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png
deleted file mode 100644
index 387b9cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.spreadsheetml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png
deleted file mode 100644
index 9d4b25f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-vnd.openxmlformats-officedocument.wordprocessingml.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-blender.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-blender.png
deleted file mode 100644
index 1624c84..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-blender.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-cd-image.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-cd-image.png
deleted file mode 100644
index cc8147b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-cd-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-executable.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-executable.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-mono-develop-xib.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-mono-develop-xib.png
deleted file mode 100644
index b1b4a1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/application-x-mono-develop-xib.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/ascii.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/ascii.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/ascii.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/audio-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/audio-x-generic.png
deleted file mode 100644
index ede8e9d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/audio-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/binary.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/binary.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/binary.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/contents2.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/contents2.png
deleted file mode 100644
index d2a8669..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/contents2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/deb.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/deb.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/deb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/document.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/document.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/empty.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/empty.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/exec.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/exec.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/exec.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/folder_tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/folder_tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/folder_tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font-x-generic.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_bitmap.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_bitmap.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_bitmap.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_truetype.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_truetype.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_truetype.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_type1.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_type1.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/font_type1.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-executable.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-executable.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-regular.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-regular.png
deleted file mode 100644
index 7cad893..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-fs-regular.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-magicpoint.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-magicpoint.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-magicpoint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-msword.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-msword.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-msword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-ogg.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-ogg.png
deleted file mode 100644
index ede8e9d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-ogg.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-pdf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-pdf.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-pdf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-postscript.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-postscript.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-postscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-rtf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-rtf.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-rtf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.lotus-1-2-3.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-excel.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-excel.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-excel.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.ms-powerpoint.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png
deleted file mode 100644
index 5cd2a35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png
deleted file mode 100644
index 7f9cf1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.graphics.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png
deleted file mode 100644
index 7f9cf1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png
deleted file mode 100644
index b455989..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png
deleted file mode 100644
index 387b9cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png
deleted file mode 100644
index 9d4b25f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text-web.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.oasis.opendocument.text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-secure.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia-vbr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.rn-realmedia.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.calc.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.calc.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.impress.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.impress.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.writer.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.writer.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.stardivision.writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png
deleted file mode 100644
index 387b9cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.calc.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png
deleted file mode 100644
index 7f9cf1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png
deleted file mode 100644
index 5cd2a35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.draw.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png
deleted file mode 100644
index b455989..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.impress.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png
deleted file mode 100644
index 9d4b25f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-vnd.sun.xml.writer.template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-wordperfect.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-wordperfect.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-wordperfect.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-7z-compressed.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-7z-compressed.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-7z-compressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-abiword.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-abiword.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-abiword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-spreadsheet.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-word.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-word.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-applix-word.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-archive.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-archive.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-archive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-arj.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-arj.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-arj.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-bzip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compress.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compress.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compress.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compressed-tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compressed-tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio-compressed.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio-compressed.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio-compressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-cpio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-deb.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-deb.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-deb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-dvi.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-dvi.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-dvi.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-executable.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-executable.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-afm.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-afm.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-afm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-bdf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-bdf.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-bdf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-linux-psf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-linux-psf.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-linux-psf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-pcf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-pcf.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-pcf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-sunos-news.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-sunos-news.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-sunos-news.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-ttf.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-ttf.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-font-ttf.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gnumeric.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gnumeric.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gnumeric.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzip.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzip.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzpostscript.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzpostscript.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-gzpostscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-jar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-jar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-jar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-killustrator.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-killustrator.png
deleted file mode 100644
index 3ad564c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-killustrator.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kpresenter.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kpresenter.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kpresenter.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kspread.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kspread.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kspread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kword.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kword.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-kword.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lha.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lha.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lha.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lhz.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lhz.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lhz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma-compressed-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-lzma.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-ms-dos-executable.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-ms-dos-executable.png
deleted file mode 100644
index b810fc1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-ms-dos-executable.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-perl.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-perl.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-perl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-php.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-php.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-php.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-python-bytecode.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-python-bytecode.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-python-bytecode.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rpm.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rpm.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-rpm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-scribus.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-scribus.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-scribus.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shellscript.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shellscript.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shellscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shockwave-flash.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shockwave-flash.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-shockwave-flash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-stuffit.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-stuffit.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-stuffit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tarz.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tarz.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tarz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tex.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tex.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-x-tex.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-xhtml+xml.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-xhtml+xml.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-xhtml+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-zip.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-zip.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-application-zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-audio.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-audio.png
deleted file mode 100644
index ede8e9d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-audio.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-image.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-image.png
deleted file mode 100644
index 3ad564c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-html.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-html.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-vnd.wap.wml.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-vnd.wap.wml.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-vnd.wap.wml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-csh.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-csh.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-csh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-python.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-python.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-python.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-sh.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-sh.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-sh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcalendar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcalendar.png
deleted file mode 100644
index cec3de3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcalendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcard.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcard.png
deleted file mode 100644
index d2a8669..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-vcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-zsh.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-zsh.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text-x-zsh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-video.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-video.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-x-font-afm.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-x-font-afm.png
deleted file mode 100644
index 3041a0e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-mime-x-font-afm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-package.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-package.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gnome-package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gtk-file.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gtk-file.png
deleted file mode 100644
index 7cad893..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/gtk-file.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/html.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/html.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image-x-generic.png
deleted file mode 100644
index 3ad564c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image.png
deleted file mode 100644
index 3ad564c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/kpresenter_kpr.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/kpresenter_kpr.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/kpresenter_kpr.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-database.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-database.png
deleted file mode 100644
index 709903d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-database.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing-template.png
deleted file mode 100644
index 76e5abd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing.png
deleted file mode 100644
index 380c60a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-extension.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-extension.png
deleted file mode 100644
index b4d8171..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-extension.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-formula.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-formula.png
deleted file mode 100644
index 37306ac..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-formula.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-master-document.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-master-document.png
deleted file mode 100644
index 1f3e799..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-master-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-database.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-database.png
deleted file mode 100644
index 549bcb7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-database.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing-template.png
deleted file mode 100644
index 3bd7387..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing.png
deleted file mode 100644
index 2e05ffe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-formula.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-formula.png
deleted file mode 100644
index f392014..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-formula.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-master-document.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-master-document.png
deleted file mode 100644
index 2cf6741..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-master-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation-template.png
deleted file mode 100644
index ea8579d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation.png
deleted file mode 100644
index a046ed3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet-template.png
deleted file mode 100644
index 0b2b6c5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet.png
deleted file mode 100644
index 162f69c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text-template.png
deleted file mode 100644
index cfd3907..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text.png
deleted file mode 100644
index 1942e73..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-web-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-web-template.png
deleted file mode 100644
index c08fd88..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-oasis-web-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation-template.png
deleted file mode 100644
index 0edabbc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation.png
deleted file mode 100644
index 0eee116..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet-template.png
deleted file mode 100644
index 158a63a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet.png
deleted file mode 100644
index f7352ab..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text-template.png
deleted file mode 100644
index cfba261..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text.png
deleted file mode 100644
index 77f87e7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/libreoffice34-text.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/mime_ascii.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/mime_ascii.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/mime_ascii.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/misc.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/misc.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/misc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package-x-generic.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_editors.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_editors.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_editors.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_wordprocessing.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_wordprocessing.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/package_wordprocessing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/plan.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/plan.png
deleted file mode 100644
index cec3de3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/plan.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/rpm.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/rpm.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/rpm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/shellscript.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/shellscript.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/shellscript.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/sound.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/sound.png
deleted file mode 100644
index ede8e9d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/sound.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/spreadsheet.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_addressbook.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_addressbook.png
deleted file mode 100644
index d2a8669..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_addressbook.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_calendar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_calendar.png
deleted file mode 100644
index cec3de3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_calendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_certificate.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_certificate.png
deleted file mode 100644
index af3dafa..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_certificate.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_script.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_script.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/stock_script.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tar.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/template_source.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/template_source.png
deleted file mode 100644
index a23677f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/template_source.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-html.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-html.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-html.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic-template.png
deleted file mode 100644
index a23677f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-opml+xml.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-opml+xml.png
deleted file mode 100644
index 9c322ee..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-opml+xml.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-preview.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-preview.png
deleted file mode 100644
index 7cad893..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-preview.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-script.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-script.png
deleted file mode 100644
index c3145d3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/text-x-script.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tgz.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tgz.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/tgz.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt2.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt2.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/txt2.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/unknown.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/unknown.png
deleted file mode 100644
index 9212b03..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/unknown.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcalendar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcalendar.png
deleted file mode 100644
index cec3de3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcalendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcard.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcard.png
deleted file mode 100644
index d2a8669..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/vcard.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video-x-generic.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video-x-generic.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video-x-generic.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video.png
deleted file mode 100644
index 79af499..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/video.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/wordprocessing.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/wordprocessing.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/wordprocessing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/www.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/www.png
deleted file mode 100644
index b1df007..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/www.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-address-book.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-address-book.png
deleted file mode 100644
index d2a8669..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-address-book.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-calendar.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-calendar.png
deleted file mode 100644
index cec3de3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-calendar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document-template.png
deleted file mode 100644
index 9d4b25f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document.png
deleted file mode 100644
index c9e318e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-document.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing-template.png
deleted file mode 100644
index 5cd2a35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing.png
deleted file mode 100644
index 7f9cf1d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-drawing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation-template.png
deleted file mode 100644
index b455989..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation.png
deleted file mode 100644
index 839e9a3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-presentation.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet-template.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet-template.png
deleted file mode 100644
index 387b9cf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet-template.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet.png
deleted file mode 100644
index 0a531a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/x-office-spreadsheet.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/zip.png b/build/htdocs/dist/themes/icons/default/32x32/mimetypes/zip.png
deleted file mode 100644
index 05676e2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/mimetypes/zip.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/osjs-white.png b/build/htdocs/dist/themes/icons/default/32x32/osjs-white.png
deleted file mode 100644
index 136fc54..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/osjs-white.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/osjs.png b/build/htdocs/dist/themes/icons/default/32x32/osjs.png
deleted file mode 100644
index 95bfee1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/osjs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/application-x-gnome-saved-search.png b/build/htdocs/dist/themes/icons/default/32x32/places/application-x-gnome-saved-search.png
deleted file mode 100644
index 870ae5b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/application-x-gnome-saved-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/desktop.png b/build/htdocs/dist/themes/icons/default/32x32/places/desktop.png
deleted file mode 100644
index 844dff3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/distributor-logo.png b/build/htdocs/dist/themes/icons/default/32x32/places/distributor-logo.png
deleted file mode 100644
index 231dcde..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/distributor-logo.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/dropbox.png b/build/htdocs/dist/themes/icons/default/32x32/places/dropbox.png
deleted file mode 100644
index 3a04ecd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/dropbox.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/emptytrash.png b/build/htdocs/dist/themes/icons/default/32x32/places/emptytrash.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/emptytrash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-documents.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-documents.png
deleted file mode 100644
index a0dd813..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-documents.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-download.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-download.png
deleted file mode 100644
index 3fa1a7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-download.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-music.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-music.png
deleted file mode 100644
index dc6caaf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-music.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-pictures.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-pictures.png
deleted file mode 100644
index a894386..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-pictures.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-publicshare.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-publicshare.png
deleted file mode 100644
index d66e189..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-publicshare.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-remote.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-remote.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-remote.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-saved-search.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-saved-search.png
deleted file mode 100644
index 870ae5b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-saved-search.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-templates.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-templates.png
deleted file mode 100644
index e7e9c04..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-templates.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder-videos.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder-videos.png
deleted file mode 100644
index a6783a5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder-videos.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder.png
deleted file mode 100644
index 2a1e0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/folder_home.png b/build/htdocs/dist/themes/icons/default/32x32/places/folder_home.png
deleted file mode 100644
index b73f2f5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/folder_home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-desktop.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-desktop.png
deleted file mode 100644
index 844dff3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-directory.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-directory.png
deleted file mode 100644
index 2a1e0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ftp.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ftp.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ftp.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-home.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-home.png
deleted file mode 100644
index b73f2f5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-network.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-network.png
deleted file mode 100644
index d208ef7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-nfs.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-nfs.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-nfs.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-server.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-share.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-share.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-share.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-smb.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-smb.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-smb.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ssh.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ssh.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-ssh.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-trash-empty.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-trash-empty.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-fs-trash-empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-main-menu.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-main-menu.png
deleted file mode 100644
index 231dcde..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-main-menu.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-nfs-server.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-nfs-server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-nfs-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-server.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-share.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-share.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-share.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-workgroup.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-workgroup.png
deleted file mode 100644
index d208ef7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-mime-x-directory-smb-workgroup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-stock-trash.png b/build/htdocs/dist/themes/icons/default/32x32/places/gnome-stock-trash.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gnome-stock-trash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/google-drive.png b/build/htdocs/dist/themes/icons/default/32x32/places/google-drive.png
deleted file mode 100644
index c3295dc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/google-drive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gtk-directory.png b/build/htdocs/dist/themes/icons/default/32x32/places/gtk-directory.png
deleted file mode 100644
index 2a1e0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gtk-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/gtk-network.png b/build/htdocs/dist/themes/icons/default/32x32/places/gtk-network.png
deleted file mode 100644
index d208ef7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/gtk-network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/inode-directory.png b/build/htdocs/dist/themes/icons/default/32x32/places/inode-directory.png
deleted file mode 100644
index 2a1e0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/inode-directory.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/network-server.png b/build/htdocs/dist/themes/icons/default/32x32/places/network-server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/network-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/network-workgroup.png b/build/htdocs/dist/themes/icons/default/32x32/places/network-workgroup.png
deleted file mode 100644
index d208ef7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/network-workgroup.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/network.png b/build/htdocs/dist/themes/icons/default/32x32/places/network.png
deleted file mode 100644
index 896bfe5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/network.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/network_local.png b/build/htdocs/dist/themes/icons/default/32x32/places/network_local.png
deleted file mode 100644
index d208ef7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/network_local.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/novell-button.png b/build/htdocs/dist/themes/icons/default/32x32/places/novell-button.png
deleted file mode 100644
index 231dcde..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/novell-button.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/redhat-network-server.png b/build/htdocs/dist/themes/icons/default/32x32/places/redhat-network-server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/redhat-network-server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/server.png b/build/htdocs/dist/themes/icons/default/32x32/places/server.png
deleted file mode 100644
index 81d0479..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/server.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/start-here.png b/build/htdocs/dist/themes/icons/default/32x32/places/start-here.png
deleted file mode 100644
index 231dcde..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/start-here.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/stock_folder.png b/build/htdocs/dist/themes/icons/default/32x32/places/stock_folder.png
deleted file mode 100644
index 2a1e0e1..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/stock_folder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/trashcan_empty.png b/build/htdocs/dist/themes/icons/default/32x32/places/trashcan_empty.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/trashcan_empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/user-bookmarks.png b/build/htdocs/dist/themes/icons/default/32x32/places/user-bookmarks.png
deleted file mode 100644
index 3bef096..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/user-bookmarks.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/user-desktop.png b/build/htdocs/dist/themes/icons/default/32x32/places/user-desktop.png
deleted file mode 100644
index 844dff3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/user-desktop.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/user-home.png b/build/htdocs/dist/themes/icons/default/32x32/places/user-home.png
deleted file mode 100644
index b73f2f5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/user-home.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/user-trash.png b/build/htdocs/dist/themes/icons/default/32x32/places/user-trash.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/user-trash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/places/xfce-trash_empty.png b/build/htdocs/dist/themes/icons/default/32x32/places/xfce-trash_empty.png
deleted file mode 100644
index 1ee9206..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/places/xfce-trash_empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/appointment-missed.png b/build/htdocs/dist/themes/icons/default/32x32/status/appointment-missed.png
deleted file mode 100644
index c4660b4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/appointment-missed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/appointment-soon.png b/build/htdocs/dist/themes/icons/default/32x32/status/appointment-soon.png
deleted file mode 100644
index c065baf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/appointment-soon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-high.png b/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-high.png
deleted file mode 100644
index cdf0b46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-low.png b/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-low.png
deleted file mode 100644
index 8949da6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-medium.png b/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-medium.png
deleted file mode 100644
index 6d260bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-muted.png b/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-muted.png
deleted file mode 100644
index b41dcb3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/audio-volume-muted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/avatar-default.png b/build/htdocs/dist/themes/icons/default/32x32/status/avatar-default.png
deleted file mode 100644
index b4f31d4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/avatar-default.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution-charging.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution-charging.png
deleted file mode 100644
index c22f0af..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution.png
deleted file mode 100644
index 5e667cc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-caution.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-empty.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-empty.png
deleted file mode 100644
index c7045d5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-empty.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charged.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charged.png
deleted file mode 100644
index 7a248af..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charged.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charging.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charging.png
deleted file mode 100644
index c352fe7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-full.png
deleted file mode 100644
index f80529b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-good-charging.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-good-charging.png
deleted file mode 100644
index cc2a9bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-good-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-good.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-good.png
deleted file mode 100644
index 8bae646..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-good.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-low-charging.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-low-charging.png
deleted file mode 100644
index f999837..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-low-charging.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-low.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-low.png
deleted file mode 100644
index bba45d7..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/battery-missing.png b/build/htdocs/dist/themes/icons/default/32x32/status/battery-missing.png
deleted file mode 100644
index 632907e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/battery-missing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/changes-allow.png b/build/htdocs/dist/themes/icons/default/32x32/status/changes-allow.png
deleted file mode 100644
index a69c54f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/changes-allow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/changes-prevent.png b/build/htdocs/dist/themes/icons/default/32x32/status/changes-prevent.png
deleted file mode 100644
index 93f7ab8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/changes-prevent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/computer-fail.png b/build/htdocs/dist/themes/icons/default/32x32/status/computer-fail.png
deleted file mode 100644
index cb2f0a4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/computer-fail.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/connect_creating.png b/build/htdocs/dist/themes/icons/default/32x32/status/connect_creating.png
deleted file mode 100644
index 0baa8fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/connect_creating.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/connect_established.png b/build/htdocs/dist/themes/icons/default/32x32/status/connect_established.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/connect_established.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/connect_no.png b/build/htdocs/dist/themes/icons/default/32x32/status/connect_no.png
deleted file mode 100644
index f0d8a4a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/connect_no.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/dialog-error.png
deleted file mode 100644
index d58f363..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-information.png b/build/htdocs/dist/themes/icons/default/32x32/status/dialog-information.png
deleted file mode 100644
index d46095a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-information.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-password.png b/build/htdocs/dist/themes/icons/default/32x32/status/dialog-password.png
deleted file mode 100644
index 7c79580..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-password.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-question.png b/build/htdocs/dist/themes/icons/default/32x32/status/dialog-question.png
deleted file mode 100644
index 2cb857f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-warning.png b/build/htdocs/dist/themes/icons/default/32x32/status/dialog-warning.png
deleted file mode 100644
index 3d7cdb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/edittrash.png b/build/htdocs/dist/themes/icons/default/32x32/status/edittrash.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/edittrash.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/error.png b/build/htdocs/dist/themes/icons/default/32x32/status/error.png
deleted file mode 100644
index d58f363..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/folder-drag-accept.png b/build/htdocs/dist/themes/icons/default/32x32/status/folder-drag-accept.png
deleted file mode 100644
index 512d8fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/folder-drag-accept.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/folder-open.png b/build/htdocs/dist/themes/icons/default/32x32/status/folder-open.png
deleted file mode 100644
index 4794aa0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/folder-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/folder-visiting.png b/build/htdocs/dist/themes/icons/default/32x32/status/folder-visiting.png
deleted file mode 100644
index 030541e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/folder-visiting.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/folder_open.png b/build/htdocs/dist/themes/icons/default/32x32/status/folder_open.png
deleted file mode 100644
index 4794aa0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/folder_open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-accept.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-accept.png
deleted file mode 100644
index 512d8fe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-accept.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-visiting.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-visiting.png
deleted file mode 100644
index 030541e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-directory-visiting.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-loading-icon.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-loading-icon.png
deleted file mode 100644
index 7b725a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-loading-icon.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-trash-full.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-trash-full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-fs-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-disconn.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-disconn.png
deleted file mode 100644
index f0d8a4a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-disconn.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-error.png
deleted file mode 100644
index 7c91d24..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-idle.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-idle.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-rx.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-rx.png
deleted file mode 100644
index 8d7b76d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-rx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-tx.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-tx.png
deleted file mode 100644
index 032334d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-tx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-txrx.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-txrx.png
deleted file mode 100644
index 0baa8fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-netstatus-txrx.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-stock-trash-full.png b/build/htdocs/dist/themes/icons/default/32x32/status/gnome-stock-trash-full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gnome-stock-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-authentication.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-authentication.png
deleted file mode 100644
index 7c79580..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-authentication.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-error.png
deleted file mode 100644
index d58f363..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-info.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-info.png
deleted file mode 100644
index d46095a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-question.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-question.png
deleted file mode 100644
index 2cb857f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-warning.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-warning.png
deleted file mode 100644
index 3d7cdb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-missing-image.png b/build/htdocs/dist/themes/icons/default/32x32/status/gtk-missing-image.png
deleted file mode 100644
index d8b7e5a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/gtk-missing-image.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/image-loading.png b/build/htdocs/dist/themes/icons/default/32x32/status/image-loading.png
deleted file mode 100644
index 7b725a6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/image-loading.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/image-missing.png b/build/htdocs/dist/themes/icons/default/32x32/status/image-missing.png
deleted file mode 100644
index d8b7e5a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/image-missing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/important.png b/build/htdocs/dist/themes/icons/default/32x32/status/important.png
deleted file mode 100644
index 3d7cdb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/important.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/info.png b/build/htdocs/dist/themes/icons/default/32x32/status/info.png
deleted file mode 100644
index d46095a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/mail-attachment.png b/build/htdocs/dist/themes/icons/default/32x32/status/mail-attachment.png
deleted file mode 100644
index 670d67b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/mail-attachment.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/mail-read.png b/build/htdocs/dist/themes/icons/default/32x32/status/mail-read.png
deleted file mode 100644
index 4e7f165..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/mail-read.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/mail-replied.png b/build/htdocs/dist/themes/icons/default/32x32/status/mail-replied.png
deleted file mode 100644
index 3a6b0d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/mail-replied.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/mail-unread.png b/build/htdocs/dist/themes/icons/default/32x32/status/mail-unread.png
deleted file mode 100644
index d2af300..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/mail-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-repeat.png b/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-repeat.png
deleted file mode 100644
index 8801e5c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-repeat.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-shuffle.png b/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-shuffle.png
deleted file mode 100644
index 6ed3b84..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/media-playlist-shuffle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_critical.png b/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_critical.png
deleted file mode 100644
index d58f363..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_critical.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_info.png b/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_info.png
deleted file mode 100644
index d46095a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_warning.png b/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_warning.png
deleted file mode 100644
index 3d7cdb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/messagebox_warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-high.png b/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-high.png
deleted file mode 100644
index 77fb5fd..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-low.png b/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-low.png
deleted file mode 100644
index 537e28b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-medium.png b/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-medium.png
deleted file mode 100644
index 89726e9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-muted.png b/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-muted.png
deleted file mode 100644
index f4d7cf9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/microphone-sensitivity-muted.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-error.png
deleted file mode 100644
index 7c91d24..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-idle.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-idle.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-offline.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-offline.png
deleted file mode 100644
index f0d8a4a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-offline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-receive.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-receive.png
deleted file mode 100644
index 8d7b76d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit-receive.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit-receive.png
deleted file mode 100644
index 0baa8fc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit-receive.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit.png
deleted file mode 100644
index 032334d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-transmit.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/network-wired-disconnected.png b/build/htdocs/dist/themes/icons/default/32x32/status/network-wired-disconnected.png
deleted file mode 100644
index 6d3c919..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/network-wired-disconnected.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/nm-adhoc.png b/build/htdocs/dist/themes/icons/default/32x32/status/nm-adhoc.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/nm-adhoc.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wired.png b/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wired.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wired.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wireless.png b/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wireless.png
deleted file mode 100644
index 5558f1c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/nm-device-wireless.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/nm-no-connection.png b/build/htdocs/dist/themes/icons/default/32x32/status/nm-no-connection.png
deleted file mode 100644
index f0d8a4a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/nm-no-connection.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/non-starred.png b/build/htdocs/dist/themes/icons/default/32x32/status/non-starred.png
deleted file mode 100644
index 93d3273..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/non-starred.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/printer-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/printer-error.png
deleted file mode 100644
index 582511f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/printer-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/printer-printing.png b/build/htdocs/dist/themes/icons/default/32x32/status/printer-printing.png
deleted file mode 100644
index 0d47184..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/printer-printing.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/security-high.png b/build/htdocs/dist/themes/icons/default/32x32/status/security-high.png
deleted file mode 100644
index 9985dd6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/security-high.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/security-low.png b/build/htdocs/dist/themes/icons/default/32x32/status/security-low.png
deleted file mode 100644
index 4c68e35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/security-low.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/security-medium.png b/build/htdocs/dist/themes/icons/default/32x32/status/security-medium.png
deleted file mode 100644
index e64d43d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/security-medium.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/software-update-available.png b/build/htdocs/dist/themes/icons/default/32x32/status/software-update-available.png
deleted file mode 100644
index f63b4d8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/software-update-available.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/software-update-urgent.png b/build/htdocs/dist/themes/icons/default/32x32/status/software-update-urgent.png
deleted file mode 100644
index d2baed6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/software-update-urgent.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/starred.png b/build/htdocs/dist/themes/icons/default/32x32/status/starred.png
deleted file mode 100644
index c7adaf9..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/starred.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder-excl.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder-excl.png
deleted file mode 100644
index c4660b4..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder-excl.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder.png
deleted file mode 100644
index c065baf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_appointment-reminder.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_attach.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_attach.png
deleted file mode 100644
index 670d67b..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_attach.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-error.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-error.png
deleted file mode 100644
index d58f363..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-error.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-info.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-info.png
deleted file mode 100644
index d46095a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-info.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-question.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-question.png
deleted file mode 100644
index 2cb857f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-question.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-warning.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-warning.png
deleted file mode 100644
index 3d7cdb5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_dialog-warning.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-broken.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-broken.png
deleted file mode 100644
index 4c68e35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-broken.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-ok.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-ok.png
deleted file mode 100644
index 9985dd6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-ok.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-open.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-open.png
deleted file mode 100644
index 4c68e35..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock.png
deleted file mode 100644
index e64d43d..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_lock.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-open.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-open.png
deleted file mode 100644
index 4e7f165..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-replied.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-replied.png
deleted file mode 100644
index 3a6b0d0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-replied.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-unread.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-unread.png
deleted file mode 100644
index d2af300..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_mail-unread.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_open.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_open.png
deleted file mode 100644
index 4794aa0..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_open.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_repeat.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_repeat.png
deleted file mode 100644
index 8801e5c..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_repeat.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_shuffle.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_shuffle.png
deleted file mode 100644
index 6ed3b84..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_shuffle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_trash_full.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_trash_full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_trash_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-0.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-0.png
deleted file mode 100644
index 8949da6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-0.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-max.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-max.png
deleted file mode 100644
index cdf0b46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-max.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-med.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-med.png
deleted file mode 100644
index 6d260bf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-med.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-min.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-min.png
deleted file mode 100644
index 8949da6..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-min.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-mute.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-mute.png
deleted file mode 100644
index b41dcb3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume-mute.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume.png
deleted file mode 100644
index cdf0b46..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_volume.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-cloudy.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-cloudy.png
deleted file mode 100644
index bc4d34a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-cloudy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-few-clouds.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-few-clouds.png
deleted file mode 100644
index ca379dc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-fog.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-fog.png
deleted file mode 100644
index dea9bbf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-fog.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-clear.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-clear.png
deleted file mode 100644
index 926274f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-few-clouds.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-few-clouds.png
deleted file mode 100644
index c80c334..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-night-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-showers.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-showers.png
deleted file mode 100644
index e3cd8a8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-showers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-snow.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-snow.png
deleted file mode 100644
index f847e7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-snow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-storm.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-storm.png
deleted file mode 100644
index 53fbca5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-storm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-sunny.png b/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-sunny.png
deleted file mode 100644
index 8c65a17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/stock_weather-sunny.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/sunny.png b/build/htdocs/dist/themes/icons/default/32x32/status/sunny.png
deleted file mode 100644
index 8c65a17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/sunny.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/task-due.png b/build/htdocs/dist/themes/icons/default/32x32/status/task-due.png
deleted file mode 100644
index 6fffff2..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/task-due.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/task-past-due.png b/build/htdocs/dist/themes/icons/default/32x32/status/task-past-due.png
deleted file mode 100644
index 0dde106..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/task-past-due.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/trashcan_full.png b/build/htdocs/dist/themes/icons/default/32x32/status/trashcan_full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/trashcan_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-available.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-available.png
deleted file mode 100644
index 1d00cbe..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-available.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-away.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-away.png
deleted file mode 100644
index ea77a66..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-away.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-busy.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-busy.png
deleted file mode 100644
index e73cc78..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-busy.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-idle.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-idle.png
deleted file mode 100644
index dd2c485..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-idle.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-invisible.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-invisible.png
deleted file mode 100644
index 226fcce..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-invisible.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-offline.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-offline.png
deleted file mode 100644
index fa91056..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-offline.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/user-trash-full.png b/build/htdocs/dist/themes/icons/default/32x32/status/user-trash-full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/user-trash-full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear-night.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear-night.png
deleted file mode 100644
index 926274f..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear-night.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear.png
deleted file mode 100644
index 8c65a17..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-clear.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds-night.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds-night.png
deleted file mode 100644
index c80c334..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds-night.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds.png
deleted file mode 100644
index ca379dc..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-few-clouds.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-fog.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-fog.png
deleted file mode 100644
index dea9bbf..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-fog.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-overcast.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-overcast.png
deleted file mode 100644
index bc4d34a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-overcast.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-severe-alert.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-severe-alert.png
deleted file mode 100644
index a01e96e..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-severe-alert.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers-scattered.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers-scattered.png
deleted file mode 100644
index cbeb504..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers-scattered.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers.png
deleted file mode 100644
index e3cd8a8..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-showers.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-snow.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-snow.png
deleted file mode 100644
index f847e7a..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-snow.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/weather-storm.png b/build/htdocs/dist/themes/icons/default/32x32/status/weather-storm.png
deleted file mode 100644
index 53fbca5..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/weather-storm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/32x32/status/xfce-trash_full.png b/build/htdocs/dist/themes/icons/default/32x32/status/xfce-trash_full.png
deleted file mode 100644
index f37f3e3..0000000
Binary files a/build/htdocs/dist/themes/icons/default/32x32/status/xfce-trash_full.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/icons/default/metadata.json b/build/htdocs/dist/themes/icons/default/metadata.json
deleted file mode 100644
index a6aa883..0000000
--- a/build/htdocs/dist/themes/icons/default/metadata.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "name": "default",
- "title": "Default (Gnome)"
-}
diff --git a/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.mp3 b/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.mp3
deleted file mode 100644
index 323c830..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.oga b/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.oga
deleted file mode 100644
index a253702..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/alarm-clock-elapsed.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.mp3
deleted file mode 100644
index 8faad16..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.oga
deleted file mode 100644
index 9697888..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-center.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.mp3
deleted file mode 100644
index 2d27e84..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.oga
deleted file mode 100644
index 7c8e97e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-left.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.mp3
deleted file mode 100644
index 5dbdae5..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.oga
deleted file mode 100644
index a7c2c01..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-front-right.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.mp3
deleted file mode 100644
index 24a3f78..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.oga
deleted file mode 100644
index c0effd6..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-center.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.mp3
deleted file mode 100644
index 429cbaf..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.oga
deleted file mode 100644
index 5e16455..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-left.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.mp3
deleted file mode 100644
index cc49a87..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.oga
deleted file mode 100644
index e243b5e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-rear-right.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.mp3
deleted file mode 100644
index d5373f8..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.oga
deleted file mode 100644
index 8ffc13c..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-side-left.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.mp3 b/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.mp3
deleted file mode 100644
index a563059..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.oga b/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.oga
deleted file mode 100644
index 50a6560..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-channel-side-right.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-test-signal.mp3 b/build/htdocs/dist/themes/sounds/default/audio-test-signal.mp3
deleted file mode 100644
index 370f3bf..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-test-signal.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-test-signal.oga b/build/htdocs/dist/themes/sounds/default/audio-test-signal.oga
deleted file mode 100644
index 51266c6..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-test-signal.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-volume-change.mp3 b/build/htdocs/dist/themes/sounds/default/audio-volume-change.mp3
deleted file mode 100644
index 9d7e4c2..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-volume-change.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/audio-volume-change.oga b/build/htdocs/dist/themes/sounds/default/audio-volume-change.oga
deleted file mode 100644
index e4a33dc..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/audio-volume-change.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/bell.mp3 b/build/htdocs/dist/themes/sounds/default/bell.mp3
deleted file mode 100644
index e40cc0f..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/bell.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/bell.oga b/build/htdocs/dist/themes/sounds/default/bell.oga
deleted file mode 100644
index ea605c7..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/bell.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/camera-shutter.mp3 b/build/htdocs/dist/themes/sounds/default/camera-shutter.mp3
deleted file mode 100644
index e237258..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/camera-shutter.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/camera-shutter.oga b/build/htdocs/dist/themes/sounds/default/camera-shutter.oga
deleted file mode 100644
index b51a467..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/camera-shutter.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/complete.mp3 b/build/htdocs/dist/themes/sounds/default/complete.mp3
deleted file mode 100644
index 824b606..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/complete.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/complete.oga b/build/htdocs/dist/themes/sounds/default/complete.oga
deleted file mode 100644
index 7d34954..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/complete.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/device-added.mp3 b/build/htdocs/dist/themes/sounds/default/device-added.mp3
deleted file mode 100644
index 1b221b3..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/device-added.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/device-added.oga b/build/htdocs/dist/themes/sounds/default/device-added.oga
deleted file mode 100644
index c5ad86b..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/device-added.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/device-removed.mp3 b/build/htdocs/dist/themes/sounds/default/device-removed.mp3
deleted file mode 100644
index 787014e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/device-removed.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/device-removed.oga b/build/htdocs/dist/themes/sounds/default/device-removed.oga
deleted file mode 100644
index abfd60c..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/device-removed.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/dialog-information.mp3 b/build/htdocs/dist/themes/sounds/default/dialog-information.mp3
deleted file mode 100644
index 6eab26e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/dialog-information.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/dialog-information.oga b/build/htdocs/dist/themes/sounds/default/dialog-information.oga
deleted file mode 100644
index ddbf700..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/dialog-information.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/dialog-warning.mp3 b/build/htdocs/dist/themes/sounds/default/dialog-warning.mp3
deleted file mode 100644
index 4dc872e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/dialog-warning.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/dialog-warning.oga b/build/htdocs/dist/themes/sounds/default/dialog-warning.oga
deleted file mode 100644
index 734cae7..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/dialog-warning.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/message-new-instant.mp3 b/build/htdocs/dist/themes/sounds/default/message-new-instant.mp3
deleted file mode 100644
index 70a1e5e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/message-new-instant.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/message-new-instant.oga b/build/htdocs/dist/themes/sounds/default/message-new-instant.oga
deleted file mode 100644
index e6bdd7a..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/message-new-instant.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/message.mp3 b/build/htdocs/dist/themes/sounds/default/message.mp3
deleted file mode 100644
index e4a81cb..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/message.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/message.oga b/build/htdocs/dist/themes/sounds/default/message.oga
deleted file mode 100644
index e96c3a1..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/message.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/network-connectivity-established.mp3 b/build/htdocs/dist/themes/sounds/default/network-connectivity-established.mp3
deleted file mode 100644
index 1b221b3..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/network-connectivity-established.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/network-connectivity-established.oga b/build/htdocs/dist/themes/sounds/default/network-connectivity-established.oga
deleted file mode 100644
index c5ad86b..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/network-connectivity-established.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.mp3 b/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.mp3
deleted file mode 100644
index 787014e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.oga b/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.oga
deleted file mode 100644
index abfd60c..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/network-connectivity-lost.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-incoming-call.mp3 b/build/htdocs/dist/themes/sounds/default/phone-incoming-call.mp3
deleted file mode 100644
index cd08517..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-incoming-call.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-incoming-call.oga b/build/htdocs/dist/themes/sounds/default/phone-incoming-call.oga
deleted file mode 100644
index a0ff221..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-incoming-call.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.mp3 b/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.mp3
deleted file mode 100644
index 0fb4501..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.oga b/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.oga
deleted file mode 100644
index d2e6010..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-outgoing-busy.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.mp3 b/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.mp3
deleted file mode 100644
index 98c6b2d..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.oga b/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.oga
deleted file mode 100644
index 33dfeae..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/phone-outgoing-calling.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/power-plug.mp3 b/build/htdocs/dist/themes/sounds/default/power-plug.mp3
deleted file mode 100644
index 1b221b3..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/power-plug.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/power-plug.oga b/build/htdocs/dist/themes/sounds/default/power-plug.oga
deleted file mode 100644
index c5ad86b..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/power-plug.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/power-unplug.mp3 b/build/htdocs/dist/themes/sounds/default/power-unplug.mp3
deleted file mode 100644
index 787014e..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/power-unplug.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/power-unplug.oga b/build/htdocs/dist/themes/sounds/default/power-unplug.oga
deleted file mode 100644
index abfd60c..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/power-unplug.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/screen-capture.mp3 b/build/htdocs/dist/themes/sounds/default/screen-capture.mp3
deleted file mode 100644
index e237258..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/screen-capture.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/screen-capture.oga b/build/htdocs/dist/themes/sounds/default/screen-capture.oga
deleted file mode 100644
index b51a467..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/screen-capture.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/service-login.mp3 b/build/htdocs/dist/themes/sounds/default/service-login.mp3
deleted file mode 100644
index 1013e1b..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/service-login.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/service-login.oga b/build/htdocs/dist/themes/sounds/default/service-login.oga
deleted file mode 100644
index 7d931b7..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/service-login.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/service-logout.mp3 b/build/htdocs/dist/themes/sounds/default/service-logout.mp3
deleted file mode 100644
index f16c407..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/service-logout.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/service-logout.oga b/build/htdocs/dist/themes/sounds/default/service-logout.oga
deleted file mode 100644
index c5b6f31..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/service-logout.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/suspend-error.mp3 b/build/htdocs/dist/themes/sounds/default/suspend-error.mp3
deleted file mode 100644
index 1070b2d..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/suspend-error.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/suspend-error.oga b/build/htdocs/dist/themes/sounds/default/suspend-error.oga
deleted file mode 100644
index 1896185..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/suspend-error.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/trash-empty.mp3 b/build/htdocs/dist/themes/sounds/default/trash-empty.mp3
deleted file mode 100644
index c933e8b..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/trash-empty.mp3 and /dev/null differ
diff --git a/build/htdocs/dist/themes/sounds/default/trash-empty.oga b/build/htdocs/dist/themes/sounds/default/trash-empty.oga
deleted file mode 100644
index f78a5a6..0000000
Binary files a/build/htdocs/dist/themes/sounds/default/trash-empty.oga and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark.css b/build/htdocs/dist/themes/styles/dark.css
deleted file mode 100644
index 6e09074..0000000
--- a/build/htdocs/dist/themes/styles/dark.css
+++ /dev/null
@@ -1,1254 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-/**
- * ===========================================================================
- * CLASSES
- * ===========================================================================
- */
-.gui-has-emblem {
- background-repeat: no-repeat;
- background-position: calc(96%) center;
- padding-right: calc(20px);
-}
-.gui-generic-container {
- padding: 4px;
- color: #ffffff;
-}
-.gui-generic-zebra-container {
- background-color: #777777;
-}
-.gui-generic-zebra-container > * {
- padding: 4px;
-}
-.gui-generic-zebra-container > *:nth-child(even) {
- background: rgba(53, 53, 53, 0.5);
-}
-.gui-generic-hoverable:hover {
- background-color: #2d73d2;
-}
-.gui-generic-padded {
- padding: 4px;
-}
-.gui-generic-double-padded {
- padding: calc(8px);
-}
-.gui-generic-margin {
- margin: 4px;
-}
-/**
- * ===========================================================================
- * OVERRIDES
- * ===========================================================================
- */
-body,
-input,
-button,
-textarea,
-label,
-select {
- font-family: Karla, Sans-serif;
- font-weight: normal;
- font-style: normal;
- font-size: 12px;
- color: #ffffff;
-}
-::-webkit-scrollbar {
- width: 12px;
- height: 12px;
-}
-::-webkit-scrollbar-button {
- background: #232323;
- color: #444444;
- width: 12px;
- height: 12px;
- display: none;
-}
-::-webkit-scrollbar-track {
- background: #353535;
-}
-::-webkit-scrollbar-track-piece {
- background: #353535;
-}
-::-webkit-scrollbar-thumb {
- background: #232323;
-}
-::-webkit-scrollbar-corner {
- background: #353535;
-}
-::-webkit-resizer {
- background: #353535;
-}
-/**
- * ===========================================================================
- * WM
- * ===========================================================================
- */
-body[data-attention="true"]:after {
- background-color: #ffffff;
-}
-corewm-panel {
- color: #ffffff;
- /* Window Manager manages this */
- font-size: 0;
- padding: 4px;
-}
-corewm-panel:before {
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-corewm-panel-container {
- padding: 8px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width: calc(100% - 8px);
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height: calc(100% - 8px);
-}
-corewm-panel corewm-panel-item .corewm-panel-buttons > li {
- cursor: pointer;
- font-size: 12px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-item .corewm-panel-buttons > li {
- margin-right: 4px;
- margin-left: 4px;
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-item .corewm-panel-buttons > li {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-corewm-panel .PanelItemClock {
- font-family: Monospace, Courier New;
- font-weight: normal;
- text-align: right;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: .50;
-}
-corewm-panel .PanelItemWindowList li.Focused {
- opacity: 1;
-}
-corewm-panel .PanelItemWindowList li img {
- margin-right: 4px;
-}
-html[dir="rtl"] corewm-panel .PanelItemWindowList li img {
- margin-right: 0;
- margin-left: 4px;
-}
-/* Notifications */
-application-splash {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #353535;
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
- cursor: pointer;
-}
-.custom-notification {
- color: #fff;
- /* Window Manager manages this */
-}
-corewm-notifications {
- top: 10px;
- right: 10px;
-}
-corewm-notification {
- color: #fff;
- /* Window Manager manages this */
- cursor: pointer;
- padding: 8px;
- margin-bottom: 4px;
-}
-.custom-notification:before,
-corewm-notification:before {
- content: '';
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-.custom-notification .Title,
-corewm-notification .Title {
- font-weight: bold;
-}
-.custom-notification .Title,
-.custom-notification .Message,
-corewm-notification .Title,
-corewm-notification .Message {
- line-height: 16px;
-}
-/* Desktop drop wallpaper effect */
-#Background.Blinking {
- background: #fff;
-}
-/* Window Switcher */
-corewm-window-switcher {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #353535;
-}
-corewm-window-switcher > div.Active {
- background: #2d73d2;
-}
-corewm-window-switcher > div.Active > span {
- color: #ffffff;
-}
-corewm-search {
- padding: 4px;
- min-width: 200px;
- max-width: 40%;
- right: 10px;
- top: 10px;
-}
-corewm-search > div {
- margin-top: 4px;
-}
-corewm-search > ul {
- margin-top: 4px;
- cursor: pointer;
-}
-corewm-search > ul > li {
- padding: 4px;
- padding-left: 24px;
-}
-corewm-search > ul > li > img {
- top: 4px;
- left: 4px;
-}
-corewm-search > ul > .active,
-corewm-search > ul > li:hover {
- background: #fff;
- color: #000;
-}
-/**
- * ===========================================================================
- * WINDOW
- * ===========================================================================
- */
-application-window {
- opacity: 0.8;
- margin-top: 30px;
-}
-application-window:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);
- background: #353535;
- top: calc(-33px);
- left: -3px;
- right: -3px;
- bottom: -3px;
-}
-application-window[data-focused="true"] {
- opacity: 1.0;
-}
-application-window[data-focused="true"]:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
-}
-application-window[data-dnd-state="true"]:after {
- top: -30px;
-}
-application-window-top {
- top: -30px;
- height: 30px;
-}
-application-window-top application-window-icon {
- width: 30px;
-}
-/* application-window-content {overflow : hidden;}*/
-application-window-top:active {
- cursor: move;
- cursor: pointer;
-}
-application-window-title {
- font-weight: bold;
- color: #ffffff;
- opacity: .5;
- left: 24px;
- line-height: 30px;
- text-align: center;
-}
-application-window-title:active {
- cursor: move;
- cursor: pointer;
-}
-application-window[data-focused="true"] application-window-title {
- opacity: 1;
-}
-.application-window-button-entry {
- width: 22px;
- text-align: center;
- cursor: pointer;
-}
-application-window-resize {
- cursor: move;
-}
-application-window-top,
-application-window-top > * {
- cursor: default;
-}
-application-window-loading {
- background: #000;
- opacity: 0.8;
-}
-application-window-loading-indicator {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 50%;
- top: 50%;
- margin-left: -24px;
- margin-top: -24px;
-}
-application-window-loading-indicator:before {
- display: block;
- content: '';
- width: 44px;
- height: 44px;
- border-top: 4px solid #fff;
- border-right: 4px solid #666;
- border-left: 4px solid #666;
- border-bottom: 4px solid #fff;
- border-radius: 100%;
- -webkit-animation: windowloadinganim 0.75s linear infinite;
- -moz-animation: windowloadinganim 0.75s linear infinite;
- -ms-animation: windowloadinganim 0.75s linear infinite;
- animation: windowloadinganim 0.75s linear infinite;
-}
-application-window[data-dnd-state="true"]:after {
- border: 4px solid rgba(0, 0, 0, 0.7);
- border-radius: 1px;
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
- margin: -4px;
-}
-application-window-disabled {
- background: #000;
- opacity: 0.5;
- cursor: not-allowed;
-}
-application-window-warning {
- background: #FFB800;
- color: #fff;
- border-color: #DF9F15;
- height: 30px;
- line-height: 20px;
- margin: 4px;
- border: 1px solid transparent;
-}
-application-window-warning > div:nth-child(1) {
- padding: 4px;
-}
-application-window-warning > div:nth-child(2) {
- right: 20px;
- padding: 4px;
-}
-application-window-warning > div:nth-child(1):hover {
- color: #111;
- cursor: pointer;
- opacity: .9;
-}
-application-window-resize {
- top: -38px;
- left: -8px;
- right: -8px;
- bottom: -8px;
-}
-/**
- * ===========================================================================
- * CONTAINERS
- * ===========================================================================
- */
-/* Container */
-gui-container {
- margin: 4px;
-}
-gui-container[data-borders="true"] {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
-}
-/* Box */
-gui-hbox-container > .gui-element,
-gui-vbox-container > .gui-element {
- margin: 4px;
-}
-gui-hbox-container[data-fill='true'] > *,
-gui-vbox-container[data-fill='true'] > * {
- width: calc(100% - 8px);
- height: calc(100% - 8px);
-}
-gui-hbox-container > .perc-100 {
- height: calc(100% - 8px);
-}
-gui-vbox-container > .perc-100 {
- width: calc(100% - 8px);
-}
-gui-hbox-container > .perc-90 {
- height: calc(90% - 8px);
-}
-gui-vbox-container > .perc-90 {
- width: calc(90% - 8px);
-}
-gui-hbox-container > .perc-80 {
- height: calc(80% - 8px);
-}
-gui-vbox-container > .perc-80 {
- width: calc(80% - 8px);
-}
-gui-hbox-container > .perc-70 {
- height: calc(70% - 8px);
-}
-gui-vbox-container > .perc-70 {
- width: calc(70% - 8px);
-}
-gui-hbox-container > .perc-60 {
- height: calc(60% - 8px);
-}
-gui-vbox-container > .perc-60 {
- width: calc(60% - 8px);
-}
-gui-hbox-container > .perc-50 {
- height: calc(50% - 8px);
-}
-gui-vbox-container > .perc-50 {
- width: calc(50% - 8px);
-}
-gui-hbox-container > .perc-40 {
- height: calc(40% - 8px);
-}
-gui-vbox-container > .perc-40 {
- width: calc(40% - 8px);
-}
-gui-hbox-container > .perc-30 {
- height: calc(30% - 8px);
-}
-gui-vbox-container > .perc-30 {
- width: calc(30% - 8px);
-}
-gui-hbox-container > .perc-20 {
- height: calc(20% - 8px);
-}
-gui-vbox-container > .perc-20 {
- width: calc(20% - 8px);
-}
-gui-hbox-container > .perc-10 {
- height: calc(10% - 8px);
-}
-gui-vbox-container > .perc-10 {
- width: calc(10% - 8px);
-}
-/* Paned View */
-gui-paned-view > gui-paned-view-handle {
- min-width: 8px;
- width: 8px;
- cursor: ew-resize;
-}
-gui-paned-view[data-orientation='vertical'] > gui-paned-view-handle {
- min-width: auto;
- width: auto;
- min-height: 8px;
- height: 8px;
- cursor: ns-resize;
-}
-/* IFrame */
-gui-iframe {
- background-color: #777777;
-}
-gui-iframe > iframe {
- background-color: #777777;
-}
-/* Button Bar */
-/* Toolbar */
-gui-toolbar > *,
-gui-button-bar > *,
-gui-toolbar > gui-expander > *,
-gui-button-bar > gui-expander > * {
- margin: 4px;
-}
-gui-toolbar > gui-expander,
-gui-button-bar > gui-expander {
- margin: 0;
-}
-gui-toolbar[data-orientation="vertical"] {
- margin-left: 0;
- margin-right: 0;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-/* Expander */
-gui-expander {
- font-size: 12px;
-}
-gui-expander-label {
- cursor: pointer;
- padding: 4px;
- background-color: #444444;
- margin-bottom: 4px;
-}
-gui-expander-label:before {
- content: '▼';
- font-family: sans-serif;
- padding-right: 4px;
-}
-gui-expander[data-expanded="false"] > gui-expander-label:before {
- content: '►';
-}
-/* Tabs */
-gui-tabs > ul {
- height: 25px;
-}
-gui-tabs > ul > li {
- padding-left: 8px;
- padding-right: 8px;
- cursor: pointer;
- background-color: #444444;
- border: 1px solid transparent;
- border-bottom: 0 none;
- line-height: 25px;
-}
-gui-tabs > ul > li.gui-active {
- background-color: transparent;
- border-color: #232323;
-}
-gui-tabs > ul > li.gui-active:after {
- bottom: -1px;
- border-bottom: 1px solid #353535;
-}
-gui-tabs > gui-tab-container {
- height: calc(100% - 25px);
- border: 1px solid #232323;
- padding: 4px;
-}
-/* Button Bar */
-/**
- * ===========================================================================
- * INPUTS
- * ===========================================================================
- */
-/* Label */
-gui-label {
- height: 26px;
- line-height: 26px;
-}
-gui-hbox-container > gui-label,
-gui-vbox-container > gui-label {
- height: 16px;
- line-height: 16px;
- min-height: 16px;
-}
-/* Button */
-gui-button {
- height: 26px;
-}
-gui-button[data-icon-size="32"] {
- height: 42px;
-}
-gui-button button {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
-}
-gui-button button:focus {
- outline: 0 none transparent;
-}
-gui-button button.gui-active,
-gui-button button:active {
- border-color: #333333;
- color: #ffffff;
- background-color: #353535;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
-}
-gui-button button.gui-active:disabled,
-gui-button button:disabled:active,
-gui-button button:disabled {
- border-color: #000000;
- color: #ffffff;
- background-color: #333232;
- background: #333232;
-}
-gui-button button:disabled img {
- opacity: .5;
-}
-gui-button button:disabled {
- cursor: default;
- color: #565656;
-}
-gui-button button.gui-has-image img {
- padding-right: 4px;
-}
-gui-button.gui-has-image.gui-has-label button {
- padding-left: 28px;
-}
-gui-button[data-icon-size="32"].gui-has-image.gui-has-label button {
- padding-left: 44px;
-}
-/* Checkbox Button */
-/* Radio Button */
-gui-radio,
-gui-checkbox {
- height: 26px;
-}
-gui-radio input,
-gui-checkbox input {
- text-align: center;
- background: #777777;
- border: 1px solid #232323;
- width: 16px;
- height: 16px;
- line-height: 12px;
- color: #ffffff;
- font-family: Arial;
-}
-gui-radio input:focus,
-gui-checkbox input:focus {
- outline: 0 none transparent;
-}
-gui-radio input {
- -webkit-border-radius: 16px;
- -moz-border-radius: 16px;
- -ms-border-radius: 16px;
- border-radius: 16px;
-}
-gui-radio input:checked:after {
- content: "\2022";
- font-size: 32px;
-}
-gui-checkbox input:checked:after {
- content: "\2713";
- font-size: 12px;
-}
-gui-radio[data-disabled="true"] label,
-gui-checkbox[data-disabled="true"] label {
- color: #565656;
-}
-gui-radio input:disabled,
-gui-checkbox input:disabled {
- border-color: #000000;
- background-color: #333232;
-}
-gui-radio > label,
-gui-checkbox > label {
- line-height: 26px;
-}
-gui-radio > label > span,
-gui-checkbox > label > span {
- padding-left: 4px;
-}
-/* Select Dropdown */
-gui-select {
- height: 26px;
-}
-gui-select select {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
- padding-right: 20px;
-}
-gui-select select:disabled {
- border-color: #000000;
- background-color: #333232;
- color: #565656;
-}
-gui-select select:focus {
- outline: 0 none transparent;
-}
-gui-select:before {
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 22px;
- background: #777777;
-}
-gui-select:after {
- content: '<>';
- font: 11px "Consolas", monospace;
- color: #232323;
- right: 2px;
- top: 5px;
- padding: 0 0 2px;
- border-bottom: 1px solid #232323;
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-gui-select[data-disabled="true"]:before {
- background-color: #333232;
-}
-/* Select List */
-gui-select-list select {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
-}
-gui-select-list select:focus {
- outline: 0 none transparent;
-}
-gui-select-list select:disabled {
- border-color: #000000;
- background-color: #333232;
- color: #565656;
-}
-/* Slider */
-gui-slider {
- height: 26px;
-}
-gui-slider input {
- background: transparent;
- border: 0 none;
- height: 26px;
-}
-/*
- * RANGE TRACK
- */
-gui-slider input::-moz-range-track {
- height: 4px;
- background-color: #444444;
-}
-gui-slider input::-webkit-slider-runnable-track {
- height: 4px;
- background-color: #444444;
-}
-gui-slider input::-ms-track {
- height: 4px;
- background-color: #444444;
-}
-/*
- * RANGE THUMB
- */
-gui-slider input::-moz-range-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
- height: 18px;
- width: 10px;
-}
-gui-slider input:disabled::-moz-range-thumb {
- border-color: #000000;
- color: #ffffff;
- background-color: #333232;
- background: #333232;
-}
-gui-slider input::-webkit-slider-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
- height: 24px;
- width: 16px;
- margin-top: -10px;
-}
-gui-slider input:disabled::-webkit-range-thumb {
- border-color: #000000;
- color: #ffffff;
- background-color: #333232;
- background: #333232;
-}
-gui-slider input::-ms-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
- height: 24px;
- width: 16px;
-}
-gui-slider input:disabled::-ms-thumb {
- border-color: #000000;
- color: #ffffff;
- background-color: #333232;
- background: #333232;
-}
-/**
- * MISC
- */
-gui-slider input[type=range]::-ms-fill-lower {
- border: 0 none;
- background-color: #444444;
-}
-gui-slider input[type=range]::-ms-fill-upper {
- border: 0 none;
- background-color: #444444;
-}
-gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color: #444444;
-}
-gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color: #444444;
-}
-/* Switch */
-gui-switch {
- height: 26px;
-}
-gui-switch div {
- width: 48px;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
- cursor: pointer;
- padding: 0;
-}
-gui-switch button {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
-}
-gui-switch button:focus {
- outline: 0 none transparent;
-}
-gui-switch > label > div {
- margin-left: 4px;
-}
-gui-switch[data-disabled="true"] button {
- border-color: #000000;
- color: #ffffff;
- background-color: #333232;
- background: #333232;
-}
-gui-switch[data-disabled="true"] div {
- border-color: #000000;
- background-color: #333232;
- color: #565656;
- padding: 0;
-}
-gui-switch[data-disabled="true"] button,
-gui-switch[data-disabled="true"] label {
- color: #565656;
-}
-/* Text Field */
-/* Password Field */
-gui-password,
-gui-text {
- height: 26px;
-}
-gui-password input,
-gui-text input {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-password > label > input,
-gui-text > label > input {
- margin-left: 4px;
-}
-gui-password input:disabled,
-gui-text input:disabled {
- border-color: #000000;
- background-color: #333232;
- color: #565656;
-}
-gui-password input:focus,
-gui-text input:focus {
- outline: 0 none transparent;
-}
-gui-password[data-disabled="true"] label,
-gui-text[data-disabled="true"] label {
- color: #565656;
-}
-/* Text Area */
-gui-textarea textarea {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
-}
-gui-textarea textarea:focus {
- outline: 0 none transparent;
-}
-gui-textarea textarea:disabled {
- border-color: #000000;
- background-color: #333232;
- color: #565656;
-}
-gui-textarea[data-disabled="true"] label {
- color: #565656;
-}
-/* Rich Text */
-gui-richtext {
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
-}
-gui-richtext > iframe {
- background-color: #777777;
-}
-/* Grid */
-gui-grid > gui-grid-row > gui-grid-entry {
- /* li */
- margin: 4px;
-}
-/* Modal Input */
-gui-input-modal input {
- cursor: pointer;
- padding: 4px;
- background-color: #777777;
- border: 1px solid #232323;
- border-color: #000000;
- background-color: #333232;
- color: #565656;
-}
-gui-input-modal button {
- margin-left: 4px;
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-input-modal button:focus {
- outline: 0 none transparent;
-}
-/**
- * ===========================================================================
- * MISC
- * ===========================================================================
- */
-/* Video */
-/* Color Swatch */
-gui-color-swatch {
- border: 1px solid #232323;
-}
-/* Color Box */
-gui-color-box {
- cursor: pointer;
- padding: 4px;
- background-color: #353535;
- background: #353535;
- border: 1px solid #232323;
- color: #ffffff;
-}
-gui-color-box > div {
- background: #fff;
-}
-/* Menu */
-gui-menu {
- border: 1px solid transparent;
- background: #353535;
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry > label {
- cursor: pointer;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 16px;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 0;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry[data-icon] {
- padding-right: 16px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand:after {
- content: '►';
- font-family: sans-serif;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-hover,
-gui-menu > gui-menu-entry:hover {
- background-color: #2d73d2;
-}
-gui-menu > gui-menu-entry.gui-hover > label,
-gui-menu > gui-menu-entry:hover > label {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- background-position: 4px center;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry {
- background-position: right 4px center;
-}
-gui-menu > gui-menu-entry > label.gui-has-image {
- padding-left: 22px;
-}
-gui-menu > gui-menu-entry[data-disabled="true"],
-gui-menu > gui-menu-entry[data-disabled="true"] > label {
- color: #565656;
-}
-/* Menu Bar */
-gui-menu-bar {
- padding-left: 4px;
- padding-right: 4px;
-}
-gui-menu-bar-entry {
- cursor: pointer;
- padding: 4px;
-}
-gui-menu-bar-entry:hover {
- background: #2d73d2;
- color: #ffffff;
-}
-gui-menu-bar-entry[data-disabled="true"] > span {
- color: #565656;
-}
-/* Progressbar */
-gui-progress-bar {
- display: block;
- height: 26px;
-}
-gui-progress-bar:before {
- background-color: #444444;
- border: 1px solid #232323;
- padding: 4px;
-}
-gui-progress-bar > div {
- background: #2d73d2 url('/themes/styles/dark/gui/progressbar.png') repeat-x center;
-}
-gui-progress-bar > span {
- color: #fff;
-}
-/* Statusbar */
-gui-statusbar {
- margin: 4px;
- padding-bottom: 4px;
-}
-/**
- * ===========================================================================
- * VIEWS
- * ===========================================================================
- */
-/* Icon View */
-gui-icon-view {
- background-color: #777777;
- border: 1px solid #232323;
- padding: 4px;
-}
-gui-icon-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-icon-view-entry {
- cursor: pointer;
- margin: 2px;
- padding: 2px;
- text-align: center;
- min-width: 60px !important;
- min-height: 60px !important;
-}
-gui-icon-view-entry.gui-active {
- background: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(45, 115, 210, 0.2);
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active {
- background: #2d73d2;
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active > div > span {
- background: #2d73d2;
-}
-/* List View */
-gui-list-view {
- background-color: #777777;
- border: 1px solid #232323;
-}
-gui-list-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-list-view-head {
- background-color: #444444;
-}
-gui-list-view[data-zebra="true"] gui-list-view-body gui-list-view-row:nth-child(2n) {
- background-color: #5A5A5A;
- color: inherit;
-}
-gui-list-view-column {
- padding: 4px;
-}
-gui-list-view-column.gui-has-image {
- padding-left: 24px;
- background-position: 4px;
-}
-html[dir="rtl"] gui-list-view gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 24px;
- background-position: right 4px center;
-}
-gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 40px;
-}
-html[dir="rtl"] gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 40px;
-}
-gui-list-view-row.gui-active {
- background-color: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-list-view.gui-element-focused gui-list-view-row.gui-active {
- background-color: #2d73d2;
-}
-gui-list-view-column-resizer {
- cursor: ew-resize;
- width: 3px;
- right: 0px;
-}
-gui-list-view-column-resizer:after {
- background: #232323;
-}
-/* Tree View */
-gui-tree-view {
- background-color: #777777;
- border: 1px solid #232323;
-}
-gui-tree-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-tree-view-entry.dnd-over > div {
- font-weight: bold;
- text-decoration: underline;
-}
-gui-tree-view-entry > div {
- padding: 4px;
-}
-gui-tree-view-entry > div > span {
- cursor: pointer;
- padding: 2px;
-}
-gui-tree-view-entry > div > span.gui-has-image {
- padding-left: 20px;
-}
-gui-tree-view-entry > gui-tree-view-entry {
- margin-left: 16px;
-}
-gui-tree-view-entry > gui-tree-view-entry.gui-expandable {
- margin-left: 2px;
-}
-gui-tree-view-entry.gui-active > div {
- background-color: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-tree-view.gui-element-focused gui-tree-view-entry.gui-active > div {
- background-color: #2d73d2;
-}
-gui-tree-view-entry.gui-expandable {
- padding-left: 16px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- padding-left: 4px;
- cursor: pointer;
- line-height: 24px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander:before {
- content: '\25BA';
- font-family: Arial;
- color: #232323;
-}
-gui-tree-view-entry.gui-expandable.gui-expanded > gui-tree-view-expander:before {
- content: '\25BC';
-}
-/* Max */
-application-window-button-maximize {
- background: url('dark/wm/maximize_unfocused.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-application-window-button-maximize:hover {
- background: url('dark/wm/maximize_unfocused_prelight.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-application-window-button-maximize:active {
- background: url('dark/wm/maximize_unfocused_pressed.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize {
- background: url('dark/wm/maximize_focused_normal.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize:hover {
- background: url('dark/wm/maximize_focused_prelight.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize:active {
- background: url('dark/wm/maximize_focused_pressed.png') no-repeat center center, url('dark/wm/maximize.png') no-repeat center center !important;
-}
-/* Min */
-application-window-button-minimize {
- background: url('dark/wm/minimize_unfocused.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-application-window-button-minimize:hover {
- background: url('dark/wm/minimize_unfocused_prelight.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-application-window-button-minimize:active {
- background: url('dark/wm/minimize_unfocused_pressed.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize {
- background: url('dark/wm/minimize_focused_normal.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize:hover {
- background: url('dark/wm/minimize_focused_prelight.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize:active {
- background: url('dark/wm/minimize_focused_pressed.png') no-repeat center center, url('dark/wm/minimize.png') no-repeat center center !important;
-}
-/* Close */
-application-window-button-close {
- background: url('dark/wm/close_unfocused.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
-application-window-button-close:hover {
- background: url('dark/wm/close_unfocused_prelight.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
-application-window-button-close:active {
- background: url('dark/wm/close_unfocused_pressed.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close {
- background: url('dark/wm/close_focused_normal.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close:hover {
- background: url('dark/wm/close_focused_prelight.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close:active {
- background: url('dark/wm/close_focused_pressed.png') no-repeat center center, url('dark/wm/close.png') no-repeat center center !important;
-}
diff --git a/build/htdocs/dist/themes/styles/dark.css.map b/build/htdocs/dist/themes/styles/dark.css.map
deleted file mode 100644
index e14ce29..0000000
--- a/build/htdocs/dist/themes/styles/dark.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/Users/mrsang/Google Drive/ushare/IoTOS/OS.js/src/client/stylesheets/theme.less","input"],"names":[],"mappings":"AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2JT;EACE,4BAAA;EACA,qBAAsB,gBAAtB;EACA,eAAgB,UAAhB;;AAIF;EACE,YAAA;EACA,cAAA;;AAGF;EACE,yBAAA;;AAEA,4BAA6B;EAC3B,YAAA;;AAEF,4BAA6B,IAAG,UAAU;EACxC,iCAAA;;AAGJ,sBAAsB;EACpB,yBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,SAAU,SAAV;;AAEF;EACE,WAAA;;;;;;;AASF;AAAM;AAAO;AAAQ;AAAU;AAAO;EACpC,8BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;;AAGF;EACE,WAAA;EACA,YAAA;;AAEF;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;;;;;;AASF,IAAI,uBAAuB;EACzB,yBAAA;;AAGF;EACE,cAAA;;EACA,YAAA;EACA,YAAA;;AAEF,YAAY;EACV,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF;EACE,YAAA;;AAEF,YAAY,+BAAgC;EAC1C,OAAQ,iBAAR;;AAEF,YAAY,6BAA8B;EACxC,QAAS,iBAAT;;AAGA,YAAa,kBAAkB,sBAAsB;EACnD,eAAA;EACA,eAAA;;AAEF,YAAY,+BAAgC,kBAAkB,sBAAsB;EAClF,iBAAA;EACA,gBAAA;;AAEF,YAAY,6BAA8B,kBAAkB,sBAAsB;EAChF,eAAA;EACA,kBAAA;;AAGJ,YAAa;EACX,mCAAA;EACA,mBAAA;EACA,iBAAA;;AAGF,YAAa,qBAAqB;EAChC,YAAA;;AAEF,YAAa,qBAAqB,GAAE;EAClC,UAAA;;AAEF,YAAa,qBAAqB,GAAG;EACnC,iBAAA;;AAEF,IAAI,WAAY,aAAa,qBAAqB,GAAG;EACnD,eAAA;EACA,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;EACA,kDAAA;EACA,YAAA;EACA,eAAA;;AAGF;EACE,WAAA;;;AAGF;EACE,SAAA;EACA,WAAA;;AAGF;EACE,WAAA;;EACA,eAAA;EACA,YAAA;EACA,kBAAA;;AAGA,oBAAoB;AACpB,mBAAmB;EACjB,SAAU,EAAV;EACA,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF,oBAAqB;AACrB,mBAAoB;EAClB,iBAAA;;AAGF,oBAAqB;AACrB,oBAAqB;AACrB,mBAAoB;AACpB,mBAAoB;EAClB,iBAAA;;;AAIF,WAAW;EACT,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;;AAEF,sBAAuB,MAAK;EAC1B,mBAAA;;AAEF,sBAAuB,MAAK,OAAQ;EAClC,cAAA;;AAGJ;EACE,YAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;;AAEA,aAAc;EACZ,eAAA;;AAEF,aAAc;EACZ,eAAA;EACA,eAAA;;AAEA,aAAc,KAAK;EACjB,YAAA;EACA,kBAAA;;AAEA,aAAc,KAAK,KAAK;EACtB,QAAA;EACA,SAAA;;AAEJ,aAAc,KAAK;AACnB,aAAc,KAAK,KAAI;EACrB,gBAAA;EACA,WAAA;;;;;;;AAQN;EACE,YAAA;EACA,gBAAA;;AAEF,kBAAkB;EAChB,+CAAA;EACA,mBAAA;EACA,KAAM,WAAN;EACA,UAAA;EACA,WAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,YAAA;;AAEF,kBAAkB,qBAAqB;EACrC,+CAAA;;AAEA,kBAAkB,uBAAuB;EACzC,UAAA;;AAEF;EACE,UAAA;EACA,YAAA;;AAFF,sBAIE;EACE,WAAA;;;AAMJ,sBAAsB;EACpB,YAAA;EACA,eAAA;;AAEF;EACE,iBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;EACA,kBAAA;;AAEF,wBAAwB;EACtB,YAAA;EACA,eAAA;;AAEF,kBAAkB,qBAAsB;EACtC,UAAA;;AAEF;EACE,WAAA;EACA,kBAAA;EACA,eAAA;;AAEF;EACE,YAAA;;AAEF;AAAwB,sBAAuB;EAC7C,eAAA;;AAEF;EACE,gBAAA;EACA,YAAA;;AAEF;EACE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,iBAAA;;AAEF,oCAAoC;EAClC,cAAA;EACA,SAAS,EAAT;EACA,WAAA;EACA,YAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;EACA,6BAAA;EACA,mBAAA;EACA,0DAAA;EACG,uDAAA;EACC,sDAAA;EACI,kDAAA;;AAEV,kBAAkB,uBAAuB;EACvC,oCAAA;EACA,kBAAA;EA7XA,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;EA0XR,YAAA;;AAEF;EACE,gBAAA;EACA,YAAA;EACA,mBAAA;;AAEF;EACE,mBAAA;EACA,WAAA;EACA,qBAAA;EAEA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,6BAAA;;AAEA,0BAA2B,MAAK,UAAU;EACxC,YAAA;;AAEF,0BAA2B,MAAK,UAAU;EACxC,WAAA;EACA,YAAA;;AAEF,0BAA2B,MAAK,UAAU,GAAG;EAC3C,WAAA;EACA,eAAA;EACA,WAAA;;AAEJ;EACE,UAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;;;;;;;;AAUF;EACE,WAAA;;AAEF,aAAa;EAnYX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;;AAqYA,kBAAmB;AACnB,kBAAmB;EACjB,WAAA;;AAGA,kBAAkB,kBAAmB;AACrC,kBAAkB,kBAAmB;EACnC,OAAQ,iBAAR;EACA,QAAS,iBAAT;;AAGF,kBAAmB;EACjB,QAAS,iBAAT;;AAEF,kBAAmB;EACjB,OAAQ,iBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;;AAIN,cAAe;EACb,cAAA;EACA,UAAA;EACA,iBAAA;;AAEF,cAAc,6BAA8B;EAC1C,eAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;;;AAIF;EACE,yBAAA;;AAEA,UAAW;EACT,yBAAA;;;;AAKJ,WAAY;AACZ,cAAe;AACf,WAAY,eAAe;AAC3B,cAAe,eAAe;EAC5B,WAAA;;AAEF,WAAY;AACZ,cAAe;EACb,SAAA;;AAMF,WAAW;EACT,cAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;;;AAIF;EACE,eAAA;;AAEA;EACE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,kBAAA;;AAEF,kBAAkB;EAChB,SAAU,GAAV;EACA,uBAAA;EACA,kBAAA;;AAEF,YAAY,uBAAwB,qBAAoB;EACtD,SAAU,GAAV;;;AAIF,QAAS;EACP,YAAA;;AAEA,QAAS,KAAK;EACZ,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,iBAAA;;AAEF,QAAS,KAAK,KAAI;EAChB,6BAAA;EACA,qBAAA;;AAEA,QAAS,KAAK,KAAI,WAAW;EAC3B,YAAA;EACA,gCAAA;;AAEN,QAAS;EACP,yBAAA;EACA,yBAAA;EACA,YAAA;;;;;;;;;AAYJ;EACE,YAAA;EACA,iBAAA;;AAEF,kBAAmB;AACnB,kBAAmB;EACjB,YAAA;EACA,iBAAA;EACA,gBAAA;;;AAIF;EACE,YAAA;;AAEF,UAAU;EACR,YAAA;;AAEA,UAAW;EAvmBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;;AAqmBA,UAAW,OAAM;EACf,2BAAA;;AAEF,UAAW,OAAM;AACjB,UAAW,OAAM;EAhmBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,YA5DqC,oDA4DrC;;AAgmBA,UAAW,OAAM,WAAW;AAC5B,UAAW,OAAM,SAAS;AAC1B,UAAW,OAAM;EA3mBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA2mBA,UAAW,OAAM,SAAU;EACzB,WAAA;;AAEF,UAAW,OAAM;EACf,eAAA;EACA,cAAA;;AAEF,UAAW,OAAM,cAAe;EAC9B,kBAAA;;AAEF,UAAU,cAAc,cAAe;EACrC,kBAAA;;AAEF,UAAU,qBAAqB,cAAc,cAAe;EAC1D,kBAAA;;;;AAKJ;AACA;EACE,YAAA;;AAEA,SAAU;AACV,YAAa;EACX,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,cAAA;EACA,kBAAA;;AAEF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,2BAAA;;AAGF,SAAU;EACR,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;;AAGV,SAAU,MAAK,QAAQ;EACrB,SAAS,OAAT;EACA,eAAA;;AAGF,YAAa,MAAK,QAAQ;EACxB,SAAS,OAAT;EACA,eAAA;;AAGF,SAAS,sBAAuB;AAChC,YAAY,sBAAuB;EACjC,cAAA;;AAGF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,qBAAA;EACA,yBAAA;;AAGF,SAAU;AACV,YAAa;EACX,iBAAA;;AAEF,SAAU,QAAQ;AAClB,YAAa,QAAQ;EACnB,iBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EA9qBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EA6qBE,mBAAA;;AAEF,UAAW,OAAM;EA5qBjB,qBAAA;EACA,yBAAA;EACA,cAAA;;AA6qBA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAU;EACR,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;;AAEF,UAAU;EACR,SAAS,IAAT;EACA,WAAW,qBAAX;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,gCAAA;EAEA,mBAAmB,aAAnB;EACG,gBAAgB,aAAhB;EACC,eAAe,aAAf;EACI,WAAW,aAAX;;AAEV,UAAU,sBAAsB;EAC9B,yBAAA;;;AAIJ,eAAgB;EAntBd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAmtBA,eAAgB,OAAM;EACpB,2BAAA;;AAEJ,eAAgB,OAAM;EAntBpB,qBAAA;EACA,yBAAA;EACA,cAAA;;;AAstBF;EACE,YAAA;;AAEA,UAAW;EACT,uBAAA;EACA,cAAA;EACA,YAAA;;;;;AAOF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;;;;AAOF,UAAW,MAAK;EAtxBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;EAmxBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAnxBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAoxBA,UAAW,MAAK;EA/xBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;EA4xBE,YAAA;EACA,WAAA;EACA,iBAAA;;AAEF,UAAW,MAAK,SAAS;EA7xBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA8xBA,UAAW,MAAK;EAzyBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;EAsyBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAtyBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;;;;AA0yBA,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EACT,WAAA;EAhzBF,YAAA;EACA,yBAAA;EACA,yBAAA;EAizBE,eAAA;EACA,UAAA;;AAGF,UAAW;EAh1BX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;;AA80BA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAW,QAAQ;EACjB,gBAAA;;AAGF,UAAU,sBAAuB;EAn1BjC,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAm1BA,UAAU,sBAAuB;EAh0BjC,qBAAA;EACA,yBAAA;EACA,cAAA;EAg0BE,UAAA;;AAGF,UAAU,sBAAuB;AACjC,UAAU,sBAAuB;EA/0BjC,cAAA;;;;AAq1BF;AACA;EACE,YAAA;;AAEA,YAAa;AACb,QAAS;EAv1BT,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAs1BE,iBAAA;EACA,kBAAA;;AAGF,YAAa,QAAQ;AACrB,QAAS,QAAQ;EACf,gBAAA;;AAGF,YAAa,MAAK;AAClB,QAAS,MAAK;EA71Bd,qBAAA;EACA,yBAAA;EACA,cAAA;;AA81BA,YAAa,MAAK;AAClB,QAAS,MAAK;EACZ,2BAAA;;AAGF,YAAY,sBAAuB;AACnC,QAAQ,sBAAuB;EA/2B/B,cAAA;;;AAq3BA,YAAa;EAl3Bb,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAk3BA,YAAa,SAAQ;EACnB,2BAAA;;AAEF,YAAa,SAAQ;EAl3BrB,qBAAA;EACA,yBAAA;EACA,cAAA;;AAo3BA,YAAY,sBAAuB;EA/3BnC,cAAA;;;AAo4BF;EACE,YAAA;EACA,yBAAA;EACA,yBAAA;;AAEA,YAAa;EACX,yBAAA;;;AAIJ,QAAS,eAAe;;EACtB,WAAA;;;AAIF,eAAgB;EAh5Bd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAGA,qBAAA;EACA,yBAAA;EACA,cAAA;;AA44BF,eAAgB;EACd,gBAAA;EA76BA,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;EA06BA,iBAAA;EACA,kBAAA;;AAEA,eAAgB,OAAM;EACpB,2BAAA;;;;;;;;;AAgBJ;EACE,yBAAA;;;AAIF;EAx8BE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,mBAAA;EACA,yBAAA;EACA,cAAA;;AAs8BA,aAAc;EACZ,gBAAA;;;AAIJ;EACE,6BAAA;EACA,mBAAA;EACA,+CAAA;EACA,cAAA;;AAEA,QAAS;EACP,cAAA;;AAEF,QAAS,iBAAiB;EACxB,eAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;EACvB,mBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,gBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,mBAAA;;AAEF,QAAS,iBAAgB,gBAAgB;EACvC,SAAU,GAAV;EACA,uBAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB;EACvB,yBAAA;;AAEF,QAAS,iBAAgB,UAAW;AACpC,QAAS,iBAAgB,MAAO;EAC9B,cAAA;;AAEA,QAAS;EACP,+BAAA;;AAEF,IAAI,WAAY,SAAS;EACvB,qCAAA;;AAEF,QAAS,iBAAiB,QAAO;EAC/B,kBAAA;;AAEF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB,sBAAuB;EAC9C,cAAA;;;AAIN;EACE,iBAAA;EACA,kBAAA;;AAEA;EACE,eAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,mBAAA;EACA,cAAA;;AAEF,kBAAkB,sBAAuB;EACvC,cAAA;;;AAKJ;EACE,cAAA;EACA,YAAA;;AAEA,gBAAgB;EACd,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEF,gBAAiB;EACf,wBC1iC8D,0DD0iC9D;;AAEF,gBAAiB;EACf,WAAA;;;AAIJ;EACE,WAAA;EACA,mBAAA;;;;;;;;AAUF;EACE,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,0BAAA;EACA,2BAAA;;AAGA,mBAAmB;EACjB,mCAAA;EACA,cAAA;;AAEF,mBAAmB,WAAY,MAAM;EACnC,mCAAA;;AAEF,aAAa,oBAAqB,oBAAmB;EACnD,mBAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY,MAAM;EACrE,mBAAA;;;AAIN;EACE,yBAAA;EACA,yBAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,yBAAA;;AAIE,aAAa,mBAAoB,mBAAmB,kBAAiB,UAAU;EAC7E,yBAAA;EACA,cAAA;;AAEF;EACE,YAAA;;AAEF,oBAAoB;EAClB,kBAAA;EACA,wBAAA;;AAEF,IAAI,WAAY,cAAc,qBAAoB;EAChD,eAAA;EACA,mBAAA;EACA,qCAAA;;AAGF,aAAa,qBAAsB,qBAAoB;EACrD,kBAAA;;AAEF,IAAI,WAAY,cAAa,qBAAsB,qBAAoB;EACrE,eAAA;EACA,mBAAA;;AAGJ,iBAAiB;EACf,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,kBAAiB;EACjD,yBAAA;;AAGF;EACE,iBAAA;EACA,UAAA;EACA,UAAA;;AAEA,4BAA4B;EAC1B,mBAAA;;;AAKR;EACE,yBAAA;EACA,yBAAA;;AAEE,aAAa;EACX,2BAAA;;AAEF,mBAAmB,SAAU;EAC3B,iBAAA;EACA,0BAAA;;AAEF,mBAAoB;EAClB,YAAA;;AAEF,mBAAoB,MAAM;EACxB,eAAA;EACA,YAAA;;AAEF,mBAAoB,MAAM,OAAM;EAC9B,kBAAA;;AAEF,mBAAoB;EAClB,iBAAA;;AAEF,mBAAoB,sBAAqB;EACvC,gBAAA;;AAEF,mBAAmB,WAAY;EAC7B,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY;EAC/D,yBAAA;;AAGJ,mBAAmB;EACjB,kBAAA;;AAEF,mBAAmB,eAAgB;EACjC,iBAAA;EACA,eAAA;EACA,iBAAA;;AAEF,mBAAmB,eAAgB,uBAAsB;EACvD,SAAU,OAAV;EACA,kBAAA;EACA,cAAA;;AAEF,mBAAmB,eAAe,aAAc,yBAAwB;EACtE,SAAU,OAAV;;;ACtxCJ;EACE,gBAAiB,+DACA,+CADjB;;AAGF,kCAAkC;EAChC,gBAAiB,wEACA,+CADjB;;AAGF,kCAAkC;EAChC,gBAAiB,uEACA,+CADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,oEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,sEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,qEACA,+CADjB;;;AAKF;EACE,gBAAiB,+DACA,+CADjB;;AAGF,kCAAkC;EAChC,gBAAiB,wEACA,+CADjB;;AAGF,kCAAkC;EAChC,gBAAiB,uEACA,+CADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,oEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,sEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,qEACA,+CADjB;;;AAKF;EACE,gBAAiB,4DACA,4CADjB;;AAGF,+BAA+B;EAC7B,gBAAiB,qEACA,4CADjB;;AAGF,+BAA+B;EAC7B,gBAAiB,oEACA,4CADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,iEACA,4CADjB;;AAGF,kBAAkB,qBAAsB,gCAA+B;EACrE,gBAAiB,mEACA,4CADjB;;AAGF,kBAAkB,qBAAsB,gCAA+B;EACrE,gBAAiB,kEACA,4CADjB"}
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/styles/dark/gui/progressbar.png b/build/htdocs/dist/themes/styles/dark/gui/progressbar.png
deleted file mode 100644
index c1b1afc..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/gui/progressbar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/theme.js b/build/htdocs/dist/themes/styles/dark/theme.js
deleted file mode 100644
index ab07df7..0000000
--- a/build/htdocs/dist/themes/styles/dark/theme.js
+++ /dev/null
@@ -1,27 +0,0 @@
-(function(API, Utils) {
- 'use strict';
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
-
- /////////////////////////////////////////////////////////////////////////////
- // API
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications.CoreWM.CurrentTheme = {
- init: function() {
- },
-
- destroy: function() {
- },
-
- event: function(ev) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
-
-})(OSjs.API, OSjs.Utils);
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close.png b/build/htdocs/dist/themes/styles/dark/wm/close.png
deleted file mode 100644
index 514d5cd..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_focused_normal.png b/build/htdocs/dist/themes/styles/dark/wm/close_focused_normal.png
deleted file mode 100644
index 514d5cd..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_focused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/close_focused_prelight.png
deleted file mode 100644
index adf2eb1..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_focused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/close_focused_pressed.png
deleted file mode 100644
index 932e79b..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused.png b/build/htdocs/dist/themes/styles/dark/wm/close_unfocused.png
deleted file mode 100644
index f5d6c6d..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_prelight.png
deleted file mode 100644
index adf2eb1..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_pressed.png
deleted file mode 100644
index 932e79b..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/close_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize.png b/build/htdocs/dist/themes/styles/dark/wm/maximize.png
deleted file mode 100644
index fa5222e..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_normal.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_normal.png
deleted file mode 100644
index fa5222e..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_prelight.png
deleted file mode 100644
index 8dda70f..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_pressed.png
deleted file mode 100644
index 28c0b66..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused.png
deleted file mode 100644
index f5d6c6d..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_prelight.png
deleted file mode 100644
index 8dda70f..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_pressed.png
deleted file mode 100644
index 28c0b66..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/maximize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize.png b/build/htdocs/dist/themes/styles/dark/wm/minimize.png
deleted file mode 100644
index 9dcb622..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_normal.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_normal.png
deleted file mode 100644
index 9dcb622..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_prelight.png
deleted file mode 100644
index 5e5551c..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_pressed.png
deleted file mode 100644
index a518754..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused.png
deleted file mode 100644
index f5d6c6d..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_prelight.png
deleted file mode 100644
index 5e5551c..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_pressed.png
deleted file mode 100644
index a518754..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/minimize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize.png
deleted file mode 100644
index fa5222e..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_normal.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_normal.png
deleted file mode 100644
index fa5222e..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_prelight.png
deleted file mode 100644
index 8dda70f..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_pressed.png
deleted file mode 100644
index 28c0b66..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused.png
deleted file mode 100644
index f5d6c6d..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_prelight.png
deleted file mode 100644
index 8dda70f..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_pressed.png
deleted file mode 100644
index 28c0b66..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/unmaximize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/dark/wm/wm.png b/build/htdocs/dist/themes/styles/dark/wm/wm.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/styles/dark/wm/wm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default.css b/build/htdocs/dist/themes/styles/default.css
deleted file mode 100644
index 591bd67..0000000
--- a/build/htdocs/dist/themes/styles/default.css
+++ /dev/null
@@ -1,1267 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-/**
- * ===========================================================================
- * CLASSES
- * ===========================================================================
- */
-.gui-has-emblem {
- background-repeat: no-repeat;
- background-position: calc(96%) center;
- padding-right: calc(20px);
-}
-.gui-generic-container {
- padding: 4px;
- color: #242424;
-}
-.gui-generic-zebra-container {
- background-color: #ffffff;
-}
-.gui-generic-zebra-container > * {
- padding: 4px;
-}
-.gui-generic-zebra-container > *:nth-child(even) {
- background: rgba(235, 235, 235, 0.5);
-}
-.gui-generic-hoverable:hover {
- background-color: #2d73d2;
-}
-.gui-generic-padded {
- padding: 4px;
-}
-.gui-generic-double-padded {
- padding: calc(8px);
-}
-.gui-generic-margin {
- margin: 4px;
-}
-/**
- * ===========================================================================
- * OVERRIDES
- * ===========================================================================
- */
-body,
-input,
-button,
-textarea,
-label,
-select {
- font-family: Karla, Sans-serif;
- font-weight: normal;
- font-style: normal;
- font-size: 12px;
- color: #242424;
-}
-::-webkit-scrollbar {
- width: 12px;
- height: 12px;
-}
-::-webkit-scrollbar-button {
- background: #b2b2b2;
- color: #d9d9d9;
- width: 12px;
- height: 12px;
- display: none;
-}
-::-webkit-scrollbar-track {
- background: #ebebeb;
-}
-::-webkit-scrollbar-track-piece {
- background: #ebebeb;
-}
-::-webkit-scrollbar-thumb {
- background: #b2b2b2;
-}
-::-webkit-scrollbar-corner {
- background: #ebebeb;
-}
-::-webkit-resizer {
- background: #ebebeb;
-}
-/**
- * ===========================================================================
- * WM
- * ===========================================================================
- */
-body[data-attention="true"]:after {
- background-color: #242424;
-}
-corewm-panel {
- color: #ffffff;
- /* Window Manager manages this */
- font-size: 0;
- padding: 4px;
-}
-corewm-panel:before {
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-corewm-panel-container {
- padding: 8px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width: calc(100% - 8px);
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height: calc(100% - 8px);
-}
-corewm-panel corewm-panel-item .corewm-panel-buttons > li {
- cursor: pointer;
- font-size: 12px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-item .corewm-panel-buttons > li {
- margin-right: 4px;
- margin-left: 4px;
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-item .corewm-panel-buttons > li {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-corewm-panel .PanelItemClock {
- font-family: Monospace, Courier New;
- font-weight: normal;
- text-align: right;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: .50;
-}
-corewm-panel .PanelItemWindowList li.Focused {
- opacity: 1;
-}
-corewm-panel .PanelItemWindowList li img {
- margin-right: 4px;
-}
-html[dir="rtl"] corewm-panel .PanelItemWindowList li img {
- margin-right: 0;
- margin-left: 4px;
-}
-/* Notifications */
-application-splash {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #ebebeb;
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
- cursor: pointer;
-}
-.custom-notification {
- color: #fff;
- /* Window Manager manages this */
-}
-corewm-notifications {
- top: 10px;
- right: 10px;
-}
-corewm-notification {
- color: #fff;
- /* Window Manager manages this */
- cursor: pointer;
- padding: 8px;
- margin-bottom: 4px;
-}
-.custom-notification:before,
-corewm-notification:before {
- content: '';
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-.custom-notification .Title,
-corewm-notification .Title {
- font-weight: bold;
-}
-.custom-notification .Title,
-.custom-notification .Message,
-corewm-notification .Title,
-corewm-notification .Message {
- line-height: 16px;
-}
-/* Desktop drop wallpaper effect */
-#Background.Blinking {
- background: #fff;
-}
-/* Window Switcher */
-corewm-window-switcher {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #ebebeb;
-}
-corewm-window-switcher > div.Active {
- background: #2d73d2;
-}
-corewm-window-switcher > div.Active > span {
- color: #ffffff;
-}
-corewm-search {
- padding: 4px;
- min-width: 200px;
- max-width: 40%;
- right: 10px;
- top: 10px;
-}
-corewm-search > div {
- margin-top: 4px;
-}
-corewm-search > ul {
- margin-top: 4px;
- cursor: pointer;
-}
-corewm-search > ul > li {
- padding: 4px;
- padding-left: 24px;
-}
-corewm-search > ul > li > img {
- top: 4px;
- left: 4px;
-}
-corewm-search > ul > .active,
-corewm-search > ul > li:hover {
- background: #fff;
- color: #000;
-}
-/**
- * ===========================================================================
- * WINDOW
- * ===========================================================================
- */
-application-window {
- opacity: 0.8;
- margin-top: 30px;
-}
-application-window:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);
- background: #ebebeb;
- top: calc(-33px);
- left: -3px;
- right: -3px;
- bottom: -3px;
-}
-application-window[data-focused="true"] {
- opacity: 1.0;
-}
-application-window[data-focused="true"]:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
-}
-application-window[data-dnd-state="true"]:after {
- top: -30px;
-}
-application-window-top {
- top: -30px;
- height: 30px;
-}
-application-window-top application-window-icon {
- width: 30px;
-}
-/* application-window-content {overflow : hidden;}*/
-application-window-top:active {
- cursor: move;
- cursor: pointer;
-}
-application-window-title {
- font-weight: bold;
- color: #242424;
- opacity: .5;
- left: 24px;
- line-height: 30px;
- text-align: center;
-}
-application-window-title:active {
- cursor: move;
- cursor: pointer;
-}
-application-window[data-focused="true"] application-window-title {
- opacity: 1;
-}
-.application-window-button-entry {
- width: 22px;
- text-align: center;
- cursor: pointer;
-}
-application-window-resize {
- cursor: move;
-}
-application-window-top,
-application-window-top > * {
- cursor: default;
-}
-application-window-loading {
- background: #000;
- opacity: 0.8;
-}
-application-window-loading-indicator {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 50%;
- top: 50%;
- margin-left: -24px;
- margin-top: -24px;
-}
-application-window-loading-indicator:before {
- display: block;
- content: '';
- width: 44px;
- height: 44px;
- border-top: 4px solid #fff;
- border-right: 4px solid #666;
- border-left: 4px solid #666;
- border-bottom: 4px solid #fff;
- border-radius: 100%;
- -webkit-animation: windowloadinganim 0.75s linear infinite;
- -moz-animation: windowloadinganim 0.75s linear infinite;
- -ms-animation: windowloadinganim 0.75s linear infinite;
- animation: windowloadinganim 0.75s linear infinite;
-}
-application-window[data-dnd-state="true"]:after {
- border: 4px solid rgba(0, 0, 0, 0.7);
- border-radius: 1px;
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
- margin: -4px;
-}
-application-window-disabled {
- background: #000;
- opacity: 0.5;
- cursor: not-allowed;
-}
-application-window-warning {
- background: #FFB800;
- color: #fff;
- border-color: #DF9F15;
- height: 30px;
- line-height: 20px;
- margin: 4px;
- border: 1px solid transparent;
-}
-application-window-warning > div:nth-child(1) {
- padding: 4px;
-}
-application-window-warning > div:nth-child(2) {
- right: 20px;
- padding: 4px;
-}
-application-window-warning > div:nth-child(1):hover {
- color: #111;
- cursor: pointer;
- opacity: .9;
-}
-application-window-resize {
- top: -38px;
- left: -8px;
- right: -8px;
- bottom: -8px;
-}
-/**
- * ===========================================================================
- * CONTAINERS
- * ===========================================================================
- */
-/* Container */
-gui-container {
- margin: 4px;
-}
-gui-container[data-borders="true"] {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-/* Box */
-gui-hbox-container > .gui-element,
-gui-vbox-container > .gui-element {
- margin: 4px;
-}
-gui-hbox-container[data-fill='true'] > *,
-gui-vbox-container[data-fill='true'] > * {
- width: calc(100% - 8px);
- height: calc(100% - 8px);
-}
-gui-hbox-container > .perc-100 {
- height: calc(100% - 8px);
-}
-gui-vbox-container > .perc-100 {
- width: calc(100% - 8px);
-}
-gui-hbox-container > .perc-90 {
- height: calc(90% - 8px);
-}
-gui-vbox-container > .perc-90 {
- width: calc(90% - 8px);
-}
-gui-hbox-container > .perc-80 {
- height: calc(80% - 8px);
-}
-gui-vbox-container > .perc-80 {
- width: calc(80% - 8px);
-}
-gui-hbox-container > .perc-70 {
- height: calc(70% - 8px);
-}
-gui-vbox-container > .perc-70 {
- width: calc(70% - 8px);
-}
-gui-hbox-container > .perc-60 {
- height: calc(60% - 8px);
-}
-gui-vbox-container > .perc-60 {
- width: calc(60% - 8px);
-}
-gui-hbox-container > .perc-50 {
- height: calc(50% - 8px);
-}
-gui-vbox-container > .perc-50 {
- width: calc(50% - 8px);
-}
-gui-hbox-container > .perc-40 {
- height: calc(40% - 8px);
-}
-gui-vbox-container > .perc-40 {
- width: calc(40% - 8px);
-}
-gui-hbox-container > .perc-30 {
- height: calc(30% - 8px);
-}
-gui-vbox-container > .perc-30 {
- width: calc(30% - 8px);
-}
-gui-hbox-container > .perc-20 {
- height: calc(20% - 8px);
-}
-gui-vbox-container > .perc-20 {
- width: calc(20% - 8px);
-}
-gui-hbox-container > .perc-10 {
- height: calc(10% - 8px);
-}
-gui-vbox-container > .perc-10 {
- width: calc(10% - 8px);
-}
-/* Paned View */
-gui-paned-view > gui-paned-view-handle {
- min-width: 8px;
- width: 8px;
- cursor: ew-resize;
-}
-gui-paned-view[data-orientation='vertical'] > gui-paned-view-handle {
- min-width: auto;
- width: auto;
- min-height: 8px;
- height: 8px;
- cursor: ns-resize;
-}
-/* IFrame */
-gui-iframe {
- background-color: #ffffff;
-}
-gui-iframe > iframe {
- background-color: #ffffff;
-}
-/* Button Bar */
-/* Toolbar */
-gui-toolbar > *,
-gui-button-bar > *,
-gui-toolbar > gui-expander > *,
-gui-button-bar > gui-expander > * {
- margin: 4px;
-}
-gui-toolbar > gui-expander,
-gui-button-bar > gui-expander {
- margin: 0;
-}
-gui-toolbar[data-orientation="vertical"] {
- margin-left: 0;
- margin-right: 0;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-/* Expander */
-gui-expander {
- font-size: 12px;
-}
-gui-expander-label {
- cursor: pointer;
- padding: 4px;
- background-color: #d9d9d9;
- margin-bottom: 4px;
-}
-gui-expander-label:before {
- content: '▼';
- font-family: sans-serif;
- padding-right: 4px;
-}
-gui-expander[data-expanded="false"] > gui-expander-label:before {
- content: '►';
-}
-/* Tabs */
-gui-tabs > ul {
- height: 25px;
-}
-gui-tabs > ul > li {
- padding-left: 8px;
- padding-right: 8px;
- cursor: pointer;
- background-color: #d9d9d9;
- border: 1px solid transparent;
- border-bottom: 0 none;
- line-height: 25px;
-}
-gui-tabs > ul > li.gui-active {
- background-color: transparent;
- border-color: #b2b2b2;
-}
-gui-tabs > ul > li.gui-active:after {
- bottom: -1px;
- border-bottom: 1px solid #ebebeb;
-}
-gui-tabs > gui-tab-container {
- height: calc(100% - 25px);
- border: 1px solid #b2b2b2;
- padding: 4px;
-}
-/* Button Bar */
-/**
- * ===========================================================================
- * INPUTS
- * ===========================================================================
- */
-/* Label */
-gui-label {
- height: 26px;
- line-height: 26px;
-}
-gui-hbox-container > gui-label,
-gui-vbox-container > gui-label {
- height: 16px;
- line-height: 16px;
- min-height: 16px;
-}
-/* Button */
-gui-button {
- height: 26px;
-}
-gui-button[data-icon-size="32"] {
- height: 42px;
-}
-gui-button button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
-}
-gui-button button:focus {
- outline: 0 none transparent;
-}
-gui-button button.gui-active,
-gui-button button:active {
- border-color: #242424;
- color: #242424;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
-}
-gui-button button.gui-active:disabled,
-gui-button button:disabled:active,
-gui-button button:disabled {
- border-color: #cccccc;
- color: #242424;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-button button:disabled img {
- opacity: .5;
-}
-gui-button button:disabled {
- cursor: default;
- color: #C7C7C7;
-}
-gui-button button.gui-has-image img {
- padding-right: 4px;
-}
-gui-button.gui-has-image.gui-has-label button {
- padding-left: 28px;
-}
-gui-button[data-icon-size="32"].gui-has-image.gui-has-label button {
- padding-left: 44px;
-}
-/* Checkbox Button */
-/* Radio Button */
-gui-radio,
-gui-checkbox {
- height: 26px;
-}
-gui-radio input,
-gui-checkbox input {
- text-align: center;
- background: #ffffff;
- border: 1px solid #c1c1c1;
- width: 16px;
- height: 16px;
- line-height: 12px;
- color: #242424;
- font-family: Arial;
-}
-gui-radio input:focus,
-gui-checkbox input:focus {
- outline: 0 none transparent;
-}
-gui-radio input {
- -webkit-border-radius: 16px;
- -moz-border-radius: 16px;
- -ms-border-radius: 16px;
- border-radius: 16px;
-}
-gui-radio input:checked:after {
- content: "\2022";
- font-size: 32px;
-}
-gui-checkbox input:checked:after {
- content: "\2713";
- font-size: 12px;
-}
-gui-radio[data-disabled="true"] label,
-gui-checkbox[data-disabled="true"] label {
- color: #C7C7C7;
-}
-gui-radio input:disabled,
-gui-checkbox input:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
-}
-gui-radio > label,
-gui-checkbox > label {
- line-height: 26px;
-}
-gui-radio > label > span,
-gui-checkbox > label > span {
- padding-left: 4px;
-}
-/* Select Dropdown */
-gui-select {
- height: 26px;
-}
-gui-select select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
- padding-right: 20px;
-}
-gui-select select:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-select select:focus {
- outline: 0 none transparent;
-}
-gui-select:before {
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 22px;
- background: #ffffff;
-}
-gui-select:after {
- content: '<>';
- font: 11px "Consolas", monospace;
- color: #c1c1c1;
- right: 2px;
- top: 5px;
- padding: 0 0 2px;
- border-bottom: 1px solid #c1c1c1;
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-gui-select[data-disabled="true"]:before {
- background-color: #dddddd;
-}
-/* Select List */
-gui-select-list select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-gui-select-list select:focus {
- outline: 0 none transparent;
-}
-gui-select-list select:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-/* Slider */
-gui-slider {
- height: 26px;
-}
-gui-slider input {
- background: transparent;
- border: 0 none;
- height: 26px;
-}
-/*
- * RANGE TRACK
- */
-gui-slider input::-moz-range-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-gui-slider input::-webkit-slider-runnable-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-gui-slider input::-ms-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-/*
- * RANGE THUMB
- */
-gui-slider input::-moz-range-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
- height: 18px;
- width: 10px;
-}
-gui-slider input:disabled::-moz-range-thumb {
- border-color: #cccccc;
- color: #242424;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-slider input::-webkit-slider-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
- height: 24px;
- width: 16px;
- margin-top: -10px;
-}
-gui-slider input:disabled::-webkit-range-thumb {
- border-color: #cccccc;
- color: #242424;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-slider input::-ms-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
- height: 24px;
- width: 16px;
-}
-gui-slider input:disabled::-ms-thumb {
- border-color: #cccccc;
- color: #242424;
- background-color: #dddddd;
- background: #dddddd;
-}
-/**
- * MISC
- */
-gui-slider input[type=range]::-ms-fill-lower {
- border: 0 none;
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]::-ms-fill-upper {
- border: 0 none;
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color: #d9d9d9;
-}
-/* Switch */
-gui-switch {
- height: 26px;
-}
-gui-switch div {
- width: 48px;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
- cursor: pointer;
- padding: 0;
-}
-gui-switch button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
-}
-gui-switch button:focus {
- outline: 0 none transparent;
-}
-gui-switch > label > div {
- margin-left: 4px;
-}
-gui-switch[data-disabled="true"] button {
- border-color: #cccccc;
- color: #242424;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-switch[data-disabled="true"] div {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
- padding: 0;
-}
-gui-switch[data-disabled="true"] button,
-gui-switch[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Text Field */
-/* Password Field */
-gui-password,
-gui-text {
- height: 26px;
-}
-gui-password input,
-gui-text input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-password > label > input,
-gui-text > label > input {
- margin-left: 4px;
-}
-gui-password input:disabled,
-gui-text input:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-password input:focus,
-gui-text input:focus {
- outline: 0 none transparent;
-}
-gui-password[data-disabled="true"] label,
-gui-text[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Text Area */
-gui-textarea textarea {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-gui-textarea textarea:focus {
- outline: 0 none transparent;
-}
-gui-textarea textarea:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-textarea[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Rich Text */
-gui-richtext {
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-gui-richtext > iframe {
- background-color: #ffffff;
-}
-/* Grid */
-gui-grid > gui-grid-row > gui-grid-entry {
- /* li */
- margin: 4px;
-}
-/* Modal Input */
-gui-input-modal input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-input-modal button {
- margin-left: 4px;
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-input-modal button:focus {
- outline: 0 none transparent;
-}
-/**
- * ===========================================================================
- * MISC
- * ===========================================================================
- */
-/* Video */
-/* Color Swatch */
-gui-color-swatch {
- border: 1px solid #c1c1c1;
-}
-/* Color Box */
-gui-color-box {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c1c1c1;
- color: #242424;
-}
-gui-color-box > div {
- background: #fff;
-}
-/* Menu */
-gui-menu {
- border: 1px solid transparent;
- background: #ebebeb;
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- color: #242424;
-}
-gui-menu > gui-menu-entry {
- color: #242424;
-}
-gui-menu > gui-menu-entry > label {
- cursor: pointer;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 16px;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 0;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry[data-icon] {
- padding-right: 16px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand:after {
- content: '►';
- font-family: sans-serif;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-hover,
-gui-menu > gui-menu-entry:hover {
- background-color: #2d73d2;
-}
-gui-menu > gui-menu-entry.gui-hover > label,
-gui-menu > gui-menu-entry:hover > label {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- background-position: 4px center;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry {
- background-position: right 4px center;
-}
-gui-menu > gui-menu-entry > label.gui-has-image {
- padding-left: 22px;
-}
-gui-menu > gui-menu-entry[data-disabled="true"],
-gui-menu > gui-menu-entry[data-disabled="true"] > label {
- color: #C7C7C7;
-}
-/* Menu Bar */
-gui-menu-bar {
- padding-left: 4px;
- padding-right: 4px;
-}
-gui-menu-bar-entry {
- cursor: pointer;
- padding: 4px;
-}
-gui-menu-bar-entry:hover {
- background: #2d73d2;
- color: #ffffff;
-}
-gui-menu-bar-entry[data-disabled="true"] > span {
- color: #C7C7C7;
-}
-/* Progressbar */
-gui-progress-bar {
- display: block;
- height: 26px;
-}
-gui-progress-bar:before {
- background-color: #d9d9d9;
- border: 1px solid #c1c1c1;
- padding: 4px;
-}
-gui-progress-bar > div {
- background: #2d73d2 url('/themes/styles/default/gui/progressbar.png') repeat-x center;
-}
-gui-progress-bar > span {
- color: #fff;
-}
-/* Statusbar */
-gui-statusbar {
- margin: 4px;
- padding-bottom: 4px;
-}
-/**
- * ===========================================================================
- * VIEWS
- * ===========================================================================
- */
-/* Icon View */
-gui-icon-view {
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
- padding: 4px;
-}
-gui-icon-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-icon-view-entry {
- cursor: pointer;
- margin: 2px;
- padding: 2px;
- text-align: center;
- min-width: 60px !important;
- min-height: 60px !important;
-}
-gui-icon-view-entry.gui-active {
- background: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(45, 115, 210, 0.2);
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active {
- background: #2d73d2;
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active > div > span {
- background: #2d73d2;
-}
-/* List View */
-gui-list-view {
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-gui-list-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-list-view-head {
- background-color: #d9d9d9;
-}
-gui-list-view[data-zebra="true"] gui-list-view-body gui-list-view-row:nth-child(2n) {
- background-color: #F9F9F9;
- color: inherit;
-}
-gui-list-view-column {
- padding: 4px;
-}
-gui-list-view-column.gui-has-image {
- padding-left: 24px;
- background-position: 4px;
-}
-html[dir="rtl"] gui-list-view gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 24px;
- background-position: right 4px center;
-}
-gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 40px;
-}
-html[dir="rtl"] gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 40px;
-}
-gui-list-view-row.gui-active {
- background-color: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-list-view.gui-element-focused gui-list-view-row.gui-active {
- background-color: #2d73d2;
-}
-gui-list-view-column-resizer {
- cursor: ew-resize;
- width: 3px;
- right: 0px;
-}
-gui-list-view-column-resizer:after {
- background: #c1c1c1;
-}
-/* Tree View */
-gui-tree-view {
- background-color: #ffffff;
- border: 1px solid #c1c1c1;
-}
-gui-tree-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-tree-view-entry.dnd-over > div {
- font-weight: bold;
- text-decoration: underline;
-}
-gui-tree-view-entry > div {
- padding: 4px;
-}
-gui-tree-view-entry > div > span {
- cursor: pointer;
- padding: 2px;
-}
-gui-tree-view-entry > div > span.gui-has-image {
- padding-left: 20px;
-}
-gui-tree-view-entry > gui-tree-view-entry {
- margin-left: 16px;
-}
-gui-tree-view-entry > gui-tree-view-entry.gui-expandable {
- margin-left: 2px;
-}
-gui-tree-view-entry.gui-active > div {
- background-color: rgba(45, 115, 210, 0.2);
- color: #ffffff;
-}
-gui-tree-view.gui-element-focused gui-tree-view-entry.gui-active > div {
- background-color: #2d73d2;
-}
-gui-tree-view-entry.gui-expandable {
- padding-left: 16px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- padding-left: 4px;
- cursor: pointer;
- line-height: 24px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander:before {
- content: '\25BA';
- font-family: Arial;
- color: #b2b2b2;
-}
-gui-tree-view-entry.gui-expandable.gui-expanded > gui-tree-view-expander:before {
- content: '\25BC';
-}
-/**
- * Original theme by Rafa Cobreros
- * From Gnome
- * http://gnome-look.org/content/show.php/?content=157986
- */
-application-window:before {
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
-}
-/* Max */
-application-window-button-maximize {
- background: url('default/wm/maximize_unfocused.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-application-window-button-maximize:hover {
- background: url('default/wm/maximize_unfocused_prelight.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-application-window-button-maximize:active {
- background: url('default/wm/maximize_unfocused_pressed.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize {
- background: url('default/wm/maximize_focused_normal.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize:hover {
- background: url('default/wm/maximize_focused_prelight.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-maximize:active {
- background: url('default/wm/maximize_focused_pressed.png') no-repeat center center, url('default/wm/maximize.png') no-repeat center center !important;
-}
-/* Min */
-application-window-button-minimize {
- background: url('default/wm/minimize_unfocused.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-application-window-button-minimize:hover {
- background: url('default/wm/minimize_unfocused_prelight.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-application-window-button-minimize:active {
- background: url('default/wm/minimize_unfocused_pressed.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize {
- background: url('default/wm/minimize_focused_normal.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize:hover {
- background: url('default/wm/minimize_focused_prelight.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-minimize:active {
- background: url('default/wm/minimize_focused_pressed.png') no-repeat center center, url('default/wm/minimize.png') no-repeat center center !important;
-}
-/* Close */
-application-window-button-close {
- background: url('default/wm/close_unfocused.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
-application-window-button-close:hover {
- background: url('default/wm/close_unfocused_prelight.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
-application-window-button-close:active {
- background: url('default/wm/close_unfocused_pressed.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close {
- background: url('default/wm/close_focused_normal.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close:hover {
- background: url('default/wm/close_focused_prelight.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
-application-window[data-focused="true"] application-window-button-close:active {
- background: url('default/wm/close_focused_pressed.png') no-repeat center center, url('default/wm/close.png') no-repeat center center !important;
-}
diff --git a/build/htdocs/dist/themes/styles/default.css.map b/build/htdocs/dist/themes/styles/default.css.map
deleted file mode 100644
index 30e2667..0000000
--- a/build/htdocs/dist/themes/styles/default.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/Users/mrsang/Google Drive/ushare/IoTOS/OS.js/src/client/stylesheets/theme.less","input"],"names":[],"mappings":"AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2JT;EACE,4BAAA;EACA,qBAAsB,gBAAtB;EACA,eAAgB,UAAhB;;AAIF;EACE,YAAA;EACA,cAAA;;AAGF;EACE,yBAAA;;AAEA,4BAA6B;EAC3B,YAAA;;AAEF,4BAA6B,IAAG,UAAU;EACxC,oCAAA;;AAGJ,sBAAsB;EACpB,yBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,SAAU,SAAV;;AAEF;EACE,WAAA;;;;;;;AASF;AAAM;AAAO;AAAQ;AAAU;AAAO;EACpC,8BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;;AAGF;EACE,WAAA;EACA,YAAA;;AAEF;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;;;;;;AASF,IAAI,uBAAuB;EACzB,yBAAA;;AAGF;EACE,cAAA;;EACA,YAAA;EACA,YAAA;;AAEF,YAAY;EACV,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF;EACE,YAAA;;AAEF,YAAY,+BAAgC;EAC1C,OAAQ,iBAAR;;AAEF,YAAY,6BAA8B;EACxC,QAAS,iBAAT;;AAGA,YAAa,kBAAkB,sBAAsB;EACnD,eAAA;EACA,eAAA;;AAEF,YAAY,+BAAgC,kBAAkB,sBAAsB;EAClF,iBAAA;EACA,gBAAA;;AAEF,YAAY,6BAA8B,kBAAkB,sBAAsB;EAChF,eAAA;EACA,kBAAA;;AAGJ,YAAa;EACX,mCAAA;EACA,mBAAA;EACA,iBAAA;;AAGF,YAAa,qBAAqB;EAChC,YAAA;;AAEF,YAAa,qBAAqB,GAAE;EAClC,UAAA;;AAEF,YAAa,qBAAqB,GAAG;EACnC,iBAAA;;AAEF,IAAI,WAAY,aAAa,qBAAqB,GAAG;EACnD,eAAA;EACA,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;EACA,kDAAA;EACA,YAAA;EACA,eAAA;;AAGF;EACE,WAAA;;;AAGF;EACE,SAAA;EACA,WAAA;;AAGF;EACE,WAAA;;EACA,eAAA;EACA,YAAA;EACA,kBAAA;;AAGA,oBAAoB;AACpB,mBAAmB;EACjB,SAAU,EAAV;EACA,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF,oBAAqB;AACrB,mBAAoB;EAClB,iBAAA;;AAGF,oBAAqB;AACrB,oBAAqB;AACrB,mBAAoB;AACpB,mBAAoB;EAClB,iBAAA;;;AAIF,WAAW;EACT,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;;AAEF,sBAAuB,MAAK;EAC1B,mBAAA;;AAEF,sBAAuB,MAAK,OAAQ;EAClC,cAAA;;AAGJ;EACE,YAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;;AAEA,aAAc;EACZ,eAAA;;AAEF,aAAc;EACZ,eAAA;EACA,eAAA;;AAEA,aAAc,KAAK;EACjB,YAAA;EACA,kBAAA;;AAEA,aAAc,KAAK,KAAK;EACtB,QAAA;EACA,SAAA;;AAEJ,aAAc,KAAK;AACnB,aAAc,KAAK,KAAI;EACrB,gBAAA;EACA,WAAA;;;;;;;AAQN;EACE,YAAA;EACA,gBAAA;;AAEF,kBAAkB;EAChB,+CAAA;EACA,mBAAA;EACA,KAAM,WAAN;EACA,UAAA;EACA,WAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,YAAA;;AAEF,kBAAkB,qBAAqB;EACrC,+CAAA;;AAEA,kBAAkB,uBAAuB;EACzC,UAAA;;AAEF;EACE,UAAA;EACA,YAAA;;AAFF,sBAIE;EACE,WAAA;;;AAMJ,sBAAsB;EACpB,YAAA;EACA,eAAA;;AAEF;EACE,iBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;EACA,kBAAA;;AAEF,wBAAwB;EACtB,YAAA;EACA,eAAA;;AAEF,kBAAkB,qBAAsB;EACtC,UAAA;;AAEF;EACE,WAAA;EACA,kBAAA;EACA,eAAA;;AAEF;EACE,YAAA;;AAEF;AAAwB,sBAAuB;EAC7C,eAAA;;AAEF;EACE,gBAAA;EACA,YAAA;;AAEF;EACE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,iBAAA;;AAEF,oCAAoC;EAClC,cAAA;EACA,SAAS,EAAT;EACA,WAAA;EACA,YAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;EACA,6BAAA;EACA,mBAAA;EACA,0DAAA;EACG,uDAAA;EACC,sDAAA;EACI,kDAAA;;AAEV,kBAAkB,uBAAuB;EACvC,oCAAA;EACA,kBAAA;EA7XA,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;EA0XR,YAAA;;AAEF;EACE,gBAAA;EACA,YAAA;EACA,mBAAA;;AAEF;EACE,mBAAA;EACA,WAAA;EACA,qBAAA;EAEA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,6BAAA;;AAEA,0BAA2B,MAAK,UAAU;EACxC,YAAA;;AAEF,0BAA2B,MAAK,UAAU;EACxC,WAAA;EACA,YAAA;;AAEF,0BAA2B,MAAK,UAAU,GAAG;EAC3C,WAAA;EACA,eAAA;EACA,WAAA;;AAEJ;EACE,UAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;;;;;;;;AAUF;EACE,WAAA;;AAEF,aAAa;EAnYX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;;AAqYA,kBAAmB;AACnB,kBAAmB;EACjB,WAAA;;AAGA,kBAAkB,kBAAmB;AACrC,kBAAkB,kBAAmB;EACnC,OAAQ,iBAAR;EACA,QAAS,iBAAT;;AAGF,kBAAmB;EACjB,QAAS,iBAAT;;AAEF,kBAAmB;EACjB,OAAQ,iBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;;AAIN,cAAe;EACb,cAAA;EACA,UAAA;EACA,iBAAA;;AAEF,cAAc,6BAA8B;EAC1C,eAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;;;AAIF;EACE,yBAAA;;AAEA,UAAW;EACT,yBAAA;;;;AAKJ,WAAY;AACZ,cAAe;AACf,WAAY,eAAe;AAC3B,cAAe,eAAe;EAC5B,WAAA;;AAEF,WAAY;AACZ,cAAe;EACb,SAAA;;AAMF,WAAW;EACT,cAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;;;AAIF;EACE,eAAA;;AAEA;EACE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,kBAAA;;AAEF,kBAAkB;EAChB,SAAU,GAAV;EACA,uBAAA;EACA,kBAAA;;AAEF,YAAY,uBAAwB,qBAAoB;EACtD,SAAU,GAAV;;;AAIF,QAAS;EACP,YAAA;;AAEA,QAAS,KAAK;EACZ,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,iBAAA;;AAEF,QAAS,KAAK,KAAI;EAChB,6BAAA;EACA,qBAAA;;AAEA,QAAS,KAAK,KAAI,WAAW;EAC3B,YAAA;EACA,gCAAA;;AAEN,QAAS;EACP,yBAAA;EACA,yBAAA;EACA,YAAA;;;;;;;;;AAYJ;EACE,YAAA;EACA,iBAAA;;AAEF,kBAAmB;AACnB,kBAAmB;EACjB,YAAA;EACA,iBAAA;EACA,gBAAA;;;AAIF;EACE,YAAA;;AAEF,UAAU;EACR,YAAA;;AAEA,UAAW;EAvmBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AAqmBA,UAAW,OAAM;EACf,2BAAA;;AAEF,UAAW,OAAM;AACjB,UAAW,OAAM;EAhmBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,YA5DqC,oDA4DrC;;AAgmBA,UAAW,OAAM,WAAW;AAC5B,UAAW,OAAM,SAAS;AAC1B,UAAW,OAAM;EA3mBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA2mBA,UAAW,OAAM,SAAU;EACzB,WAAA;;AAEF,UAAW,OAAM;EACf,eAAA;EACA,cAAA;;AAEF,UAAW,OAAM,cAAe;EAC9B,kBAAA;;AAEF,UAAU,cAAc,cAAe;EACrC,kBAAA;;AAEF,UAAU,qBAAqB,cAAc,cAAe;EAC1D,kBAAA;;;;AAKJ;AACA;EACE,YAAA;;AAEA,SAAU;AACV,YAAa;EACX,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,cAAA;EACA,kBAAA;;AAEF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,2BAAA;;AAGF,SAAU;EACR,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;;AAGV,SAAU,MAAK,QAAQ;EACrB,SAAS,OAAT;EACA,eAAA;;AAGF,YAAa,MAAK,QAAQ;EACxB,SAAS,OAAT;EACA,eAAA;;AAGF,SAAS,sBAAuB;AAChC,YAAY,sBAAuB;EACjC,cAAA;;AAGF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,qBAAA;EACA,yBAAA;;AAGF,SAAU;AACV,YAAa;EACX,iBAAA;;AAEF,SAAU,QAAQ;AAClB,YAAa,QAAQ;EACnB,iBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EA9qBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EA6qBE,mBAAA;;AAEF,UAAW,OAAM;EA5qBjB,qBAAA;EACA,yBAAA;EACA,cAAA;;AA6qBA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAU;EACR,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;;AAEF,UAAU;EACR,SAAS,IAAT;EACA,WAAW,qBAAX;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,gCAAA;EAEA,mBAAmB,aAAnB;EACG,gBAAgB,aAAhB;EACC,eAAe,aAAf;EACI,WAAW,aAAX;;AAEV,UAAU,sBAAsB;EAC9B,yBAAA;;;AAIJ,eAAgB;EAntBd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAmtBA,eAAgB,OAAM;EACpB,2BAAA;;AAEJ,eAAgB,OAAM;EAntBpB,qBAAA;EACA,yBAAA;EACA,cAAA;;;AAstBF;EACE,YAAA;;AAEA,UAAW;EACT,uBAAA;EACA,cAAA;EACA,YAAA;;;;;AAOF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;;;;AAOF,UAAW,MAAK;EAtxBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EAmxBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAnxBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAoxBA,UAAW,MAAK;EA/xBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EA4xBE,YAAA;EACA,WAAA;EACA,iBAAA;;AAEF,UAAW,MAAK,SAAS;EA7xBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA8xBA,UAAW,MAAK;EAzyBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EAsyBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAtyBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;;;;AA0yBA,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EACT,WAAA;EAhzBF,YAAA;EACA,yBAAA;EACA,yBAAA;EAizBE,eAAA;EACA,UAAA;;AAGF,UAAW;EAh1BX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AA80BA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAW,QAAQ;EACjB,gBAAA;;AAGF,UAAU,sBAAuB;EAn1BjC,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAm1BA,UAAU,sBAAuB;EAh0BjC,qBAAA;EACA,yBAAA;EACA,cAAA;EAg0BE,UAAA;;AAGF,UAAU,sBAAuB;AACjC,UAAU,sBAAuB;EA/0BjC,cAAA;;;;AAq1BF;AACA;EACE,YAAA;;AAEA,YAAa;AACb,QAAS;EAv1BT,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAs1BE,iBAAA;EACA,kBAAA;;AAGF,YAAa,QAAQ;AACrB,QAAS,QAAQ;EACf,gBAAA;;AAGF,YAAa,MAAK;AAClB,QAAS,MAAK;EA71Bd,qBAAA;EACA,yBAAA;EACA,cAAA;;AA81BA,YAAa,MAAK;AAClB,QAAS,MAAK;EACZ,2BAAA;;AAGF,YAAY,sBAAuB;AACnC,QAAQ,sBAAuB;EA/2B/B,cAAA;;;AAq3BA,YAAa;EAl3Bb,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAk3BA,YAAa,SAAQ;EACnB,2BAAA;;AAEF,YAAa,SAAQ;EAl3BrB,qBAAA;EACA,yBAAA;EACA,cAAA;;AAo3BA,YAAY,sBAAuB;EA/3BnC,cAAA;;;AAo4BF;EACE,YAAA;EACA,yBAAA;EACA,yBAAA;;AAEA,YAAa;EACX,yBAAA;;;AAIJ,QAAS,eAAe;;EACtB,WAAA;;;AAIF,eAAgB;EAh5Bd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAGA,qBAAA;EACA,yBAAA;EACA,cAAA;;AA44BF,eAAgB;EACd,gBAAA;EA76BA,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EA06BA,iBAAA;EACA,kBAAA;;AAEA,eAAgB,OAAM;EACpB,2BAAA;;;;;;;;;AAgBJ;EACE,yBAAA;;;AAIF;EAx8BE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AAs8BA,aAAc;EACZ,gBAAA;;;AAIJ;EACE,6BAAA;EACA,mBAAA;EACA,+CAAA;EACA,cAAA;;AAEA,QAAS;EACP,cAAA;;AAEF,QAAS,iBAAiB;EACxB,eAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;EACvB,mBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,gBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,mBAAA;;AAEF,QAAS,iBAAgB,gBAAgB;EACvC,SAAU,GAAV;EACA,uBAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB;EACvB,yBAAA;;AAEF,QAAS,iBAAgB,UAAW;AACpC,QAAS,iBAAgB,MAAO;EAC9B,cAAA;;AAEA,QAAS;EACP,+BAAA;;AAEF,IAAI,WAAY,SAAS;EACvB,qCAAA;;AAEF,QAAS,iBAAiB,QAAO;EAC/B,kBAAA;;AAEF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB,sBAAuB;EAC9C,cAAA;;;AAIN;EACE,iBAAA;EACA,kBAAA;;AAEA;EACE,eAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,mBAAA;EACA,cAAA;;AAEF,kBAAkB,sBAAuB;EACvC,cAAA;;;AAKJ;EACE,cAAA;EACA,YAAA;;AAEA,gBAAgB;EACd,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEF,gBAAiB;EACf,wBC5jC8D,6DD4jC9D;;AAEF,gBAAiB;EACf,WAAA;;;AAIJ;EACE,WAAA;EACA,mBAAA;;;;;;;;AAUF;EACE,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,0BAAA;EACA,2BAAA;;AAGA,mBAAmB;EACjB,mCAAA;EACA,cAAA;;AAEF,mBAAmB,WAAY,MAAM;EACnC,mCAAA;;AAEF,aAAa,oBAAqB,oBAAmB;EACnD,mBAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY,MAAM;EACrE,mBAAA;;;AAIN;EACE,yBAAA;EACA,yBAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,yBAAA;;AAIE,aAAa,mBAAoB,mBAAmB,kBAAiB,UAAU;EAC7E,yBAAA;EACA,cAAA;;AAEF;EACE,YAAA;;AAEF,oBAAoB;EAClB,kBAAA;EACA,wBAAA;;AAEF,IAAI,WAAY,cAAc,qBAAoB;EAChD,eAAA;EACA,mBAAA;EACA,qCAAA;;AAGF,aAAa,qBAAsB,qBAAoB;EACrD,kBAAA;;AAEF,IAAI,WAAY,cAAa,qBAAsB,qBAAoB;EACrE,eAAA;EACA,mBAAA;;AAGJ,iBAAiB;EACf,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,kBAAiB;EACjD,yBAAA;;AAGF;EACE,iBAAA;EACA,UAAA;EACA,UAAA;;AAEA,4BAA4B;EAC1B,mBAAA;;;AAKR;EACE,yBAAA;EACA,yBAAA;;AAEE,aAAa;EACX,2BAAA;;AAEF,mBAAmB,SAAU;EAC3B,iBAAA;EACA,0BAAA;;AAEF,mBAAoB;EAClB,YAAA;;AAEF,mBAAoB,MAAM;EACxB,eAAA;EACA,YAAA;;AAEF,mBAAoB,MAAM,OAAM;EAC9B,kBAAA;;AAEF,mBAAoB;EAClB,iBAAA;;AAEF,mBAAoB,sBAAqB;EACvC,gBAAA;;AAEF,mBAAmB,WAAY;EAC7B,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY;EAC/D,yBAAA;;AAGJ,mBAAmB;EACjB,kBAAA;;AAEF,mBAAmB,eAAgB;EACjC,iBAAA;EACA,eAAA;EACA,iBAAA;;AAEF,mBAAmB,eAAgB,uBAAsB;EACvD,SAAU,OAAV;EACA,kBAAA;EACA,cAAA;;AAEF,mBAAmB,eAAe,aAAc,yBAAwB;EACtE,SAAU,OAAV;;;;;;;AC7yCJ,kBAAkB;ED6FhB,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;;;AC7FV;EACE,gBAAiB,kEACA,kDADjB;;AAGF,kCAAkC;EAChC,gBAAiB,2EACA,kDADjB;;AAGF,kCAAkC;EAChC,gBAAiB,0EACA,kDADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,uEACA,kDADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,yEACA,kDADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,wEACA,kDADjB;;;AAKF;EACE,gBAAiB,kEACA,kDADjB;;AAGF,kCAAkC;EAChC,gBAAiB,2EACA,kDADjB;;AAGF,kCAAkC;EAChC,gBAAiB,0EACA,kDADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,uEACA,kDADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,yEACA,kDADjB;;AAGF,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,wEACA,kDADjB;;;AAKF;EACE,gBAAiB,+DACA,+CADjB;;AAGF,+BAA+B;EAC7B,gBAAiB,wEACA,+CADjB;;AAGF,+BAA+B;EAC7B,gBAAiB,uEACA,+CADjB;;AAIF,kBAAkB,qBAAsB;EACtC,gBAAiB,oEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,gCAA+B;EACrE,gBAAiB,sEACA,+CADjB;;AAGF,kBAAkB,qBAAsB,gCAA+B;EACrE,gBAAiB,qEACA,+CADjB"}
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/styles/default/gui/progressbar.png b/build/htdocs/dist/themes/styles/default/gui/progressbar.png
deleted file mode 100644
index 3adf92e..0000000
Binary files a/build/htdocs/dist/themes/styles/default/gui/progressbar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/theme.js b/build/htdocs/dist/themes/styles/default/theme.js
deleted file mode 100644
index ab07df7..0000000
--- a/build/htdocs/dist/themes/styles/default/theme.js
+++ /dev/null
@@ -1,27 +0,0 @@
-(function(API, Utils) {
- 'use strict';
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
-
- /////////////////////////////////////////////////////////////////////////////
- // API
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications.CoreWM.CurrentTheme = {
- init: function() {
- },
-
- destroy: function() {
- },
-
- event: function(ev) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
-
-})(OSjs.API, OSjs.Utils);
diff --git a/build/htdocs/dist/themes/styles/default/wm/close.png b/build/htdocs/dist/themes/styles/default/wm/close.png
deleted file mode 100644
index efb9d00..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_focused_normal.png b/build/htdocs/dist/themes/styles/default/wm/close_focused_normal.png
deleted file mode 100644
index efb9d00..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_focused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/close_focused_prelight.png
deleted file mode 100644
index 0922da0..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_focused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/close_focused_pressed.png
deleted file mode 100644
index 0aef683..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_unfocused.png b/build/htdocs/dist/themes/styles/default/wm/close_unfocused.png
deleted file mode 100644
index 41f007d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_unfocused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/close_unfocused_prelight.png
deleted file mode 100644
index 0922da0..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/close_unfocused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/close_unfocused_pressed.png
deleted file mode 100644
index 0aef683..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/close_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize.png b/build/htdocs/dist/themes/styles/default/wm/maximize.png
deleted file mode 100644
index 0ec48d5..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_normal.png b/build/htdocs/dist/themes/styles/default/wm/maximize_focused_normal.png
deleted file mode 100644
index 0ec48d5..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/maximize_focused_prelight.png
deleted file mode 100644
index b5f7a16..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/maximize_focused_pressed.png
deleted file mode 100644
index c3770f3..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused.png b/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused.png
deleted file mode 100644
index 41f007d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_prelight.png
deleted file mode 100644
index b5f7a16..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_pressed.png
deleted file mode 100644
index c3770f3..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/maximize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize.png b/build/htdocs/dist/themes/styles/default/wm/minimize.png
deleted file mode 100644
index e8b86d0..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_normal.png b/build/htdocs/dist/themes/styles/default/wm/minimize_focused_normal.png
deleted file mode 100644
index e8b86d0..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/minimize_focused_prelight.png
deleted file mode 100644
index d0707e4..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/minimize_focused_pressed.png
deleted file mode 100644
index 5b7806d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused.png b/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused.png
deleted file mode 100644
index 41f007d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_prelight.png
deleted file mode 100644
index d0707e4..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_pressed.png
deleted file mode 100644
index 5b7806d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/minimize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize.png
deleted file mode 100644
index 0ec48d5..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_normal.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_normal.png
deleted file mode 100644
index 0ec48d5..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_normal.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_prelight.png
deleted file mode 100644
index b5f7a16..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_pressed.png
deleted file mode 100644
index c3770f3..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_focused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused.png
deleted file mode 100644
index 41f007d..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_prelight.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_prelight.png
deleted file mode 100644
index b5f7a16..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_prelight.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_pressed.png b/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_pressed.png
deleted file mode 100644
index c3770f3..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/unmaximize_unfocused_pressed.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/default/wm/wm.png b/build/htdocs/dist/themes/styles/default/wm/wm.png
deleted file mode 100644
index fba0eb7..0000000
Binary files a/build/htdocs/dist/themes/styles/default/wm/wm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/glass.css b/build/htdocs/dist/themes/styles/glass.css
deleted file mode 100644
index b4063e9..0000000
--- a/build/htdocs/dist/themes/styles/glass.css
+++ /dev/null
@@ -1,1240 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-/**
- * ===========================================================================
- * CLASSES
- * ===========================================================================
- */
-.gui-has-emblem {
- background-repeat: no-repeat;
- background-position: calc(96%) center;
- padding-right: calc(20px);
-}
-.gui-generic-container {
- padding: 4px;
- color: #656565;
-}
-.gui-generic-zebra-container {
- background-color: #ffffff;
-}
-.gui-generic-zebra-container > * {
- padding: 4px;
-}
-.gui-generic-zebra-container > *:nth-child(even) {
- background: rgba(254, 254, 254, 0.5);
-}
-.gui-generic-hoverable:hover {
- background-color: #33a550;
-}
-.gui-generic-padded {
- padding: 4px;
-}
-.gui-generic-double-padded {
- padding: calc(8px);
-}
-.gui-generic-margin {
- margin: 4px;
-}
-/**
- * ===========================================================================
- * OVERRIDES
- * ===========================================================================
- */
-body,
-input,
-button,
-textarea,
-label,
-select {
- font-family: Karla, Sans-serif;
- font-weight: normal;
- font-style: normal;
- font-size: 12px;
- color: #656565;
-}
-::-webkit-scrollbar {
- width: 12px;
- height: 12px;
-}
-::-webkit-scrollbar-button {
- background: #c3c3c3;
- color: #d9d9d9;
- width: 12px;
- height: 12px;
- display: none;
-}
-::-webkit-scrollbar-track {
- background: #fefefe;
-}
-::-webkit-scrollbar-track-piece {
- background: #fefefe;
-}
-::-webkit-scrollbar-thumb {
- background: #c3c3c3;
-}
-::-webkit-scrollbar-corner {
- background: #fefefe;
-}
-::-webkit-resizer {
- background: #fefefe;
-}
-/**
- * ===========================================================================
- * WM
- * ===========================================================================
- */
-body[data-attention="true"]:after {
- background-color: #656565;
-}
-corewm-panel {
- color: #ffffff;
- /* Window Manager manages this */
- font-size: 0;
- padding: 4px;
-}
-corewm-panel:before {
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-corewm-panel-container {
- padding: 8px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width: calc(100% - 8px);
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height: calc(100% - 8px);
-}
-corewm-panel corewm-panel-item .corewm-panel-buttons > li {
- cursor: pointer;
- font-size: 12px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-item .corewm-panel-buttons > li {
- margin-right: 4px;
- margin-left: 4px;
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-item .corewm-panel-buttons > li {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-corewm-panel .PanelItemClock {
- font-family: Monospace, Courier New;
- font-weight: normal;
- text-align: right;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: .50;
-}
-corewm-panel .PanelItemWindowList li.Focused {
- opacity: 1;
-}
-corewm-panel .PanelItemWindowList li img {
- margin-right: 4px;
-}
-html[dir="rtl"] corewm-panel .PanelItemWindowList li img {
- margin-right: 0;
- margin-left: 4px;
-}
-/* Notifications */
-application-splash {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #fefefe;
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
- cursor: pointer;
-}
-.custom-notification {
- color: #fff;
- /* Window Manager manages this */
-}
-corewm-notifications {
- top: 10px;
- right: 10px;
-}
-corewm-notification {
- color: #fff;
- /* Window Manager manages this */
- cursor: pointer;
- padding: 8px;
- margin-bottom: 4px;
-}
-.custom-notification:before,
-corewm-notification:before {
- content: '';
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-.custom-notification .Title,
-corewm-notification .Title {
- font-weight: bold;
-}
-.custom-notification .Title,
-.custom-notification .Message,
-corewm-notification .Title,
-corewm-notification .Message {
- line-height: 16px;
-}
-/* Desktop drop wallpaper effect */
-#Background.Blinking {
- background: #fff;
-}
-/* Window Switcher */
-corewm-window-switcher {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #fefefe;
-}
-corewm-window-switcher > div.Active {
- background: #33a550;
-}
-corewm-window-switcher > div.Active > span {
- color: #ffffff;
-}
-corewm-search {
- padding: 4px;
- min-width: 200px;
- max-width: 40%;
- right: 10px;
- top: 10px;
-}
-corewm-search > div {
- margin-top: 4px;
-}
-corewm-search > ul {
- margin-top: 4px;
- cursor: pointer;
-}
-corewm-search > ul > li {
- padding: 4px;
- padding-left: 24px;
-}
-corewm-search > ul > li > img {
- top: 4px;
- left: 4px;
-}
-corewm-search > ul > .active,
-corewm-search > ul > li:hover {
- background: #fff;
- color: #000;
-}
-/**
- * ===========================================================================
- * WINDOW
- * ===========================================================================
- */
-application-window {
- opacity: 0.8;
- margin-top: 30px;
-}
-application-window:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);
- background: #fefefe;
- top: calc(-35px);
- left: -5px;
- right: -5px;
- bottom: -5px;
-}
-application-window[data-focused="true"] {
- opacity: 1.0;
-}
-application-window[data-focused="true"]:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
-}
-application-window[data-dnd-state="true"]:after {
- top: -30px;
-}
-application-window-top {
- top: -30px;
- height: 30px;
-}
-application-window-top application-window-icon {
- width: 30px;
-}
-/* application-window-content {overflow : hidden;}*/
-application-window-top:active {
- cursor: move;
- cursor: pointer;
-}
-application-window-title {
- font-weight: bold;
- color: #656565;
- opacity: .5;
- left: 24px;
- line-height: 30px;
- text-align: center;
-}
-application-window-title:active {
- cursor: move;
- cursor: pointer;
-}
-application-window[data-focused="true"] application-window-title {
- opacity: 1;
-}
-.application-window-button-entry {
- width: 22px;
- text-align: center;
- cursor: pointer;
-}
-application-window-resize {
- cursor: move;
-}
-application-window-top,
-application-window-top > * {
- cursor: default;
-}
-application-window-loading {
- background: #000;
- opacity: 0.8;
-}
-application-window-loading-indicator {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 50%;
- top: 50%;
- margin-left: -24px;
- margin-top: -24px;
-}
-application-window-loading-indicator:before {
- display: block;
- content: '';
- width: 44px;
- height: 44px;
- border-top: 4px solid #fff;
- border-right: 4px solid #666;
- border-left: 4px solid #666;
- border-bottom: 4px solid #fff;
- border-radius: 100%;
- -webkit-animation: windowloadinganim 0.75s linear infinite;
- -moz-animation: windowloadinganim 0.75s linear infinite;
- -ms-animation: windowloadinganim 0.75s linear infinite;
- animation: windowloadinganim 0.75s linear infinite;
-}
-application-window[data-dnd-state="true"]:after {
- border: 4px solid rgba(0, 0, 0, 0.7);
- border-radius: 1px;
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
- margin: -4px;
-}
-application-window-disabled {
- background: #000;
- opacity: 0.5;
- cursor: not-allowed;
-}
-application-window-warning {
- background: #FFB800;
- color: #fff;
- border-color: #DF9F15;
- height: 30px;
- line-height: 20px;
- margin: 4px;
- border: 1px solid transparent;
-}
-application-window-warning > div:nth-child(1) {
- padding: 4px;
-}
-application-window-warning > div:nth-child(2) {
- right: 20px;
- padding: 4px;
-}
-application-window-warning > div:nth-child(1):hover {
- color: #111;
- cursor: pointer;
- opacity: .9;
-}
-application-window-resize {
- top: -38px;
- left: -8px;
- right: -8px;
- bottom: -8px;
-}
-/**
- * ===========================================================================
- * CONTAINERS
- * ===========================================================================
- */
-/* Container */
-gui-container {
- margin: 4px;
-}
-gui-container[data-borders="true"] {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-/* Box */
-gui-hbox-container > .gui-element,
-gui-vbox-container > .gui-element {
- margin: 4px;
-}
-gui-hbox-container[data-fill='true'] > *,
-gui-vbox-container[data-fill='true'] > * {
- width: calc(100% - 8px);
- height: calc(100% - 8px);
-}
-gui-hbox-container > .perc-100 {
- height: calc(100% - 8px);
-}
-gui-vbox-container > .perc-100 {
- width: calc(100% - 8px);
-}
-gui-hbox-container > .perc-90 {
- height: calc(90% - 8px);
-}
-gui-vbox-container > .perc-90 {
- width: calc(90% - 8px);
-}
-gui-hbox-container > .perc-80 {
- height: calc(80% - 8px);
-}
-gui-vbox-container > .perc-80 {
- width: calc(80% - 8px);
-}
-gui-hbox-container > .perc-70 {
- height: calc(70% - 8px);
-}
-gui-vbox-container > .perc-70 {
- width: calc(70% - 8px);
-}
-gui-hbox-container > .perc-60 {
- height: calc(60% - 8px);
-}
-gui-vbox-container > .perc-60 {
- width: calc(60% - 8px);
-}
-gui-hbox-container > .perc-50 {
- height: calc(50% - 8px);
-}
-gui-vbox-container > .perc-50 {
- width: calc(50% - 8px);
-}
-gui-hbox-container > .perc-40 {
- height: calc(40% - 8px);
-}
-gui-vbox-container > .perc-40 {
- width: calc(40% - 8px);
-}
-gui-hbox-container > .perc-30 {
- height: calc(30% - 8px);
-}
-gui-vbox-container > .perc-30 {
- width: calc(30% - 8px);
-}
-gui-hbox-container > .perc-20 {
- height: calc(20% - 8px);
-}
-gui-vbox-container > .perc-20 {
- width: calc(20% - 8px);
-}
-gui-hbox-container > .perc-10 {
- height: calc(10% - 8px);
-}
-gui-vbox-container > .perc-10 {
- width: calc(10% - 8px);
-}
-/* Paned View */
-gui-paned-view > gui-paned-view-handle {
- min-width: 8px;
- width: 8px;
- cursor: ew-resize;
-}
-gui-paned-view[data-orientation='vertical'] > gui-paned-view-handle {
- min-width: auto;
- width: auto;
- min-height: 8px;
- height: 8px;
- cursor: ns-resize;
-}
-/* IFrame */
-gui-iframe {
- background-color: #ffffff;
-}
-gui-iframe > iframe {
- background-color: #ffffff;
-}
-/* Button Bar */
-/* Toolbar */
-gui-toolbar > *,
-gui-button-bar > *,
-gui-toolbar > gui-expander > *,
-gui-button-bar > gui-expander > * {
- margin: 4px;
-}
-gui-toolbar > gui-expander,
-gui-button-bar > gui-expander {
- margin: 0;
-}
-gui-toolbar[data-orientation="vertical"] {
- margin-left: 0;
- margin-right: 0;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-/* Expander */
-gui-expander {
- font-size: 12px;
-}
-gui-expander-label {
- cursor: pointer;
- padding: 4px;
- background-color: #d9d9d9;
- margin-bottom: 4px;
-}
-gui-expander-label:before {
- content: '▼';
- font-family: sans-serif;
- padding-right: 4px;
-}
-gui-expander[data-expanded="false"] > gui-expander-label:before {
- content: '►';
-}
-/* Tabs */
-gui-tabs > ul {
- height: 25px;
-}
-gui-tabs > ul > li {
- padding-left: 8px;
- padding-right: 8px;
- cursor: pointer;
- background-color: #d9d9d9;
- border: 1px solid transparent;
- border-bottom: 0 none;
- line-height: 25px;
-}
-gui-tabs > ul > li.gui-active {
- background-color: transparent;
- border-color: #c3c3c3;
-}
-gui-tabs > ul > li.gui-active:after {
- bottom: -1px;
- border-bottom: 1px solid #fefefe;
-}
-gui-tabs > gui-tab-container {
- height: calc(100% - 25px);
- border: 1px solid #c3c3c3;
- padding: 4px;
-}
-/* Button Bar */
-/**
- * ===========================================================================
- * INPUTS
- * ===========================================================================
- */
-/* Label */
-gui-label {
- height: 26px;
- line-height: 26px;
-}
-gui-hbox-container > gui-label,
-gui-vbox-container > gui-label {
- height: 16px;
- line-height: 16px;
- min-height: 16px;
-}
-/* Button */
-gui-button {
- height: 26px;
-}
-gui-button[data-icon-size="32"] {
- height: 42px;
-}
-gui-button button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
-}
-gui-button button:focus {
- outline: 0 none transparent;
-}
-gui-button button.gui-active,
-gui-button button:active {
- border-color: #242424;
- color: #656565;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
-}
-gui-button button.gui-active:disabled,
-gui-button button:disabled:active,
-gui-button button:disabled {
- border-color: #cccccc;
- color: #656565;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-button button:disabled img {
- opacity: .5;
-}
-gui-button button:disabled {
- cursor: default;
- color: #C7C7C7;
-}
-gui-button button.gui-has-image img {
- padding-right: 4px;
-}
-gui-button.gui-has-image.gui-has-label button {
- padding-left: 28px;
-}
-gui-button[data-icon-size="32"].gui-has-image.gui-has-label button {
- padding-left: 44px;
-}
-/* Checkbox Button */
-/* Radio Button */
-gui-radio,
-gui-checkbox {
- height: 26px;
-}
-gui-radio input,
-gui-checkbox input {
- text-align: center;
- background: #ffffff;
- border: 1px solid #c3c3c3;
- width: 16px;
- height: 16px;
- line-height: 12px;
- color: #656565;
- font-family: Arial;
-}
-gui-radio input:focus,
-gui-checkbox input:focus {
- outline: 0 none transparent;
-}
-gui-radio input {
- -webkit-border-radius: 16px;
- -moz-border-radius: 16px;
- -ms-border-radius: 16px;
- border-radius: 16px;
-}
-gui-radio input:checked:after {
- content: "\2022";
- font-size: 32px;
-}
-gui-checkbox input:checked:after {
- content: "\2713";
- font-size: 12px;
-}
-gui-radio[data-disabled="true"] label,
-gui-checkbox[data-disabled="true"] label {
- color: #C7C7C7;
-}
-gui-radio input:disabled,
-gui-checkbox input:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
-}
-gui-radio > label,
-gui-checkbox > label {
- line-height: 26px;
-}
-gui-radio > label > span,
-gui-checkbox > label > span {
- padding-left: 4px;
-}
-/* Select Dropdown */
-gui-select {
- height: 26px;
-}
-gui-select select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
- padding-right: 20px;
-}
-gui-select select:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-select select:focus {
- outline: 0 none transparent;
-}
-gui-select:before {
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 22px;
- background: #ffffff;
-}
-gui-select:after {
- content: '<>';
- font: 11px "Consolas", monospace;
- color: #c3c3c3;
- right: 2px;
- top: 5px;
- padding: 0 0 2px;
- border-bottom: 1px solid #c3c3c3;
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-gui-select[data-disabled="true"]:before {
- background-color: #dddddd;
-}
-/* Select List */
-gui-select-list select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-gui-select-list select:focus {
- outline: 0 none transparent;
-}
-gui-select-list select:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-/* Slider */
-gui-slider {
- height: 26px;
-}
-gui-slider input {
- background: transparent;
- border: 0 none;
- height: 26px;
-}
-/*
- * RANGE TRACK
- */
-gui-slider input::-moz-range-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-gui-slider input::-webkit-slider-runnable-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-gui-slider input::-ms-track {
- height: 4px;
- background-color: #d9d9d9;
-}
-/*
- * RANGE THUMB
- */
-gui-slider input::-moz-range-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
- height: 18px;
- width: 10px;
-}
-gui-slider input:disabled::-moz-range-thumb {
- border-color: #cccccc;
- color: #656565;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-slider input::-webkit-slider-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
- height: 24px;
- width: 16px;
- margin-top: -10px;
-}
-gui-slider input:disabled::-webkit-range-thumb {
- border-color: #cccccc;
- color: #656565;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-slider input::-ms-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
- height: 24px;
- width: 16px;
-}
-gui-slider input:disabled::-ms-thumb {
- border-color: #cccccc;
- color: #656565;
- background-color: #dddddd;
- background: #dddddd;
-}
-/**
- * MISC
- */
-gui-slider input[type=range]::-ms-fill-lower {
- border: 0 none;
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]::-ms-fill-upper {
- border: 0 none;
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color: #d9d9d9;
-}
-gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color: #d9d9d9;
-}
-/* Switch */
-gui-switch {
- height: 26px;
-}
-gui-switch div {
- width: 48px;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
- cursor: pointer;
- padding: 0;
-}
-gui-switch button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
-}
-gui-switch button:focus {
- outline: 0 none transparent;
-}
-gui-switch > label > div {
- margin-left: 4px;
-}
-gui-switch[data-disabled="true"] button {
- border-color: #cccccc;
- color: #656565;
- background-color: #dddddd;
- background: #dddddd;
-}
-gui-switch[data-disabled="true"] div {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
- padding: 0;
-}
-gui-switch[data-disabled="true"] button,
-gui-switch[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Text Field */
-/* Password Field */
-gui-password,
-gui-text {
- height: 26px;
-}
-gui-password input,
-gui-text input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-password > label > input,
-gui-text > label > input {
- margin-left: 4px;
-}
-gui-password input:disabled,
-gui-text input:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-password input:focus,
-gui-text input:focus {
- outline: 0 none transparent;
-}
-gui-password[data-disabled="true"] label,
-gui-text[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Text Area */
-gui-textarea textarea {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-gui-textarea textarea:focus {
- outline: 0 none transparent;
-}
-gui-textarea textarea:disabled {
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-textarea[data-disabled="true"] label {
- color: #C7C7C7;
-}
-/* Rich Text */
-gui-richtext {
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-gui-richtext > iframe {
- background-color: #ffffff;
-}
-/* Grid */
-gui-grid > gui-grid-row > gui-grid-entry {
- /* li */
- margin: 4px;
-}
-/* Modal Input */
-gui-input-modal input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
- border-color: #cccccc;
- background-color: #dddddd;
- color: #C7C7C7;
-}
-gui-input-modal button {
- margin-left: 4px;
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-input-modal button:focus {
- outline: 0 none transparent;
-}
-/**
- * ===========================================================================
- * MISC
- * ===========================================================================
- */
-/* Video */
-/* Color Swatch */
-gui-color-swatch {
- border: 1px solid #c3c3c3;
-}
-/* Color Box */
-gui-color-box {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
- border: 1px solid #c3c3c3;
- color: #656565;
-}
-gui-color-box > div {
- background: #fff;
-}
-/* Menu */
-gui-menu {
- border: 1px solid transparent;
- background: #fefefe;
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- color: #656565;
-}
-gui-menu > gui-menu-entry {
- color: #656565;
-}
-gui-menu > gui-menu-entry > label {
- cursor: pointer;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 16px;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 0;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry[data-icon] {
- padding-right: 16px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand:after {
- content: '►';
- font-family: sans-serif;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-hover,
-gui-menu > gui-menu-entry:hover {
- background-color: #33a550;
-}
-gui-menu > gui-menu-entry.gui-hover > label,
-gui-menu > gui-menu-entry:hover > label {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- background-position: 4px center;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry {
- background-position: right 4px center;
-}
-gui-menu > gui-menu-entry > label.gui-has-image {
- padding-left: 22px;
-}
-gui-menu > gui-menu-entry[data-disabled="true"],
-gui-menu > gui-menu-entry[data-disabled="true"] > label {
- color: #C7C7C7;
-}
-/* Menu Bar */
-gui-menu-bar {
- padding-left: 4px;
- padding-right: 4px;
-}
-gui-menu-bar-entry {
- cursor: pointer;
- padding: 4px;
-}
-gui-menu-bar-entry:hover {
- background: #33a550;
- color: #ffffff;
-}
-gui-menu-bar-entry[data-disabled="true"] > span {
- color: #C7C7C7;
-}
-/* Progressbar */
-gui-progress-bar {
- display: block;
- height: 26px;
-}
-gui-progress-bar:before {
- background-color: #d9d9d9;
- border: 1px solid #c3c3c3;
- padding: 4px;
-}
-gui-progress-bar > div {
- background: #33a550 url('/themes/styles/glass/gui/progressbar.png') repeat-x center;
-}
-gui-progress-bar > span {
- color: #fff;
-}
-/* Statusbar */
-gui-statusbar {
- margin: 4px;
- padding-bottom: 4px;
-}
-/**
- * ===========================================================================
- * VIEWS
- * ===========================================================================
- */
-/* Icon View */
-gui-icon-view {
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
- padding: 4px;
-}
-gui-icon-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-icon-view-entry {
- cursor: pointer;
- margin: 2px;
- padding: 2px;
- text-align: center;
- min-width: 60px !important;
- min-height: 60px !important;
-}
-gui-icon-view-entry.gui-active {
- background: rgba(51, 165, 80, 0.8);
- color: #ffffff;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(51, 165, 80, 0.8);
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active {
- background: #33a550;
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active > div > span {
- background: #33a550;
-}
-/* List View */
-gui-list-view {
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-gui-list-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-list-view-head {
- background-color: #d9d9d9;
-}
-gui-list-view[data-zebra="true"] gui-list-view-body gui-list-view-row:nth-child(2n) {
- background-color: #F9F9F9;
- color: inherit;
-}
-gui-list-view-column {
- padding: 4px;
-}
-gui-list-view-column.gui-has-image {
- padding-left: 24px;
- background-position: 4px;
-}
-html[dir="rtl"] gui-list-view gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 24px;
- background-position: right 4px center;
-}
-gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 40px;
-}
-html[dir="rtl"] gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 40px;
-}
-gui-list-view-row.gui-active {
- background-color: rgba(51, 165, 80, 0.8);
- color: #ffffff;
-}
-gui-list-view.gui-element-focused gui-list-view-row.gui-active {
- background-color: #33a550;
-}
-gui-list-view-column-resizer {
- cursor: ew-resize;
- width: 3px;
- right: 0px;
-}
-gui-list-view-column-resizer:after {
- background: #c3c3c3;
-}
-/* Tree View */
-gui-tree-view {
- background-color: #ffffff;
- border: 1px solid #c3c3c3;
-}
-gui-tree-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-tree-view-entry.dnd-over > div {
- font-weight: bold;
- text-decoration: underline;
-}
-gui-tree-view-entry > div {
- padding: 4px;
-}
-gui-tree-view-entry > div > span {
- cursor: pointer;
- padding: 2px;
-}
-gui-tree-view-entry > div > span.gui-has-image {
- padding-left: 20px;
-}
-gui-tree-view-entry > gui-tree-view-entry {
- margin-left: 16px;
-}
-gui-tree-view-entry > gui-tree-view-entry.gui-expandable {
- margin-left: 2px;
-}
-gui-tree-view-entry.gui-active > div {
- background-color: rgba(51, 165, 80, 0.8);
- color: #ffffff;
-}
-gui-tree-view.gui-element-focused gui-tree-view-entry.gui-active > div {
- background-color: #33a550;
-}
-gui-tree-view-entry.gui-expandable {
- padding-left: 16px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- padding-left: 4px;
- cursor: pointer;
- line-height: 24px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander:before {
- content: '\25BA';
- font-family: Arial;
- color: #c3c3c3;
-}
-gui-tree-view-entry.gui-expandable.gui-expanded > gui-tree-view-expander:before {
- content: '\25BC';
-}
-application-window-top {
- height: 25px;
-}
-application-window-title {
- line-height: 25px;
-}
-.application-window-button-entry {
- width: 20px;
-}
-application-window-content {
- background: #fefefe;
-}
-application-window:before {
- opacity: .7;
- border: 1px solid #fefefe;
-}
-/* Max */
-application-window-button-maximize,
-application-window-button-maximize:hover,
-application-window-button-maximize:active,
-application-window[data-focused="true"] application-window-button-maximize,
-application-window[data-focused="true"] application-window-button-maximize:hover,
-application-window[data-focused="true"] application-window-button-maximize:active {
- background: url('glass/wm/maximize.png') no-repeat center center;
-}
-/* Min */
-application-window-button-minimize,
-application-window-button-minimize:hover,
-application-window-button-minimize:active,
-application-window[data-focused="true"] application-window-button-minimize,
-application-window[data-focused="true"] application-window-button-minimize:hover,
-application-window[data-focused="true"] application-window-button-minimize:active {
- background: url('glass/wm/minimize.png') no-repeat center 70%;
-}
-/* Close */
-application-window-button-close,
-application-window-button-close:hover,
-application-window-button-close:active,
-application-window[data-focused="true"] application-window-button-close,
-application-window[data-focused="true"] application-window-button-close:hover,
-application-window[data-focused="true"] application-window-button-close:active {
- background: url('glass/wm/close.png') no-repeat center center;
-}
diff --git a/build/htdocs/dist/themes/styles/glass.css.map b/build/htdocs/dist/themes/styles/glass.css.map
deleted file mode 100644
index 7b53e62..0000000
--- a/build/htdocs/dist/themes/styles/glass.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/Users/mrsang/Google Drive/ushare/IoTOS/OS.js/src/client/stylesheets/theme.less","input"],"names":[],"mappings":"AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2JT;EACE,4BAAA;EACA,qBAAsB,gBAAtB;EACA,eAAgB,UAAhB;;AAIF;EACE,YAAA;EACA,cAAA;;AAGF;EACE,yBAAA;;AAEA,4BAA6B;EAC3B,YAAA;;AAEF,4BAA6B,IAAG,UAAU;EACxC,oCAAA;;AAGJ,sBAAsB;EACpB,yBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,SAAU,SAAV;;AAEF;EACE,WAAA;;;;;;;AASF;AAAM;AAAO;AAAQ;AAAU;AAAO;EACpC,8BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;;AAGF;EACE,WAAA;EACA,YAAA;;AAEF;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;;;;;;AASF,IAAI,uBAAuB;EACzB,yBAAA;;AAGF;EACE,cAAA;;EACA,YAAA;EACA,YAAA;;AAEF,YAAY;EACV,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF;EACE,YAAA;;AAEF,YAAY,+BAAgC;EAC1C,OAAQ,iBAAR;;AAEF,YAAY,6BAA8B;EACxC,QAAS,iBAAT;;AAGA,YAAa,kBAAkB,sBAAsB;EACnD,eAAA;EACA,eAAA;;AAEF,YAAY,+BAAgC,kBAAkB,sBAAsB;EAClF,iBAAA;EACA,gBAAA;;AAEF,YAAY,6BAA8B,kBAAkB,sBAAsB;EAChF,eAAA;EACA,kBAAA;;AAGJ,YAAa;EACX,mCAAA;EACA,mBAAA;EACA,iBAAA;;AAGF,YAAa,qBAAqB;EAChC,YAAA;;AAEF,YAAa,qBAAqB,GAAE;EAClC,UAAA;;AAEF,YAAa,qBAAqB,GAAG;EACnC,iBAAA;;AAEF,IAAI,WAAY,aAAa,qBAAqB,GAAG;EACnD,eAAA;EACA,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;EACA,kDAAA;EACA,YAAA;EACA,eAAA;;AAGF;EACE,WAAA;;;AAGF;EACE,SAAA;EACA,WAAA;;AAGF;EACE,WAAA;;EACA,eAAA;EACA,YAAA;EACA,kBAAA;;AAGA,oBAAoB;AACpB,mBAAmB;EACjB,SAAU,EAAV;EACA,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF,oBAAqB;AACrB,mBAAoB;EAClB,iBAAA;;AAGF,oBAAqB;AACrB,oBAAqB;AACrB,mBAAoB;AACpB,mBAAoB;EAClB,iBAAA;;;AAIF,WAAW;EACT,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;;AAEF,sBAAuB,MAAK;EAC1B,mBAAA;;AAEF,sBAAuB,MAAK,OAAQ;EAClC,cAAA;;AAGJ;EACE,YAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;;AAEA,aAAc;EACZ,eAAA;;AAEF,aAAc;EACZ,eAAA;EACA,eAAA;;AAEA,aAAc,KAAK;EACjB,YAAA;EACA,kBAAA;;AAEA,aAAc,KAAK,KAAK;EACtB,QAAA;EACA,SAAA;;AAEJ,aAAc,KAAK;AACnB,aAAc,KAAK,KAAI;EACrB,gBAAA;EACA,WAAA;;;;;;;AAQN;EACE,YAAA;EACA,gBAAA;;AAEF,kBAAkB;EAChB,+CAAA;EACA,mBAAA;EACA,KAAM,WAAN;EACA,UAAA;EACA,WAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,YAAA;;AAEF,kBAAkB,qBAAqB;EACrC,+CAAA;;AAEA,kBAAkB,uBAAuB;EACzC,UAAA;;AAEF;EACE,UAAA;EACA,YAAA;;AAFF,sBAIE;EACE,WAAA;;;AAMJ,sBAAsB;EACpB,YAAA;EACA,eAAA;;AAEF;EACE,iBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;EACA,kBAAA;;AAEF,wBAAwB;EACtB,YAAA;EACA,eAAA;;AAEF,kBAAkB,qBAAsB;EACtC,UAAA;;AAEF;EACE,WAAA;EACA,kBAAA;EACA,eAAA;;AAEF;EACE,YAAA;;AAEF;AAAwB,sBAAuB;EAC7C,eAAA;;AAEF;EACE,gBAAA;EACA,YAAA;;AAEF;EACE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,iBAAA;;AAEF,oCAAoC;EAClC,cAAA;EACA,SAAS,EAAT;EACA,WAAA;EACA,YAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;EACA,6BAAA;EACA,mBAAA;EACA,0DAAA;EACG,uDAAA;EACC,sDAAA;EACI,kDAAA;;AAEV,kBAAkB,uBAAuB;EACvC,oCAAA;EACA,kBAAA;EA7XA,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;EA0XR,YAAA;;AAEF;EACE,gBAAA;EACA,YAAA;EACA,mBAAA;;AAEF;EACE,mBAAA;EACA,WAAA;EACA,qBAAA;EAEA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,6BAAA;;AAEA,0BAA2B,MAAK,UAAU;EACxC,YAAA;;AAEF,0BAA2B,MAAK,UAAU;EACxC,WAAA;EACA,YAAA;;AAEF,0BAA2B,MAAK,UAAU,GAAG;EAC3C,WAAA;EACA,eAAA;EACA,WAAA;;AAEJ;EACE,UAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;;;;;;;;AAUF;EACE,WAAA;;AAEF,aAAa;EAnYX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;;AAqYA,kBAAmB;AACnB,kBAAmB;EACjB,WAAA;;AAGA,kBAAkB,kBAAmB;AACrC,kBAAkB,kBAAmB;EACnC,OAAQ,iBAAR;EACA,QAAS,iBAAT;;AAGF,kBAAmB;EACjB,QAAS,iBAAT;;AAEF,kBAAmB;EACjB,OAAQ,iBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;;AAIN,cAAe;EACb,cAAA;EACA,UAAA;EACA,iBAAA;;AAEF,cAAc,6BAA8B;EAC1C,eAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;;;AAIF;EACE,yBAAA;;AAEA,UAAW;EACT,yBAAA;;;;AAKJ,WAAY;AACZ,cAAe;AACf,WAAY,eAAe;AAC3B,cAAe,eAAe;EAC5B,WAAA;;AAEF,WAAY;AACZ,cAAe;EACb,SAAA;;AAMF,WAAW;EACT,cAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;;;AAIF;EACE,eAAA;;AAEA;EACE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,kBAAA;;AAEF,kBAAkB;EAChB,SAAU,GAAV;EACA,uBAAA;EACA,kBAAA;;AAEF,YAAY,uBAAwB,qBAAoB;EACtD,SAAU,GAAV;;;AAIF,QAAS;EACP,YAAA;;AAEA,QAAS,KAAK;EACZ,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,iBAAA;;AAEF,QAAS,KAAK,KAAI;EAChB,6BAAA;EACA,qBAAA;;AAEA,QAAS,KAAK,KAAI,WAAW;EAC3B,YAAA;EACA,gCAAA;;AAEN,QAAS;EACP,yBAAA;EACA,yBAAA;EACA,YAAA;;;;;;;;;AAYJ;EACE,YAAA;EACA,iBAAA;;AAEF,kBAAmB;AACnB,kBAAmB;EACjB,YAAA;EACA,iBAAA;EACA,gBAAA;;;AAIF;EACE,YAAA;;AAEF,UAAU;EACR,YAAA;;AAEA,UAAW;EAvmBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AAqmBA,UAAW,OAAM;EACf,2BAAA;;AAEF,UAAW,OAAM;AACjB,UAAW,OAAM;EAhmBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,YA5DqC,oDA4DrC;;AAgmBA,UAAW,OAAM,WAAW;AAC5B,UAAW,OAAM,SAAS;AAC1B,UAAW,OAAM;EA3mBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA2mBA,UAAW,OAAM,SAAU;EACzB,WAAA;;AAEF,UAAW,OAAM;EACf,eAAA;EACA,cAAA;;AAEF,UAAW,OAAM,cAAe;EAC9B,kBAAA;;AAEF,UAAU,cAAc,cAAe;EACrC,kBAAA;;AAEF,UAAU,qBAAqB,cAAc,cAAe;EAC1D,kBAAA;;;;AAKJ;AACA;EACE,YAAA;;AAEA,SAAU;AACV,YAAa;EACX,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,cAAA;EACA,kBAAA;;AAEF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,2BAAA;;AAGF,SAAU;EACR,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;;AAGV,SAAU,MAAK,QAAQ;EACrB,SAAS,OAAT;EACA,eAAA;;AAGF,YAAa,MAAK,QAAQ;EACxB,SAAS,OAAT;EACA,eAAA;;AAGF,SAAS,sBAAuB;AAChC,YAAY,sBAAuB;EACjC,cAAA;;AAGF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,qBAAA;EACA,yBAAA;;AAGF,SAAU;AACV,YAAa;EACX,iBAAA;;AAEF,SAAU,QAAQ;AAClB,YAAa,QAAQ;EACnB,iBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EA9qBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EA6qBE,mBAAA;;AAEF,UAAW,OAAM;EA5qBjB,qBAAA;EACA,yBAAA;EACA,cAAA;;AA6qBA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAU;EACR,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;;AAEF,UAAU;EACR,SAAS,IAAT;EACA,WAAW,qBAAX;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,gCAAA;EAEA,mBAAmB,aAAnB;EACG,gBAAgB,aAAhB;EACC,eAAe,aAAf;EACI,WAAW,aAAX;;AAEV,UAAU,sBAAsB;EAC9B,yBAAA;;;AAIJ,eAAgB;EAntBd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAmtBA,eAAgB,OAAM;EACpB,2BAAA;;AAEJ,eAAgB,OAAM;EAntBpB,qBAAA;EACA,yBAAA;EACA,cAAA;;;AAstBF;EACE,YAAA;;AAEA,UAAW;EACT,uBAAA;EACA,cAAA;EACA,YAAA;;;;;AAOF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;;;;AAOF,UAAW,MAAK;EAtxBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EAmxBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAnxBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAoxBA,UAAW,MAAK;EA/xBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EA4xBE,YAAA;EACA,WAAA;EACA,iBAAA;;AAEF,UAAW,MAAK,SAAS;EA7xBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA8xBA,UAAW,MAAK;EAzyBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EAsyBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAtyBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;;;;AA0yBA,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EACT,WAAA;EAhzBF,YAAA;EACA,yBAAA;EACA,yBAAA;EAizBE,eAAA;EACA,UAAA;;AAGF,UAAW;EAh1BX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AA80BA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAW,QAAQ;EACjB,gBAAA;;AAGF,UAAU,sBAAuB;EAn1BjC,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAm1BA,UAAU,sBAAuB;EAh0BjC,qBAAA;EACA,yBAAA;EACA,cAAA;EAg0BE,UAAA;;AAGF,UAAU,sBAAuB;AACjC,UAAU,sBAAuB;EA/0BjC,cAAA;;;;AAq1BF;AACA;EACE,YAAA;;AAEA,YAAa;AACb,QAAS;EAv1BT,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAs1BE,iBAAA;EACA,kBAAA;;AAGF,YAAa,QAAQ;AACrB,QAAS,QAAQ;EACf,gBAAA;;AAGF,YAAa,MAAK;AAClB,QAAS,MAAK;EA71Bd,qBAAA;EACA,yBAAA;EACA,cAAA;;AA81BA,YAAa,MAAK;AAClB,QAAS,MAAK;EACZ,2BAAA;;AAGF,YAAY,sBAAuB;AACnC,QAAQ,sBAAuB;EA/2B/B,cAAA;;;AAq3BA,YAAa;EAl3Bb,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAk3BA,YAAa,SAAQ;EACnB,2BAAA;;AAEF,YAAa,SAAQ;EAl3BrB,qBAAA;EACA,yBAAA;EACA,cAAA;;AAo3BA,YAAY,sBAAuB;EA/3BnC,cAAA;;;AAo4BF;EACE,YAAA;EACA,yBAAA;EACA,yBAAA;;AAEA,YAAa;EACX,yBAAA;;;AAIJ,QAAS,eAAe;;EACtB,WAAA;;;AAIF,eAAgB;EAh5Bd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAGA,qBAAA;EACA,yBAAA;EACA,cAAA;;AA44BF,eAAgB;EACd,gBAAA;EA76BA,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;EA06BA,iBAAA;EACA,kBAAA;;AAEA,eAAgB,OAAM;EACpB,2BAAA;;;;;;;;;AAgBJ;EACE,yBAAA;;;AAIF;EAx8BE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YAnDqC,oDAmDrC;EACA,yBAAA;EACA,cAAA;;AAs8BA,aAAc;EACZ,gBAAA;;;AAIJ;EACE,6BAAA;EACA,mBAAA;EACA,+CAAA;EACA,cAAA;;AAEA,QAAS;EACP,cAAA;;AAEF,QAAS,iBAAiB;EACxB,eAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;EACvB,mBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,gBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,mBAAA;;AAEF,QAAS,iBAAgB,gBAAgB;EACvC,SAAU,GAAV;EACA,uBAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB;EACvB,yBAAA;;AAEF,QAAS,iBAAgB,UAAW;AACpC,QAAS,iBAAgB,MAAO;EAC9B,cAAA;;AAEA,QAAS;EACP,+BAAA;;AAEF,IAAI,WAAY,SAAS;EACvB,qCAAA;;AAEF,QAAS,iBAAiB,QAAO;EAC/B,kBAAA;;AAEF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB,sBAAuB;EAC9C,cAAA;;;AAIN;EACE,iBAAA;EACA,kBAAA;;AAEA;EACE,eAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,mBAAA;EACA,cAAA;;AAEF,kBAAkB,sBAAuB;EACvC,cAAA;;;AAKJ;EACE,cAAA;EACA,YAAA;;AAEA,gBAAgB;EACd,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEF,gBAAiB;EACf,wBC3lC8D,2DD2lC9D;;AAEF,gBAAiB;EACf,WAAA;;;AAIJ;EACE,WAAA;EACA,mBAAA;;;;;;;;AAUF;EACE,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,0BAAA;EACA,2BAAA;;AAGA,mBAAmB;EACjB,kCAAA;EACA,cAAA;;AAEF,mBAAmB,WAAY,MAAM;EACnC,kCAAA;;AAEF,aAAa,oBAAqB,oBAAmB;EACnD,mBAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY,MAAM;EACrE,mBAAA;;;AAIN;EACE,yBAAA;EACA,yBAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,yBAAA;;AAIE,aAAa,mBAAoB,mBAAmB,kBAAiB,UAAU;EAC7E,yBAAA;EACA,cAAA;;AAEF;EACE,YAAA;;AAEF,oBAAoB;EAClB,kBAAA;EACA,wBAAA;;AAEF,IAAI,WAAY,cAAc,qBAAoB;EAChD,eAAA;EACA,mBAAA;EACA,qCAAA;;AAGF,aAAa,qBAAsB,qBAAoB;EACrD,kBAAA;;AAEF,IAAI,WAAY,cAAa,qBAAsB,qBAAoB;EACrE,eAAA;EACA,mBAAA;;AAGJ,iBAAiB;EACf,wCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,kBAAiB;EACjD,yBAAA;;AAGF;EACE,iBAAA;EACA,UAAA;EACA,UAAA;;AAEA,4BAA4B;EAC1B,mBAAA;;;AAKR;EACE,yBAAA;EACA,yBAAA;;AAEE,aAAa;EACX,2BAAA;;AAEF,mBAAmB,SAAU;EAC3B,iBAAA;EACA,0BAAA;;AAEF,mBAAoB;EAClB,YAAA;;AAEF,mBAAoB,MAAM;EACxB,eAAA;EACA,YAAA;;AAEF,mBAAoB,MAAM,OAAM;EAC9B,kBAAA;;AAEF,mBAAoB;EAClB,iBAAA;;AAEF,mBAAoB,sBAAqB;EACvC,gBAAA;;AAEF,mBAAmB,WAAY;EAC7B,wCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY;EAC/D,yBAAA;;AAGJ,mBAAmB;EACjB,kBAAA;;AAEF,mBAAmB,eAAgB;EACjC,iBAAA;EACA,eAAA;EACA,iBAAA;;AAEF,mBAAmB,eAAgB,uBAAsB;EACvD,SAAU,OAAV;EACA,kBAAA;EACA,cAAA;;AAEF,mBAAmB,eAAe,aAAc,yBAAwB;EACtE,SAAU,OAAV;;ACzyCJ;EACE,YAAA;;AAEF;EACE,iBAAA;;AAGF;EACE,WAAA;;AAGF;EACE,mBAAA;;AAGF,kBAAkB;EAChB,WAAA;EACA,yBAAA;;;AAIF;AACA,kCAAkC;AAClC,kCAAkC;AAClC,kBAAkB,qBAAsB;AACxC,kBAAkB,qBAAsB,mCAAkC;AAC1E,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,gDAAjB;;;AAIF;AACA,kCAAkC;AAClC,kCAAkC;AAClC,kBAAkB,qBAAsB;AACxC,kBAAkB,qBAAsB,mCAAkC;AAC1E,kBAAkB,qBAAsB,mCAAkC;EACxE,gBAAiB,6CAAjB;;;AAIF;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B,kBAAkB,qBAAsB;AACxC,kBAAkB,qBAAsB,gCAA+B;AACvE,kBAAkB,qBAAsB,gCAA+B;EACrE,gBAAiB,6CAAjB"}
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/styles/glass/gui/progressbar.png b/build/htdocs/dist/themes/styles/glass/gui/progressbar.png
deleted file mode 100644
index c1b1afc..0000000
Binary files a/build/htdocs/dist/themes/styles/glass/gui/progressbar.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/glass/theme.js b/build/htdocs/dist/themes/styles/glass/theme.js
deleted file mode 100644
index ab07df7..0000000
--- a/build/htdocs/dist/themes/styles/glass/theme.js
+++ /dev/null
@@ -1,27 +0,0 @@
-(function(API, Utils) {
- 'use strict';
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
-
- /////////////////////////////////////////////////////////////////////////////
- // API
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications.CoreWM.CurrentTheme = {
- init: function() {
- },
-
- destroy: function() {
- },
-
- event: function(ev) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
-
-})(OSjs.API, OSjs.Utils);
diff --git a/build/htdocs/dist/themes/styles/glass/wm/close.png b/build/htdocs/dist/themes/styles/glass/wm/close.png
deleted file mode 100644
index 6d451e7..0000000
Binary files a/build/htdocs/dist/themes/styles/glass/wm/close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/glass/wm/maximize.png b/build/htdocs/dist/themes/styles/glass/wm/maximize.png
deleted file mode 100644
index 277b150..0000000
Binary files a/build/htdocs/dist/themes/styles/glass/wm/maximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/glass/wm/minimize.png b/build/htdocs/dist/themes/styles/glass/wm/minimize.png
deleted file mode 100644
index 37bbb06..0000000
Binary files a/build/htdocs/dist/themes/styles/glass/wm/minimize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/glass/wm/wm.png b/build/htdocs/dist/themes/styles/glass/wm/wm.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/styles/glass/wm/wm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/material.css b/build/htdocs/dist/themes/styles/material.css
deleted file mode 100644
index 5b1026c..0000000
--- a/build/htdocs/dist/themes/styles/material.css
+++ /dev/null
@@ -1,1478 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-/**
- * ===========================================================================
- * CLASSES
- * ===========================================================================
- */
-.gui-has-emblem {
- background-repeat: no-repeat;
- background-position: calc(96%) center;
- padding-right: calc(20px);
-}
-.gui-generic-container {
- padding: 4px;
- color: #242424;
-}
-.gui-generic-zebra-container {
- background-color: #ffffff;
-}
-.gui-generic-zebra-container > * {
- padding: 4px;
-}
-.gui-generic-zebra-container > *:nth-child(even) {
- background: rgba(25, 118, 210, 0.5);
-}
-.gui-generic-hoverable:hover {
- background-color: #2d73d2;
-}
-.gui-generic-padded {
- padding: 4px;
-}
-.gui-generic-double-padded {
- padding: calc(8px);
-}
-.gui-generic-margin {
- margin: 4px;
-}
-/**
- * ===========================================================================
- * OVERRIDES
- * ===========================================================================
- */
-body,
-input,
-button,
-textarea,
-label,
-select {
- font-family: Karla, Sans-serif;
- font-weight: normal;
- font-style: normal;
- font-size: 12px;
- color: #242424;
-}
-::-webkit-scrollbar {
- width: 12px;
- height: 12px;
-}
-::-webkit-scrollbar-button {
- background: #cdcdcd;
- color: #f0f0f0;
- width: 12px;
- height: 12px;
- display: none;
-}
-::-webkit-scrollbar-track {
- background: #f0f0f0;
-}
-::-webkit-scrollbar-track-piece {
- background: #f0f0f0;
-}
-::-webkit-scrollbar-thumb {
- background: #cdcdcd;
-}
-::-webkit-scrollbar-corner {
- background: #f0f0f0;
-}
-::-webkit-resizer {
- background: #f0f0f0;
-}
-/**
- * ===========================================================================
- * WM
- * ===========================================================================
- */
-body[data-attention="true"]:after {
- background-color: #242424;
-}
-corewm-panel {
- color: #ffffff;
- /* Window Manager manages this */
- font-size: 0;
- padding: 4px;
-}
-corewm-panel:before {
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-corewm-panel-container {
- padding: 8px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width: calc(100% - 8px);
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height: calc(100% - 8px);
-}
-corewm-panel corewm-panel-item .corewm-panel-buttons > li {
- cursor: pointer;
- font-size: 12px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-item .corewm-panel-buttons > li {
- margin-right: 4px;
- margin-left: 4px;
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-item .corewm-panel-buttons > li {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-corewm-panel .PanelItemClock {
- font-family: Monospace, Courier New;
- font-weight: normal;
- text-align: right;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: .50;
-}
-corewm-panel .PanelItemWindowList li.Focused {
- opacity: 1;
-}
-corewm-panel .PanelItemWindowList li img {
- margin-right: 4px;
-}
-html[dir="rtl"] corewm-panel .PanelItemWindowList li img {
- margin-right: 0;
- margin-left: 4px;
-}
-/* Notifications */
-application-splash {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #1976d2;
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
- cursor: pointer;
-}
-.custom-notification {
- color: #fff;
- /* Window Manager manages this */
-}
-corewm-notifications {
- top: 10px;
- right: 10px;
-}
-corewm-notification {
- color: #fff;
- /* Window Manager manages this */
- cursor: pointer;
- padding: 8px;
- margin-bottom: 4px;
-}
-.custom-notification:before,
-corewm-notification:before {
- content: '';
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-.custom-notification .Title,
-corewm-notification .Title {
- font-weight: bold;
-}
-.custom-notification .Title,
-.custom-notification .Message,
-corewm-notification .Title,
-corewm-notification .Message {
- line-height: 16px;
-}
-/* Desktop drop wallpaper effect */
-#Background.Blinking {
- background: #fff;
-}
-/* Window Switcher */
-corewm-window-switcher {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #1976d2;
-}
-corewm-window-switcher > div.Active {
- background: #2d73d2;
-}
-corewm-window-switcher > div.Active > span {
- color: #ffffff;
-}
-corewm-search {
- padding: 4px;
- min-width: 200px;
- max-width: 40%;
- right: 10px;
- top: 10px;
-}
-corewm-search > div {
- margin-top: 4px;
-}
-corewm-search > ul {
- margin-top: 4px;
- cursor: pointer;
-}
-corewm-search > ul > li {
- padding: 4px;
- padding-left: 24px;
-}
-corewm-search > ul > li > img {
- top: 4px;
- left: 4px;
-}
-corewm-search > ul > .active,
-corewm-search > ul > li:hover {
- background: #fff;
- color: #000;
-}
-/**
- * ===========================================================================
- * WINDOW
- * ===========================================================================
- */
-application-window {
- opacity: 0.8;
- margin-top: 34px;
-}
-application-window:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);
- background: #1976d2;
- top: calc(-34px);
- left: 0;
- right: 0;
- bottom: 0;
-}
-application-window[data-focused="true"] {
- opacity: 1.0;
-}
-application-window[data-focused="true"]:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
-}
-application-window[data-dnd-state="true"]:after {
- top: -34px;
-}
-application-window-top {
- top: -34px;
- height: 34px;
-}
-application-window-top application-window-icon {
- width: 34px;
-}
-/* application-window-content {overflow : hidden;}*/
-application-window-top:active {
- cursor: move;
- cursor: pointer;
-}
-application-window-title {
- font-weight: bold;
- color: #242424;
- opacity: .5;
- left: 24px;
- line-height: 34px;
- text-align: center;
-}
-application-window-title:active {
- cursor: move;
- cursor: pointer;
-}
-application-window[data-focused="true"] application-window-title {
- opacity: 1;
-}
-.application-window-button-entry {
- width: 22px;
- text-align: center;
- cursor: pointer;
-}
-application-window-resize {
- cursor: move;
-}
-application-window-top,
-application-window-top > * {
- cursor: default;
-}
-application-window-loading {
- background: #000;
- opacity: 0.8;
-}
-application-window-loading-indicator {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 50%;
- top: 50%;
- margin-left: -24px;
- margin-top: -24px;
-}
-application-window-loading-indicator:before {
- display: block;
- content: '';
- width: 44px;
- height: 44px;
- border-top: 4px solid #fff;
- border-right: 4px solid #666;
- border-left: 4px solid #666;
- border-bottom: 4px solid #fff;
- border-radius: 100%;
- -webkit-animation: windowloadinganim 0.75s linear infinite;
- -moz-animation: windowloadinganim 0.75s linear infinite;
- -ms-animation: windowloadinganim 0.75s linear infinite;
- animation: windowloadinganim 0.75s linear infinite;
-}
-application-window[data-dnd-state="true"]:after {
- border: 4px solid rgba(0, 0, 0, 0.7);
- border-radius: 1px;
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
- margin: -4px;
-}
-application-window-disabled {
- background: #000;
- opacity: 0.5;
- cursor: not-allowed;
-}
-application-window-warning {
- background: #FFB800;
- color: #fff;
- border-color: #DF9F15;
- height: 30px;
- line-height: 20px;
- margin: 4px;
- border: 1px solid transparent;
-}
-application-window-warning > div:nth-child(1) {
- padding: 4px;
-}
-application-window-warning > div:nth-child(2) {
- right: 20px;
- padding: 4px;
-}
-application-window-warning > div:nth-child(1):hover {
- color: #111;
- cursor: pointer;
- opacity: .9;
-}
-application-window-resize {
- top: -42px;
- left: -8px;
- right: -8px;
- bottom: -8px;
-}
-/**
- * ===========================================================================
- * CONTAINERS
- * ===========================================================================
- */
-/* Container */
-gui-container {
- margin: 4px;
-}
-gui-container[data-borders="true"] {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-/* Box */
-gui-hbox-container > .gui-element,
-gui-vbox-container > .gui-element {
- margin: 4px;
-}
-gui-hbox-container[data-fill='true'] > *,
-gui-vbox-container[data-fill='true'] > * {
- width: calc(100% - 8px);
- height: calc(100% - 8px);
-}
-gui-hbox-container > .perc-100 {
- height: calc(100% - 8px);
-}
-gui-vbox-container > .perc-100 {
- width: calc(100% - 8px);
-}
-gui-hbox-container > .perc-90 {
- height: calc(90% - 8px);
-}
-gui-vbox-container > .perc-90 {
- width: calc(90% - 8px);
-}
-gui-hbox-container > .perc-80 {
- height: calc(80% - 8px);
-}
-gui-vbox-container > .perc-80 {
- width: calc(80% - 8px);
-}
-gui-hbox-container > .perc-70 {
- height: calc(70% - 8px);
-}
-gui-vbox-container > .perc-70 {
- width: calc(70% - 8px);
-}
-gui-hbox-container > .perc-60 {
- height: calc(60% - 8px);
-}
-gui-vbox-container > .perc-60 {
- width: calc(60% - 8px);
-}
-gui-hbox-container > .perc-50 {
- height: calc(50% - 8px);
-}
-gui-vbox-container > .perc-50 {
- width: calc(50% - 8px);
-}
-gui-hbox-container > .perc-40 {
- height: calc(40% - 8px);
-}
-gui-vbox-container > .perc-40 {
- width: calc(40% - 8px);
-}
-gui-hbox-container > .perc-30 {
- height: calc(30% - 8px);
-}
-gui-vbox-container > .perc-30 {
- width: calc(30% - 8px);
-}
-gui-hbox-container > .perc-20 {
- height: calc(20% - 8px);
-}
-gui-vbox-container > .perc-20 {
- width: calc(20% - 8px);
-}
-gui-hbox-container > .perc-10 {
- height: calc(10% - 8px);
-}
-gui-vbox-container > .perc-10 {
- width: calc(10% - 8px);
-}
-/* Paned View */
-gui-paned-view > gui-paned-view-handle {
- min-width: 8px;
- width: 8px;
- cursor: ew-resize;
-}
-gui-paned-view[data-orientation='vertical'] > gui-paned-view-handle {
- min-width: auto;
- width: auto;
- min-height: 8px;
- height: 8px;
- cursor: ns-resize;
-}
-/* IFrame */
-gui-iframe {
- background-color: #ffffff;
-}
-gui-iframe > iframe {
- background-color: #ffffff;
-}
-/* Button Bar */
-/* Toolbar */
-gui-toolbar > *,
-gui-button-bar > *,
-gui-toolbar > gui-expander > *,
-gui-button-bar > gui-expander > * {
- margin: 4px;
-}
-gui-toolbar > gui-expander,
-gui-button-bar > gui-expander {
- margin: 0;
-}
-gui-toolbar[data-orientation="vertical"] {
- margin-left: 0;
- margin-right: 0;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-/* Expander */
-gui-expander {
- font-size: 12px;
-}
-gui-expander-label {
- cursor: pointer;
- padding: 4px;
- background-color: #f5f6f8;
- margin-bottom: 4px;
-}
-gui-expander-label:before {
- content: '▼';
- font-family: sans-serif;
- padding-right: 4px;
-}
-gui-expander[data-expanded="false"] > gui-expander-label:before {
- content: '►';
-}
-/* Tabs */
-gui-tabs > ul {
- height: 25px;
-}
-gui-tabs > ul > li {
- padding-left: 8px;
- padding-right: 8px;
- cursor: pointer;
- background-color: #f5f6f8;
- border: 1px solid transparent;
- border-bottom: 0 none;
- line-height: 25px;
-}
-gui-tabs > ul > li.gui-active {
- background-color: transparent;
- border-color: #dbdbdb;
-}
-gui-tabs > ul > li.gui-active:after {
- bottom: -1px;
- border-bottom: 1px solid #1976d2;
-}
-gui-tabs > gui-tab-container {
- height: calc(100% - 25px);
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-/* Button Bar */
-/**
- * ===========================================================================
- * INPUTS
- * ===========================================================================
- */
-/* Label */
-gui-label {
- height: 26px;
- line-height: 26px;
-}
-gui-hbox-container > gui-label,
-gui-vbox-container > gui-label {
- height: 16px;
- line-height: 16px;
- min-height: 16px;
-}
-/* Button */
-gui-button {
- height: 26px;
-}
-gui-button[data-icon-size="32"] {
- height: 42px;
-}
-gui-button button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-button button:focus {
- outline: 0 none transparent;
-}
-gui-button button.gui-active,
-gui-button button:active {
- border-color: #242424;
- color: #242424;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
-}
-gui-button button.gui-active:disabled,
-gui-button button:disabled:active,
-gui-button button:disabled {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-button button:disabled img {
- opacity: .5;
-}
-gui-button button:disabled {
- cursor: default;
- color: #727272;
-}
-gui-button button.gui-has-image img {
- padding-right: 4px;
-}
-gui-button.gui-has-image.gui-has-label button {
- padding-left: 28px;
-}
-gui-button[data-icon-size="32"].gui-has-image.gui-has-label button {
- padding-left: 44px;
-}
-/* Checkbox Button */
-/* Radio Button */
-gui-radio,
-gui-checkbox {
- height: 26px;
-}
-gui-radio input,
-gui-checkbox input {
- text-align: center;
- background: #ffffff;
- border: 1px solid #dbdbdb;
- width: 16px;
- height: 16px;
- line-height: 12px;
- color: #242424;
- font-family: Arial;
-}
-gui-radio input:focus,
-gui-checkbox input:focus {
- outline: 0 none transparent;
-}
-gui-radio input {
- -webkit-border-radius: 16px;
- -moz-border-radius: 16px;
- -ms-border-radius: 16px;
- border-radius: 16px;
-}
-gui-radio input:checked:after {
- content: "\2022";
- font-size: 32px;
-}
-gui-checkbox input:checked:after {
- content: "\2713";
- font-size: 12px;
-}
-gui-radio[data-disabled="true"] label,
-gui-checkbox[data-disabled="true"] label {
- color: #727272;
-}
-gui-radio input:disabled,
-gui-checkbox input:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
-}
-gui-radio > label,
-gui-checkbox > label {
- line-height: 26px;
-}
-gui-radio > label > span,
-gui-checkbox > label > span {
- padding-left: 4px;
-}
-/* Select Dropdown */
-gui-select {
- height: 26px;
-}
-gui-select select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding-right: 20px;
-}
-gui-select select:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-select select:focus {
- outline: 0 none transparent;
-}
-gui-select:before {
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 22px;
- background: #ffffff;
-}
-gui-select:after {
- content: '<>';
- font: 11px "Consolas", monospace;
- color: #dbdbdb;
- right: 2px;
- top: 5px;
- padding: 0 0 2px;
- border-bottom: 1px solid #dbdbdb;
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-gui-select[data-disabled="true"]:before {
- background-color: #e6e6e6;
-}
-/* Select List */
-gui-select-list select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-select-list select:focus {
- outline: 0 none transparent;
-}
-gui-select-list select:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-/* Slider */
-gui-slider {
- height: 26px;
-}
-gui-slider input {
- background: transparent;
- border: 0 none;
- height: 26px;
-}
-/*
- * RANGE TRACK
- */
-gui-slider input::-moz-range-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-gui-slider input::-webkit-slider-runnable-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-gui-slider input::-ms-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-/*
- * RANGE THUMB
- */
-gui-slider input::-moz-range-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 18px;
- width: 10px;
-}
-gui-slider input:disabled::-moz-range-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-slider input::-webkit-slider-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 24px;
- width: 16px;
- margin-top: -10px;
-}
-gui-slider input:disabled::-webkit-range-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-slider input::-ms-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 24px;
- width: 16px;
-}
-gui-slider input:disabled::-ms-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-/**
- * MISC
- */
-gui-slider input[type=range]::-ms-fill-lower {
- border: 0 none;
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]::-ms-fill-upper {
- border: 0 none;
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color: #f5f6f8;
-}
-/* Switch */
-gui-switch {
- height: 26px;
-}
-gui-switch div {
- width: 48px;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- cursor: pointer;
- padding: 0;
-}
-gui-switch button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-switch button:focus {
- outline: 0 none transparent;
-}
-gui-switch > label > div {
- margin-left: 4px;
-}
-gui-switch[data-disabled="true"] button {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-switch[data-disabled="true"] div {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
- padding: 0;
-}
-gui-switch[data-disabled="true"] button,
-gui-switch[data-disabled="true"] label {
- color: #727272;
-}
-/* Text Field */
-/* Password Field */
-gui-password,
-gui-text {
- height: 26px;
-}
-gui-password input,
-gui-text input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-password > label > input,
-gui-text > label > input {
- margin-left: 4px;
-}
-gui-password input:disabled,
-gui-text input:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-password input:focus,
-gui-text input:focus {
- outline: 0 none transparent;
-}
-gui-password[data-disabled="true"] label,
-gui-text[data-disabled="true"] label {
- color: #727272;
-}
-/* Text Area */
-gui-textarea textarea {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-textarea textarea:focus {
- outline: 0 none transparent;
-}
-gui-textarea textarea:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-textarea[data-disabled="true"] label {
- color: #727272;
-}
-/* Rich Text */
-gui-richtext {
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-richtext > iframe {
- background-color: #ffffff;
-}
-/* Grid */
-gui-grid > gui-grid-row > gui-grid-entry {
- /* li */
- margin: 4px;
-}
-/* Modal Input */
-gui-input-modal input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-input-modal button {
- margin-left: 4px;
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-input-modal button:focus {
- outline: 0 none transparent;
-}
-/**
- * ===========================================================================
- * MISC
- * ===========================================================================
- */
-/* Video */
-/* Color Swatch */
-gui-color-swatch {
- border: 1px solid #dbdbdb;
-}
-/* Color Box */
-gui-color-box {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-color-box > div {
- background: #fff;
-}
-/* Menu */
-gui-menu {
- border: 1px solid transparent;
- background: #fff;
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- color: #242424;
-}
-gui-menu > gui-menu-entry {
- color: #242424;
-}
-gui-menu > gui-menu-entry > label {
- cursor: pointer;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 16px;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 0;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry[data-icon] {
- padding-right: 16px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand:after {
- content: '►';
- font-family: sans-serif;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-hover,
-gui-menu > gui-menu-entry:hover {
- background-color: #2d73d2;
-}
-gui-menu > gui-menu-entry.gui-hover > label,
-gui-menu > gui-menu-entry:hover > label {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- background-position: 4px center;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry {
- background-position: right 4px center;
-}
-gui-menu > gui-menu-entry > label.gui-has-image {
- padding-left: 22px;
-}
-gui-menu > gui-menu-entry[data-disabled="true"],
-gui-menu > gui-menu-entry[data-disabled="true"] > label {
- color: #727272;
-}
-/* Menu Bar */
-gui-menu-bar {
- padding-left: 4px;
- padding-right: 4px;
-}
-gui-menu-bar-entry {
- cursor: pointer;
- padding: 4px;
-}
-gui-menu-bar-entry:hover {
- background: #2d73d2;
- color: #ffffff;
-}
-gui-menu-bar-entry[data-disabled="true"] > span {
- color: #727272;
-}
-/* Progressbar */
-gui-progress-bar {
- display: block;
- height: 26px;
-}
-gui-progress-bar:before {
- background-color: #f5f6f8;
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-gui-progress-bar > div {
- background: #2d73d2 url('/themes/styles/default/gui/progressbar.png') repeat-x center;
-}
-gui-progress-bar > span {
- color: #fff;
-}
-/* Statusbar */
-gui-statusbar {
- margin: 4px;
- padding-bottom: 4px;
-}
-/**
- * ===========================================================================
- * VIEWS
- * ===========================================================================
- */
-/* Icon View */
-gui-icon-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-gui-icon-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-icon-view-entry {
- cursor: pointer;
- margin: 2px;
- padding: 2px;
- text-align: center;
- min-width: 60px !important;
- min-height: 60px !important;
-}
-gui-icon-view-entry.gui-active {
- background: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(45, 115, 210, 0.8);
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active {
- background: #2d73d2;
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active > div > span {
- background: #2d73d2;
-}
-/* List View */
-gui-list-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-list-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-list-view-head {
- background-color: #f5f6f8;
-}
-gui-list-view[data-zebra="true"] gui-list-view-body gui-list-view-row:nth-child(2n) {
- background-color: #F9F9F9;
- color: inherit;
-}
-gui-list-view-column {
- padding: 4px;
-}
-gui-list-view-column.gui-has-image {
- padding-left: 24px;
- background-position: 4px;
-}
-html[dir="rtl"] gui-list-view gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 24px;
- background-position: right 4px center;
-}
-gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 40px;
-}
-html[dir="rtl"] gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 40px;
-}
-gui-list-view-row.gui-active {
- background-color: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-list-view.gui-element-focused gui-list-view-row.gui-active {
- background-color: #2d73d2;
-}
-gui-list-view-column-resizer {
- cursor: ew-resize;
- width: 3px;
- right: 0px;
-}
-gui-list-view-column-resizer:after {
- background: #dbdbdb;
-}
-/* Tree View */
-gui-tree-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-tree-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-tree-view-entry.dnd-over > div {
- font-weight: bold;
- text-decoration: underline;
-}
-gui-tree-view-entry > div {
- padding: 4px;
-}
-gui-tree-view-entry > div > span {
- cursor: pointer;
- padding: 2px;
-}
-gui-tree-view-entry > div > span.gui-has-image {
- padding-left: 20px;
-}
-gui-tree-view-entry > gui-tree-view-entry {
- margin-left: 16px;
-}
-gui-tree-view-entry > gui-tree-view-entry.gui-expandable {
- margin-left: 2px;
-}
-gui-tree-view-entry.gui-active > div {
- background-color: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-tree-view.gui-element-focused gui-tree-view-entry.gui-active > div {
- background-color: #2d73d2;
-}
-gui-tree-view-entry.gui-expandable {
- padding-left: 16px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- padding-left: 4px;
- cursor: pointer;
- line-height: 24px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander:before {
- content: '\25BA';
- font-family: Arial;
- color: #dbdbdb;
-}
-gui-tree-view-entry.gui-expandable.gui-expanded > gui-tree-view-expander:before {
- content: '\25BC';
-}
-/*
-* Material Theme
-*/
-gui-progress-bar > div {
- background: #fff;
-}
-gui-progress-bar > span {
- color: #000;
-}
-application-window:before {
- background: #1976d2;
-}
-application-window application-window-content {
- background: #fff;
- padding-top: 0;
-}
-application-window application-window-content[data-focused="false"] {
- border: 1px solid #2196f3;
-}
-application-window application-window-content[data-focused="true"] {
- border: 1px solid #dadada;
-}
-application-window application-window-content gui-menu-bar {
- background: #1e88e5;
- color: #fff;
-}
-application-window application-window-content gui-menu-bar gui-menu-bar-entry {
- padding: 8px 6px;
-}
-application-window application-window-content gui-menu-bar gui-menu-bar-entry:hover,
-application-window application-window-content gui-menu-bar .gui-active {
- background: #1976d2;
-}
-application-window application-window-content gui-menu-bar gui-menu {
- min-width: 100px;
- background: #1e88e5;
-}
-application-window application-window-content gui-menu-bar gui-menu gui-menu-entry:hover {
- background-color: #1976d2;
-}
-application-window application-window-content gui-menu-bar gui-menu gui-menu-entry > * {
- color: #fff;
-}
-application-window application-window-content gui-menu-bar gui-menu gui-menu-entry label {
- padding: 6px;
-}
-application-window application-window-content gui-menu-bar gui-menu gui-menu-entry[data-disabled="true"] > * {
- color: rgba(255, 255, 255, 0.5) !important;
-}
-application-window application-window-top application-window-icon {
- width: 30px;
-}
-application-window application-window-top application-window-title {
- font-size: 14px;
- font-weight: 300;
- color: rgba(255, 255, 255, 0.9);
-}
-application-window application-window-top .application-window-button-entry {
- height: 100%;
- width: 30px;
- line-height: 20px;
- text-align: center;
- font-family: Arial;
- font-size: 10px;
- z-index: 0;
-}
-application-window application-window-top .application-window-button-entry:hover {
- background-color: rgba(255, 255, 255, 0.2);
-}
-application-window application-window-top .application-window-button-entry:after,
-application-window application-window-top .application-window-button-entry:before {
- z-index: 1;
- content: '';
- position: absolute;
- top: 50%;
- left: 50%;
-}
-application-window application-window-top application-window-button-close:before,
-application-window application-window-top application-window-button-close:after {
- width: 15px;
- height: 2px;
- background-color: rgba(255, 255, 255, 0.7);
- transition: background-color 0.2s;
-}
-application-window application-window-top application-window-button-close:before {
- transform: translate(-50%, -50%) rotate(45deg);
-}
-application-window application-window-top application-window-button-close:after {
- transform: translate(-50%, -50%) rotate(-45deg);
-}
-application-window application-window-top application-window-button-close:hover:after,
-application-window application-window-top application-window-button-close:hover:before {
- background-color: #fff;
-}
-application-window application-window-top application-window-button-maximize:before,
-application-window application-window-top application-window-button-maximize:after {
- width: 11px;
- height: 9px;
- background: #1976d2;
- border: 1px solid rgba(255, 255, 255, 0.7);
- border-top-width: 2px;
- transform: translate(-50%, -50%);
- transition: border-color 0.2s;
-}
-application-window application-window-top application-window-button-maximize:before {
- opacity: 0;
- margin: -3px 0 0 3px;
- transition: margin 0.3s, opacity 0.3s;
-}
-application-window application-window-top application-window-button-maximize:hover:before,
-application-window application-window-top application-window-button-maximize:hover:after {
- border-color: #fff;
- background: #468FD8;
-}
-application-window application-window-top application-window-button-minimize:after {
- width: 11px;
- height: 9px;
- border-bottom: 2px solid rgba(255, 255, 255, 0.7);
- transform: translate(-50%, -50%);
- transition: border-color 0.2s;
-}
-application-window application-window-top application-window-button-minimize:hover:after {
- border-color: #fff;
-}
-application-window[data-maximized="true"] application-window-button-maximize:before {
- opacity: 1;
-}
-application-splash > span {
- color: #fff;
-}
-gui-menu {
- background: #2196f3;
-}
-gui-menu gui-menu-entry:after {
- color: #fff;
-}
-gui-menu gui-menu-entry > div,
-gui-menu gui-menu-entry > label {
- color: #fff;
-}
-gui-menu gui-menu-entry:hover {
- background-color: #1976d2;
-}
-gui-tabs > ul {
- height: 32px;
-}
-gui-tabs > ul > li {
- padding: 3px 6px;
-}
-gui-tabs .gui-active:after {
- border: 1px solid #e91e63 !important;
-}
-gui-list-view gui-list-view-row.gui-active {
- background-color: #1976d2 !important;
-}
-gui-icon-view-entry.gui-active {
- background-color: #1976d2 !important;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(0, 0, 0, 0) !important;
-}
-gui-switch > div {
- width: 64px;
-}
-gui-switch button.gui-active {
- margin-left: calc(49%);
-}
-gui-select,
-gui-password,
-gui-text {
- height: 36px;
-}
-gui-input-modal,
-gui-switch,
-gui-button {
- height: 36px;
-}
-gui-input-modal button,
-gui-switch button,
-gui-button button {
- position: relative;
- font-size: 16px;
- padding: 5px 16px;
- color: rgba(0, 0, 0, 0.9);
- border-radius: 3px;
- border: 0;
- background: #fff;
- overflow: hidden;
- outline: 0 !important;
- text-decoration: none !important;
- cursor: pointer;
- transition: background 0.3s;
-}
-gui-input-modal button img,
-gui-switch button img,
-gui-button button img {
- pointer-events: none;
-}
-gui-input-modal button .drop,
-gui-switch button .drop,
-gui-button button .drop {
- background: rgba(0, 0, 0, 0.16);
-}
-gui-input-modal button[disabled="disabled"],
-gui-switch button[disabled="disabled"],
-gui-button button[disabled="disabled"] {
- background: #fff;
- color: rgba(0, 0, 0, 0.26);
-}
-gui-input-modal button[disabled="disabled"]:active,
-gui-switch button[disabled="disabled"]:active,
-gui-button button[disabled="disabled"]:active {
- color: rgba(0, 0, 0, 0.26);
-}
-gui-input-modal button:hover,
-gui-switch button:hover,
-gui-button button:hover {
- background: rgba(153, 153, 153, 0.1);
-}
-gui-input-modal button:active,
-gui-switch button:active,
-gui-button button:active {
- background: rgba(153, 153, 153, 0.2);
-}
-gui-tabs > div {
- height: calc(100% - 32px);
-}
-gui-select:after {
- top: 10px;
-}
-corewm-notification-entry:before {
- background: #1976d2 !important;
-}
-corewm-panel:before {
- background: #1976d2 !important;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: 1 !important;
-}
-corewm-panel .PanelItemWindowList li span {
- color: rgba(255, 255, 255, 0.7);
-}
-corewm-panel .PanelItemWindowList li img {
- opacity: 0.7;
-}
-corewm-panel .PanelItemWindowList li.Focused span {
- color: #fff;
-}
-corewm-panel .PanelItemWindowList li.Focused img {
- opacity: 1;
-}
-.drop {
- display: block;
- position: absolute;
- background: #CCC;
- border-radius: 100%;
- transform: scale(0);
- pointer-events: none;
- width: 100%;
- height: 100%;
-}
-.drop.animate {
- animation: drop 1s ease-out;
-}
-@keyframes drop {
- 100% {
- opacity: 0;
- transform: scale(2.5);
- }
-}
-a {
- color: rgba(0, 0, 0, 0.9);
- padding: 5px;
-}
-application-window-loading {
- background: rgba(0, 0, 0, 0);
-}
-/* Application styles */
-.ApplicationCalculatorWindow button {
- padding: 0;
-}
diff --git a/build/htdocs/dist/themes/styles/material.css.map b/build/htdocs/dist/themes/styles/material.css.map
deleted file mode 100644
index 50e72ca..0000000
--- a/build/htdocs/dist/themes/styles/material.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/Users/mrsang/Google Drive/ushare/IoTOS/OS.js/src/client/stylesheets/theme.less","input"],"names":[],"mappings":"AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2JT;EACE,4BAAA;EACA,qBAAsB,gBAAtB;EACA,eAAgB,UAAhB;;AAIF;EACE,YAAA;EACA,cAAA;;AAGF;EACE,yBAAA;;AAEA,4BAA6B;EAC3B,YAAA;;AAEF,4BAA6B,IAAG,UAAU;EACxC,mCAAA;;AAGJ,sBAAsB;EACpB,yBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,SAAU,SAAV;;AAEF;EACE,WAAA;;;;;;;AASF;AAAM;AAAO;AAAQ;AAAU;AAAO;EACpC,8BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;;AAGF;EACE,WAAA;EACA,YAAA;;AAEF;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;;;;;;AASF,IAAI,uBAAuB;EACzB,yBAAA;;AAGF;EACE,cAAA;;EACA,YAAA;EACA,YAAA;;AAEF,YAAY;EACV,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF;EACE,YAAA;;AAEF,YAAY,+BAAgC;EAC1C,OAAQ,iBAAR;;AAEF,YAAY,6BAA8B;EACxC,QAAS,iBAAT;;AAGA,YAAa,kBAAkB,sBAAsB;EACnD,eAAA;EACA,eAAA;;AAEF,YAAY,+BAAgC,kBAAkB,sBAAsB;EAClF,iBAAA;EACA,gBAAA;;AAEF,YAAY,6BAA8B,kBAAkB,sBAAsB;EAChF,eAAA;EACA,kBAAA;;AAGJ,YAAa;EACX,mCAAA;EACA,mBAAA;EACA,iBAAA;;AAGF,YAAa,qBAAqB;EAChC,YAAA;;AAEF,YAAa,qBAAqB,GAAE;EAClC,UAAA;;AAEF,YAAa,qBAAqB,GAAG;EACnC,iBAAA;;AAEF,IAAI,WAAY,aAAa,qBAAqB,GAAG;EACnD,eAAA;EACA,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;EACA,kDAAA;EACA,YAAA;EACA,eAAA;;AAGF;EACE,WAAA;;;AAGF;EACE,SAAA;EACA,WAAA;;AAGF;EACE,WAAA;;EACA,eAAA;EACA,YAAA;EACA,kBAAA;;AAGA,oBAAoB;AACpB,mBAAmB;EACjB,SAAU,EAAV;EACA,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF,oBAAqB;AACrB,mBAAoB;EAClB,iBAAA;;AAGF,oBAAqB;AACrB,oBAAqB;AACrB,mBAAoB;AACpB,mBAAoB;EAClB,iBAAA;;;AAIF,WAAW;EACT,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;;AAEF,sBAAuB,MAAK;EAC1B,mBAAA;;AAEF,sBAAuB,MAAK,OAAQ;EAClC,cAAA;;AAGJ;EACE,YAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;;AAEA,aAAc;EACZ,eAAA;;AAEF,aAAc;EACZ,eAAA;EACA,eAAA;;AAEA,aAAc,KAAK;EACjB,YAAA;EACA,kBAAA;;AAEA,aAAc,KAAK,KAAK;EACtB,QAAA;EACA,SAAA;;AAEJ,aAAc,KAAK;AACnB,aAAc,KAAK,KAAI;EACrB,gBAAA;EACA,WAAA;;;;;;;AAQN;EACE,YAAA;EACA,gBAAA;;AAEF,kBAAkB;EAChB,+CAAA;EACA,mBAAA;EACA,KAAM,WAAN;EACA,OAAA;EACA,QAAA;EACA,SAAA;;AAEF,kBAAkB;EAChB,YAAA;;AAEF,kBAAkB,qBAAqB;EACrC,+CAAA;;AAEA,kBAAkB,uBAAuB;EACzC,UAAA;;AAEF;EACE,UAAA;EACA,YAAA;;AAFF,sBAIE;EACE,WAAA;;;AAMJ,sBAAsB;EACpB,YAAA;EACA,eAAA;;AAEF;EACE,iBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;EACA,kBAAA;;AAEF,wBAAwB;EACtB,YAAA;EACA,eAAA;;AAEF,kBAAkB,qBAAsB;EACtC,UAAA;;AAEF;EACE,WAAA;EACA,kBAAA;EACA,eAAA;;AAEF;EACE,YAAA;;AAEF;AAAwB,sBAAuB;EAC7C,eAAA;;AAEF;EACE,gBAAA;EACA,YAAA;;AAEF;EACE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,iBAAA;;AAEF,oCAAoC;EAClC,cAAA;EACA,SAAS,EAAT;EACA,WAAA;EACA,YAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;EACA,6BAAA;EACA,mBAAA;EACA,0DAAA;EACG,uDAAA;EACC,sDAAA;EACI,kDAAA;;AAEV,kBAAkB,uBAAuB;EACvC,oCAAA;EACA,kBAAA;EA7XA,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;EA0XR,YAAA;;AAEF;EACE,gBAAA;EACA,YAAA;EACA,mBAAA;;AAEF;EACE,mBAAA;EACA,WAAA;EACA,qBAAA;EAEA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,6BAAA;;AAEA,0BAA2B,MAAK,UAAU;EACxC,YAAA;;AAEF,0BAA2B,MAAK,UAAU;EACxC,WAAA;EACA,YAAA;;AAEF,0BAA2B,MAAK,UAAU,GAAG;EAC3C,WAAA;EACA,eAAA;EACA,WAAA;;AAEJ;EACE,UAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;;;;;;;;AAUF;EACE,WAAA;;AAEF,aAAa;EAnYX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;;AAqYA,kBAAmB;AACnB,kBAAmB;EACjB,WAAA;;AAGA,kBAAkB,kBAAmB;AACrC,kBAAkB,kBAAmB;EACnC,OAAQ,iBAAR;EACA,QAAS,iBAAT;;AAGF,kBAAmB;EACjB,QAAS,iBAAT;;AAEF,kBAAmB;EACjB,OAAQ,iBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;;AAIN,cAAe;EACb,cAAA;EACA,UAAA;EACA,iBAAA;;AAEF,cAAc,6BAA8B;EAC1C,eAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;;;AAIF;EACE,yBAAA;;AAEA,UAAW;EACT,yBAAA;;;;AAKJ,WAAY;AACZ,cAAe;AACf,WAAY,eAAe;AAC3B,cAAe,eAAe;EAC5B,WAAA;;AAEF,WAAY;AACZ,cAAe;EACb,SAAA;;AAMF,WAAW;EACT,cAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;;;AAIF;EACE,eAAA;;AAEA;EACE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,kBAAA;;AAEF,kBAAkB;EAChB,SAAU,GAAV;EACA,uBAAA;EACA,kBAAA;;AAEF,YAAY,uBAAwB,qBAAoB;EACtD,SAAU,GAAV;;;AAIF,QAAS;EACP,YAAA;;AAEA,QAAS,KAAK;EACZ,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,iBAAA;;AAEF,QAAS,KAAK,KAAI;EAChB,6BAAA;EACA,qBAAA;;AAEA,QAAS,KAAK,KAAI,WAAW;EAC3B,YAAA;EACA,gCAAA;;AAEN,QAAS;EACP,yBAAA;EACA,yBAAA;EACA,YAAA;;;;;;;;;AAYJ;EACE,YAAA;EACA,iBAAA;;AAEF,kBAAmB;AACnB,kBAAmB;EACjB,YAAA;EACA,iBAAA;EACA,gBAAA;;;AAIF;EACE,YAAA;;AAEF,UAAU;EACR,YAAA;;AAEA,UAAW;EAvmBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;;AAqmBA,UAAW,OAAM;EACf,2BAAA;;AAEF,UAAW,OAAM;AACjB,UAAW,OAAM;EAhmBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,YChGqC,oDDgGrC;;AAgmBA,UAAW,OAAM,WAAW;AAC5B,UAAW,OAAM,SAAS;AAC1B,UAAW,OAAM;EA3mBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA2mBA,UAAW,OAAM,SAAU;EACzB,WAAA;;AAEF,UAAW,OAAM;EACf,eAAA;EACA,cAAA;;AAEF,UAAW,OAAM,cAAe;EAC9B,kBAAA;;AAEF,UAAU,cAAc,cAAe;EACrC,kBAAA;;AAEF,UAAU,qBAAqB,cAAc,cAAe;EAC1D,kBAAA;;;;AAKJ;AACA;EACE,YAAA;;AAEA,SAAU;AACV,YAAa;EACX,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,cAAA;EACA,kBAAA;;AAEF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,2BAAA;;AAGF,SAAU;EACR,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;;AAGV,SAAU,MAAK,QAAQ;EACrB,SAAS,OAAT;EACA,eAAA;;AAGF,YAAa,MAAK,QAAQ;EACxB,SAAS,OAAT;EACA,eAAA;;AAGF,SAAS,sBAAuB;AAChC,YAAY,sBAAuB;EACjC,cAAA;;AAGF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,qBAAA;EACA,yBAAA;;AAGF,SAAU;AACV,YAAa;EACX,iBAAA;;AAEF,SAAU,QAAQ;AAClB,YAAa,QAAQ;EACnB,iBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EA9qBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EA6qBE,mBAAA;;AAEF,UAAW,OAAM;EA5qBjB,qBAAA;EACA,yBAAA;EACA,cAAA;;AA6qBA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAU;EACR,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;;AAEF,UAAU;EACR,SAAS,IAAT;EACA,WAAW,qBAAX;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,gCAAA;EAEA,mBAAmB,aAAnB;EACG,gBAAgB,aAAhB;EACC,eAAe,aAAf;EACI,WAAW,aAAX;;AAEV,UAAU,sBAAsB;EAC9B,yBAAA;;;AAIJ,eAAgB;EAntBd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAmtBA,eAAgB,OAAM;EACpB,2BAAA;;AAEJ,eAAgB,OAAM;EAntBpB,qBAAA;EACA,yBAAA;EACA,cAAA;;;AAstBF;EACE,YAAA;;AAEA,UAAW;EACT,uBAAA;EACA,cAAA;EACA,YAAA;;;;;AAOF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;;;;AAOF,UAAW,MAAK;EAtxBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;EAmxBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAnxBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAoxBA,UAAW,MAAK;EA/xBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;EA4xBE,YAAA;EACA,WAAA;EACA,iBAAA;;AAEF,UAAW,MAAK,SAAS;EA7xBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA8xBA,UAAW,MAAK;EAzyBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;EAsyBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAtyBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;;;;AA0yBA,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EACT,WAAA;EAhzBF,YAAA;EACA,yBAAA;EACA,yBAAA;EAizBE,eAAA;EACA,UAAA;;AAGF,UAAW;EAh1BX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;;AA80BA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAW,QAAQ;EACjB,gBAAA;;AAGF,UAAU,sBAAuB;EAn1BjC,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAm1BA,UAAU,sBAAuB;EAh0BjC,qBAAA;EACA,yBAAA;EACA,cAAA;EAg0BE,UAAA;;AAGF,UAAU,sBAAuB;AACjC,UAAU,sBAAuB;EA/0BjC,cAAA;;;;AAq1BF;AACA;EACE,YAAA;;AAEA,YAAa;AACb,QAAS;EAv1BT,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAs1BE,iBAAA;EACA,kBAAA;;AAGF,YAAa,QAAQ;AACrB,QAAS,QAAQ;EACf,gBAAA;;AAGF,YAAa,MAAK;AAClB,QAAS,MAAK;EA71Bd,qBAAA;EACA,yBAAA;EACA,cAAA;;AA81BA,YAAa,MAAK;AAClB,QAAS,MAAK;EACZ,2BAAA;;AAGF,YAAY,sBAAuB;AACnC,QAAQ,sBAAuB;EA/2B/B,cAAA;;;AAq3BA,YAAa;EAl3Bb,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAk3BA,YAAa,SAAQ;EACnB,2BAAA;;AAEF,YAAa,SAAQ;EAl3BrB,qBAAA;EACA,yBAAA;EACA,cAAA;;AAo3BA,YAAY,sBAAuB;EA/3BnC,cAAA;;;AAo4BF;EACE,YAAA;EACA,yBAAA;EACA,yBAAA;;AAEA,YAAa;EACX,yBAAA;;;AAIJ,QAAS,eAAe;;EACtB,WAAA;;;AAIF,eAAgB;EAh5Bd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAGA,qBAAA;EACA,yBAAA;EACA,cAAA;;AA44BF,eAAgB;EACd,gBAAA;EA76BA,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;EA06BA,iBAAA;EACA,kBAAA;;AAEA,eAAgB,OAAM;EACpB,2BAAA;;;;;;;;;AAgBJ;EACE,yBAAA;;;AAIF;EAx8BE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCvFqC,oDDuFrC;EACA,yBAAA;EACA,cAAA;;AAs8BA,aAAc;EACZ,gBAAA;;;AAIJ;EACE,6BAAA;EACA,gBAAA;EACA,+CAAA;EACA,cAAA;;AAEA,QAAS;EACP,cAAA;;AAEF,QAAS,iBAAiB;EACxB,eAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;EACvB,mBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,gBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,mBAAA;;AAEF,QAAS,iBAAgB,gBAAgB;EACvC,SAAU,GAAV;EACA,uBAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB;EACvB,yBAAA;;AAEF,QAAS,iBAAgB,UAAW;AACpC,QAAS,iBAAgB,MAAO;EAC9B,cAAA;;AAEA,QAAS;EACP,+BAAA;;AAEF,IAAI,WAAY,SAAS;EACvB,qCAAA;;AAEF,QAAS,iBAAiB,QAAO;EAC/B,kBAAA;;AAEF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB,sBAAuB;EAC9C,cAAA;;;AAIN;EACE,iBAAA;EACA,kBAAA;;AAEA;EACE,eAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,mBAAA;EACA,cAAA;;AAEF,kBAAkB,sBAAuB;EACvC,cAAA;;;AAKJ;EACE,cAAA;EACA,YAAA;;AAEA,gBAAgB;EACd,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEF,gBAAiB;EACf,wBAtkC8D,6DAskC9D;;AAEF,gBAAiB;EACf,WAAA;;;AAIJ;EACE,WAAA;EACA,mBAAA;;;;;;;;AAUF;EACE,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,0BAAA;EACA,2BAAA;;AAGA,mBAAmB;EACjB,mCAAA;EACA,cAAA;;AAEF,mBAAmB,WAAY,MAAM;EACnC,mCAAA;;AAEF,aAAa,oBAAqB,oBAAmB;EACnD,mBAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY,MAAM;EACrE,mBAAA;;;AAIN;EACE,yBAAA;EACA,yBAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,yBAAA;;AAIE,aAAa,mBAAoB,mBAAmB,kBAAiB,UAAU;EAC7E,yBAAA;EACA,cAAA;;AAEF;EACE,YAAA;;AAEF,oBAAoB;EAClB,kBAAA;EACA,wBAAA;;AAEF,IAAI,WAAY,cAAc,qBAAoB;EAChD,eAAA;EACA,mBAAA;EACA,qCAAA;;AAGF,aAAa,qBAAsB,qBAAoB;EACrD,kBAAA;;AAEF,IAAI,WAAY,cAAa,qBAAsB,qBAAoB;EACrE,eAAA;EACA,mBAAA;;AAGJ,iBAAiB;EACf,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,kBAAiB;EACjD,yBAAA;;AAGF;EACE,iBAAA;EACA,UAAA;EACA,UAAA;;AAEA,4BAA4B;EAC1B,mBAAA;;;AAKR;EACE,yBAAA;EACA,yBAAA;;AAEE,aAAa;EACX,2BAAA;;AAEF,mBAAmB,SAAU;EAC3B,iBAAA;EACA,0BAAA;;AAEF,mBAAoB;EAClB,YAAA;;AAEF,mBAAoB,MAAM;EACxB,eAAA;EACA,YAAA;;AAEF,mBAAoB,MAAM,OAAM;EAC9B,kBAAA;;AAEF,mBAAoB;EAClB,iBAAA;;AAEF,mBAAoB,sBAAqB;EACvC,gBAAA;;AAEF,mBAAmB,WAAY;EAC7B,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY;EAC/D,yBAAA;;AAGJ,mBAAmB;EACjB,kBAAA;;AAEF,mBAAmB,eAAgB;EACjC,iBAAA;EACA,eAAA;EACA,iBAAA;;AAEF,mBAAmB,eAAgB,uBAAsB;EACvD,SAAU,OAAV;EACA,kBAAA;EACA,cAAA;;AAEF,mBAAmB,eAAe,aAAc,yBAAwB;EACtE,SAAU,OAAV;;;;;AC/vCJ,gBACE;EACE,gBAAA;;AAFJ,gBAIE;EACE,WAAA;;AAIF,kBAAC;EACC,mBAAA;;AAFJ,kBAIE;EACE,gBAAA;EACA,cAAA;;AAEA,kBAJF,2BAIG;EACC,yBAAA;;AAEF,kBAPF,2BAOG;EACC,yBAAA;;AAZN,kBAIE,2BAUE;EACE,mBAAA;EACA,WAAA;;AAhBN,kBAIE,2BAUE,aAIE;EACE,gBAAA;;AAnBR,kBAIE,2BAUE,aAOE,mBAAkB;AArBxB,kBAIE,2BAUE,aAQE;EACE,mBAAA;;AAvBR,kBAIE,2BAUE,aAWE;EACE,gBAAA;EACA,mBAAA;;AAGE,kBA1BR,2BAUE,aAWE,SAIE,eACG;EACC,yBAAA;;AA/BZ,kBAIE,2BAUE,aAWE,SAIE,eAIE;EACE,WAAA;;AAlCZ,kBAIE,2BAUE,aAWE,SAIE,eAOE;EACE,YAAA;;AAEF,kBAnCR,2BAUE,aAWE,SAIE,eAUG,sBAAuB;EACtB,+BAAA;;AAxCZ,kBA8CE,uBACE;EACE,WAAA;;AAhDN,kBA8CE,uBAIE;EACE,eAAA;EACA,gBAAA;EACA,+BAAA;;AArDN,kBA8CE,uBAUE;EACE,YAAA;EACA,WAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,UAAA;;AAEA,kBAnBJ,uBAUE,iCASG;EACC,0CAAA;;AAEF,kBAtBJ,uBAUE,iCAYG;AACD,kBAvBJ,uBAUE,iCAaG;EACC,UAAA;EACA,SAAS,EAAT;EACA,kBAAA;EACA,QAAA;EACA,SAAA;;AA1ER,kBA8CE,uBA+BE,gCAA+B;AA7EnC,kBA8CE,uBAgCE,gCAA+B;EAC7B,WAAA;EACA,WAAA;EACA,0CAAA;EACA,iCAAA;;AAGA,kBAvCJ,uBAsCE,gCACG;EACC,WAAW,sBAAsB,aAAjC;;AAEF,kBA1CJ,uBAsCE,gCAIG;EACC,WAAW,sBAAsB,cAAjC;;AAGA,kBA9CN,uBAsCE,gCAOG,MACE;AACD,kBA/CN,uBAsCE,gCAOG,MAEE;EACC,sBAAA;;AAKJ,kBArDJ,uBAoDE,mCACG;AACD,kBAtDJ,uBAoDE,mCAEG;EACC,WAAA;EACA,WAAA;EACA,mBAAA;EACA,0CAAA;EACA,qBAAA;EACA,WAAW,qBAAX;EACA,6BAAA;;AAEF,kBA/DJ,uBAoDE,mCAWG;EACC,UAAA;EACA,oBAAA;EACA,qCAAA;;AAGA,kBArEN,uBAoDE,mCAgBG,MACE;AACD,kBAtEN,uBAoDE,mCAgBG,MAEE;EACC,kBAAA;EACA,mBAAA;;AAKJ,kBA7EJ,uBA4EE,mCACG;EACC,WAAA;EACA,WAAA;EACA,iDAAA;EACA,WAAW,qBAAX;EACA,6BAAA;;AAEF,kBApFJ,uBA4EE,mCAQG,MAAM;EACL,kBAAA;;AAIN,kBAAC,uBACC,mCAAkC;EAChC,UAAA;;AAIN,kBACE;EACE,WAAA;;AAGJ;EACE,mBAAA;;AAGE,QADF,eACG;EACC,WAAA;;AALN,QAGE,eAIE;AAPJ,QAGE,eAKE;EACE,WAAA;;AAEF,QARF,eAQG;EACC,yBAAA;;AAIN,QAAS;EACP,YAAA;;AAEF,QAAS,KAAK;EACZ,gBAAA;;AAEF,QAAS,YAAW;EAClB,yBAAA;;AAEF,aAAc,kBAAiB;EAC7B,yBAAA;;AAEF,mBAAmB;EACjB,yBAAA;;AADF,mBAAmB,WAEjB,MAAM;EACJ,4BAAA;;AAGJ,UAAW;EACT,WAAA;;AAEF,UAAW,OAAM;EACf,aAAa,SAAb;;AAGF;AACA;AACA;EACE,YAAA;;AAGF;AACA;AACA;EACE,YAAA;;AAHF,eAKE;AAJF,UAIE;AAHF,UAGE;EACE,kBAAA;EACA,eAAA;EACA,iBAAA;EACA,yBAAA;EACA,kBAAA;EACA,SAAA;EACA,gBAAA;EACA,gBAAA;EACA,qBAAA;EACA,gCAAA;EACA,eAAA;EACA,2BAAA;;AAjBJ,eAKE,OAcE;AAlBJ,UAIE,OAcE;AAjBJ,UAGE,OAcE;EACE,oBAAA;;AApBN,eAKE,OAiBE;AArBJ,UAIE,OAiBE;AApBJ,UAGE,OAiBE;EACE,+BAAA;;AAEF,eApBF,OAoBG;AAAD,UApBF,OAoBG;AAAD,UApBF,OAoBG;EACC,gBAAA;EACA,0BAAA;;AACA,eAvBJ,OAoBG,qBAGE;AAAD,UAvBJ,OAoBG,qBAGE;AAAD,UAvBJ,OAoBG,qBAGE;EACC,0BAAA;;AAGJ,eA3BF,OA2BG;AAAD,UA3BF,OA2BG;AAAD,UA3BF,OA2BG;EACC,oCAAA;;AAEF,eA9BF,OA8BG;AAAD,UA9BF,OA8BG;AAAD,UA9BF,OA8BG;EACC,oCAAA;;AAKN,QAAS;EACP,yBAAA;;AAGF,UAAU;EACR,SAAA;;AAGF,yBAAyB;EACvB,mBAAA;;AAGA,YAAC;EACC,mBAAA;;AAFJ,YAIE,qBAAqB;EACnB,qBAAA;;AALJ,YAIE,qBAAqB,GAGnB;EACE,+BAAA;;AARN,YAIE,qBAAqB,GAMnB;EACE,YAAA;;AAEF,YATF,qBAAqB,GASlB,QACC;EACE,WAAA;;AAFJ,YATF,qBAAqB,GASlB,QAIC;EACE,UAAA;;AAMR;EACE,cAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,WAAW,QAAX;EACA,oBAAA;EACA,WAAA;EACA,YAAA;;AAEA,KAAC;EACC,2BAAA;;AAIJ;EACE;IACE,UAAA;IACA,WAAW,UAAX;;;AAGJ;EACE,yBAAA;EACA,YAAA;;AAEF;EACE,4BAAA;;;AAIF,4BACE;EACE,UAAA"}
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/styles/material/materialColors.less b/build/htdocs/dist/themes/styles/material/materialColors.less
deleted file mode 100644
index 1ea606e..0000000
--- a/build/htdocs/dist/themes/styles/material/materialColors.less
+++ /dev/null
@@ -1,532 +0,0 @@
-// ==========================================================================
-//
-// Name: UI Color Palette
-// Description: The color palette of material design.
-// Version: 2.2.0
-//
-// Author: Denis Malinochkin
-// Git: https://github.com/mrmlnc/material-color
-//
-// twitter: @mrmlnc
-//
-// ==========================================================================
-
-
-//
-// Red
-//
-
-@clr-red-list: #ffebee, #ffcdd2, #ef9a9a, #e57373, #ef5350,
- #f44336, #e53935, #d32f2f, #c62828, #b71c1c,
- #ff8a80, #ff5252, #ff1744, #d50000;
-
-@clr-red: extract(@clr-red-list, 6);
-
-@clr-red-50: extract(@clr-red-list, 1);
-@clr-red-100: extract(@clr-red-list, 2);
-@clr-red-200: extract(@clr-red-list, 3);
-@clr-red-300: extract(@clr-red-list, 4);
-@clr-red-400: extract(@clr-red-list, 5);
-@clr-red-500: extract(@clr-red-list, 6);
-@clr-red-600: extract(@clr-red-list, 7);
-@clr-red-700: extract(@clr-red-list, 8);
-@clr-red-800: extract(@clr-red-list, 9);
-@clr-red-900: extract(@clr-red-list, 10);
-@clr-red-A100: extract(@clr-red-list, 11);
-@clr-red-A200: extract(@clr-red-list, 12);
-@clr-red-A400: extract(@clr-red-list, 13);
-@clr-red-A700: extract(@clr-red-list, 14);
-
-
-//
-// Pink
-//
-
-@clr-pink-list: #fce4ec, #f8bbd0, #f48fb1, #f06292, #ec407a,
- #e91e63, #d81b60, #c2185b, #ad1457, #880e4f,
- #ff80ab, #ff4081, #f50057, #c51162;
-
-@clr-pink: extract(@clr-pink-list, 6);
-
-@clr-pink-50: extract(@clr-pink-list, 1);
-@clr-pink-100: extract(@clr-pink-list, 2);
-@clr-pink-200: extract(@clr-pink-list, 3);
-@clr-pink-300: extract(@clr-pink-list, 4);
-@clr-pink-400: extract(@clr-pink-list, 5);
-@clr-pink-500: extract(@clr-pink-list, 6);
-@clr-pink-600: extract(@clr-pink-list, 7);
-@clr-pink-700: extract(@clr-pink-list, 8);
-@clr-pink-800: extract(@clr-pink-list, 9);
-@clr-pink-900: extract(@clr-pink-list, 10);
-@clr-pink-A100: extract(@clr-pink-list, 11);
-@clr-pink-A200: extract(@clr-pink-list, 12);
-@clr-pink-A400: extract(@clr-pink-list, 13);
-@clr-pink-A700: extract(@clr-pink-list, 14);
-
-
-//
-// Purple
-//
-
-@clr-purple-list: #f3e5f5, #e1bee7, #ce93d8, #ba68c8, #ab47bc,
- #9c27b0, #8e24aa, #7b1fa2, #6a1b9a, #4a148c,
- #ea80fc, #e040fb, #d500f9, #aa00ff;
-
-@clr-purple: extract(@clr-purple-list, 6);
-
-@clr-purple-50: extract(@clr-purple-list, 1);
-@clr-purple-100: extract(@clr-purple-list, 2);
-@clr-purple-200: extract(@clr-purple-list, 3);
-@clr-purple-300: extract(@clr-purple-list, 4);
-@clr-purple-400: extract(@clr-purple-list, 5);
-@clr-purple-500: extract(@clr-purple-list, 6);
-@clr-purple-600: extract(@clr-purple-list, 7);
-@clr-purple-700: extract(@clr-purple-list, 8);
-@clr-purple-800: extract(@clr-purple-list, 9);
-@clr-purple-900: extract(@clr-purple-list, 10);
-@clr-purple-A100: extract(@clr-purple-list, 11);
-@clr-purple-A200: extract(@clr-purple-list, 12);
-@clr-purple-A400: extract(@clr-purple-list, 13);
-@clr-purple-A700: extract(@clr-purple-list, 14);
-
-
-//
-// Deep Purple
-//
-@clr-deep-purple-list: #ede7f6, #d1c4e9, #b39ddb, #9575cd, #7e57c2,
- #673ab7, #5e35b1, #512da8, #4527a0, #311b92,
- #b388ff, #7c4dff, #651fff, #6200ea;
-
-@clr-deep-purple: extract(@clr-deep-purple-list, 6);
-
-@clr-deep-purple-50: extract(@clr-deep-purple-list, 1);
-@clr-deep-purple-100: extract(@clr-deep-purple-list, 2);
-@clr-deep-purple-200: extract(@clr-deep-purple-list, 3);
-@clr-deep-purple-300: extract(@clr-deep-purple-list, 4);
-@clr-deep-purple-400: extract(@clr-deep-purple-list, 5);
-@clr-deep-purple-500: extract(@clr-deep-purple-list, 6);
-@clr-deep-purple-600: extract(@clr-deep-purple-list, 7);
-@clr-deep-purple-700: extract(@clr-deep-purple-list, 8);
-@clr-deep-purple-800: extract(@clr-deep-purple-list, 9);
-@clr-deep-purple-900: extract(@clr-deep-purple-list, 10);
-@clr-deep-purple-A100: extract(@clr-deep-purple-list, 11);
-@clr-deep-purple-A200: extract(@clr-deep-purple-list, 12);
-@clr-deep-purple-A400: extract(@clr-deep-purple-list, 13);
-@clr-deep-purple-A700: extract(@clr-deep-purple-list, 14);
-
-
-//
-// Indigo
-//
-
-@clr-indigo-list: #e8eaf6, #c5cae9, #9fa8da, #7986cb, #5c6bc0,
- #3f51b5, #3949ab, #303f9f, #283593, #1a237e,
- #8c9eff, #536dfe, #3d5afe, #304ffe;
-
-@clr-indigo: extract(@clr-indigo-list, 6);
-
-@clr-indigo-50: extract(@clr-indigo-list, 1);
-@clr-indigo-100: extract(@clr-indigo-list, 2);
-@clr-indigo-200: extract(@clr-indigo-list, 3);
-@clr-indigo-300: extract(@clr-indigo-list, 4);
-@clr-indigo-400: extract(@clr-indigo-list, 5);
-@clr-indigo-500: extract(@clr-indigo-list, 6);
-@clr-indigo-600: extract(@clr-indigo-list, 7);
-@clr-indigo-700: extract(@clr-indigo-list, 8);
-@clr-indigo-800: extract(@clr-indigo-list, 9);
-@clr-indigo-900: extract(@clr-indigo-list, 10);
-@clr-indigo-A100: extract(@clr-indigo-list, 11);
-@clr-indigo-A200: extract(@clr-indigo-list, 12);
-@clr-indigo-A400: extract(@clr-indigo-list, 13);
-@clr-indigo-A700: extract(@clr-indigo-list, 14);
-
-
-//
-// Blue
-//
-
-@clr-blue-list: #e3f2fd, #bbdefb, #90caf9, #64b5f6, #42a5f5,
- #2196f3, #1e88e5, #1976d2, #1565c0, #0d47a1,
- #82b1ff, #448aff, #2979ff, #2962ff;
-
-@clr-blue: extract(@clr-blue-list, 6);
-
-@clr-blue-50: extract(@clr-blue-list, 1);
-@clr-blue-100: extract(@clr-blue-list, 2);
-@clr-blue-200: extract(@clr-blue-list, 3);
-@clr-blue-300: extract(@clr-blue-list, 4);
-@clr-blue-400: extract(@clr-blue-list, 5);
-@clr-blue-500: extract(@clr-blue-list, 6);
-@clr-blue-600: extract(@clr-blue-list, 7);
-@clr-blue-700: extract(@clr-blue-list, 8);
-@clr-blue-800: extract(@clr-blue-list, 9);
-@clr-blue-900: extract(@clr-blue-list, 10);
-@clr-blue-A100: extract(@clr-blue-list, 11);
-@clr-blue-A200: extract(@clr-blue-list, 12);
-@clr-blue-A400: extract(@clr-blue-list, 13);
-@clr-blue-A700: extract(@clr-blue-list, 14);
-
-
-//
-// Light Blue
-//
-
-@clr-light-blue-list: #e1f5fe, #b3e5fc, #81d4fa, #4fc3f7, #29b6f6,
- #03a9f4, #039be5, #0288d1, #0277bd, #01579b,
- #80d8ff, #40c4ff, #00b0ff, #0091ea;
-
-@clr-light-blue: extract(@clr-light-blue-list, 6);
-
-@clr-light-blue-50: extract(@clr-light-blue-list, 1);
-@clr-light-blue-100: extract(@clr-light-blue-list, 2);
-@clr-light-blue-200: extract(@clr-light-blue-list, 3);
-@clr-light-blue-300: extract(@clr-light-blue-list, 4);
-@clr-light-blue-400: extract(@clr-light-blue-list, 5);
-@clr-light-blue-500: extract(@clr-light-blue-list, 6);
-@clr-light-blue-600: extract(@clr-light-blue-list, 7);
-@clr-light-blue-700: extract(@clr-light-blue-list, 8);
-@clr-light-blue-800: extract(@clr-light-blue-list, 9);
-@clr-light-blue-900: extract(@clr-light-blue-list, 10);
-@clr-light-blue-A100: extract(@clr-light-blue-list, 11);
-@clr-light-blue-A200: extract(@clr-light-blue-list, 12);
-@clr-light-blue-A400: extract(@clr-light-blue-list, 13);
-@clr-light-blue-A700: extract(@clr-light-blue-list, 14);
-
-
-//
-// Cyan
-//
-
-@clr-cyan-list: #e0f7fa, #b2ebf2, #80deea, #4dd0e1, #26c6da,
- #00bcd4, #00acc1, #0097a7, #00838f, #006064,
- #84ffff, #18ffff, #00e5ff, #00b8d4;
-
-@clr-cyan: extract(@clr-cyan-list, 6);
-
-@clr-cyan-50: extract(@clr-cyan-list, 1);
-@clr-cyan-100: extract(@clr-cyan-list, 2);
-@clr-cyan-200: extract(@clr-cyan-list, 3);
-@clr-cyan-300: extract(@clr-cyan-list, 4);
-@clr-cyan-400: extract(@clr-cyan-list, 5);
-@clr-cyan-500: extract(@clr-cyan-list, 6);
-@clr-cyan-600: extract(@clr-cyan-list, 7);
-@clr-cyan-700: extract(@clr-cyan-list, 8);
-@clr-cyan-800: extract(@clr-cyan-list, 9);
-@clr-cyan-900: extract(@clr-cyan-list, 10);
-@clr-cyan-A100: extract(@clr-cyan-list, 11);
-@clr-cyan-A200: extract(@clr-cyan-list, 12);
-@clr-cyan-A400: extract(@clr-cyan-list, 13);
-@clr-cyan-A700: extract(@clr-cyan-list, 14);
-
-
-//
-// Teal
-//
-
-@clr-teal-list: #e0f2f1, #b2dfdb, #80cbc4, #4db6ac, #26a69a,
- #009688, #00897b, #00796b, #00695c, #004d40,
- #a7ffeb, #64ffda, #1de9b6, #00bfa5;
-
-@clr-teal: extract(@clr-teal-list, 6);
-
-@clr-teal-50: extract(@clr-teal-list, 1);
-@clr-teal-100: extract(@clr-teal-list, 2);
-@clr-teal-200: extract(@clr-teal-list, 3);
-@clr-teal-300: extract(@clr-teal-list, 4);
-@clr-teal-400: extract(@clr-teal-list, 5);
-@clr-teal-500: extract(@clr-teal-list, 6);
-@clr-teal-600: extract(@clr-teal-list, 7);
-@clr-teal-700: extract(@clr-teal-list, 8);
-@clr-teal-800: extract(@clr-teal-list, 9);
-@clr-teal-900: extract(@clr-teal-list, 10);
-@clr-teal-A100: extract(@clr-teal-list, 11);
-@clr-teal-A200: extract(@clr-teal-list, 12);
-@clr-teal-A400: extract(@clr-teal-list, 13);
-@clr-teal-A700: extract(@clr-teal-list, 14);
-
-
-//
-// Green
-//
-
-@clr-green-list: #e8f5e9, #c8e6c9, #a5d6a7, #81c784, #66bb6a,
- #4caf50, #43a047, #388e3c, #2e7d32, #1b5e20,
- #b9f6ca, #69f0ae, #00e676, #00c853;
-
-@clr-green: extract(@clr-green-list, 6);
-
-@clr-green-50: extract(@clr-green-list, 1);
-@clr-green-100: extract(@clr-green-list, 2);
-@clr-green-200: extract(@clr-green-list, 3);
-@clr-green-300: extract(@clr-green-list, 4);
-@clr-green-400: extract(@clr-green-list, 5);
-@clr-green-500: extract(@clr-green-list, 6);
-@clr-green-600: extract(@clr-green-list, 7);
-@clr-green-700: extract(@clr-green-list, 8);
-@clr-green-800: extract(@clr-green-list, 9);
-@clr-green-900: extract(@clr-green-list, 10);
-@clr-green-A100: extract(@clr-green-list, 11);
-@clr-green-A200: extract(@clr-green-list, 12);
-@clr-green-A400: extract(@clr-green-list, 13);
-@clr-green-A700: extract(@clr-green-list, 14);
-
-
-//
-// Light Green
-//
-
-@clr-light-green-list: #f1f8e9, #dcedc8, #c5e1a5, #aed581, #9ccc65,
- #8bc34a, #7cb342, #689f38, #558b2f, #33691e,
- #ccff90, #b2ff59, #76ff03, #64dd17;
-
-@clr-light-green: extract(@clr-light-green-list, 6);
-
-@clr-light-green-50: extract(@clr-light-green-list, 1);
-@clr-light-green-100: extract(@clr-light-green-list, 2);
-@clr-light-green-200: extract(@clr-light-green-list, 3);
-@clr-light-green-300: extract(@clr-light-green-list, 4);
-@clr-light-green-400: extract(@clr-light-green-list, 5);
-@clr-light-green-500: extract(@clr-light-green-list, 6);
-@clr-light-green-600: extract(@clr-light-green-list, 7);
-@clr-light-green-700: extract(@clr-light-green-list, 8);
-@clr-light-green-800: extract(@clr-light-green-list, 9);
-@clr-light-green-900: extract(@clr-light-green-list, 10);
-@clr-light-green-A100: extract(@clr-light-green-list, 11);
-@clr-light-green-A200: extract(@clr-light-green-list, 12);
-@clr-light-green-A400: extract(@clr-light-green-list, 13);
-@clr-light-green-A700: extract(@clr-light-green-list, 14);
-
-
-//
-// Lime
-//
-@clr-lime-list: #f9fbe7, #f0f4c3, #e6ee9c, #dce775, #d4e157,
- #cddc39, #c0ca33, #afb42b, #9e9d24, #827717,
- #f4ff81, #eeff41, #c6ff00, #aeea00;
-
-@clr-lime: extract(@clr-lime-list, 6);
-
-@clr-lime-50: extract(@clr-lime-list, 1);
-@clr-lime-100: extract(@clr-lime-list, 2);
-@clr-lime-200: extract(@clr-lime-list, 3);
-@clr-lime-300: extract(@clr-lime-list, 4);
-@clr-lime-400: extract(@clr-lime-list, 5);
-@clr-lime-500: extract(@clr-lime-list, 6);
-@clr-lime-600: extract(@clr-lime-list, 7);
-@clr-lime-700: extract(@clr-lime-list, 8);
-@clr-lime-800: extract(@clr-lime-list, 9);
-@clr-lime-900: extract(@clr-lime-list, 10);
-@clr-lime-A100: extract(@clr-lime-list, 11);
-@clr-lime-A200: extract(@clr-lime-list, 12);
-@clr-lime-A400: extract(@clr-lime-list, 13);
-@clr-lime-A700: extract(@clr-lime-list, 14);
-
-
-//
-// Yellow
-//
-
-@clr-yellow-list: #fffde7, #fff9c4, #fff59d, #fff176, #ffee58,
- #ffeb3b, #fdd835, #fbc02d, #f9a825, #f57f17,
- #ffff8d, #ffff00, #ffea00, #ffd600;
-
-@clr-yellow: extract(@clr-yellow-list, 6);
-
-@clr-yellow-50: extract(@clr-yellow-list, 1);
-@clr-yellow-100: extract(@clr-yellow-list, 2);
-@clr-yellow-200: extract(@clr-yellow-list, 3);
-@clr-yellow-300: extract(@clr-yellow-list, 4);
-@clr-yellow-400: extract(@clr-yellow-list, 5);
-@clr-yellow-500: extract(@clr-yellow-list, 6);
-@clr-yellow-600: extract(@clr-yellow-list, 7);
-@clr-yellow-700: extract(@clr-yellow-list, 8);
-@clr-yellow-800: extract(@clr-yellow-list, 9);
-@clr-yellow-900: extract(@clr-yellow-list, 10);
-@clr-yellow-A100: extract(@clr-yellow-list, 11);
-@clr-yellow-A200: extract(@clr-yellow-list, 12);
-@clr-yellow-A400: extract(@clr-yellow-list, 13);
-@clr-yellow-A700: extract(@clr-yellow-list, 14);
-
-
-//
-// Amber
-//
-
-@clr-amber-list: #fff8e1, #ffecb3, #ffe082, #ffd54f, #ffca28,
- #ffc107, #ffb300, #ffa000, #ff8f00, #ff6f00,
- #ffe57f, #ffd740, #ffc400, #ffab00;
-
-@clr-amber: extract(@clr-amber-list, 6);
-
-@clr-amber-50: extract(@clr-amber-list, 1);
-@clr-amber-100: extract(@clr-amber-list, 2);
-@clr-amber-200: extract(@clr-amber-list, 3);
-@clr-amber-300: extract(@clr-amber-list, 4);
-@clr-amber-400: extract(@clr-amber-list, 5);
-@clr-amber-500: extract(@clr-amber-list, 6);
-@clr-amber-600: extract(@clr-amber-list, 7);
-@clr-amber-700: extract(@clr-amber-list, 8);
-@clr-amber-800: extract(@clr-amber-list, 9);
-@clr-amber-900: extract(@clr-amber-list, 10);
-@clr-amber-A100: extract(@clr-amber-list, 11);
-@clr-amber-A200: extract(@clr-amber-list, 12);
-@clr-amber-A400: extract(@clr-amber-list, 13);
-@clr-amber-A700: extract(@clr-amber-list, 14);
-
-
-//
-// Orange
-//
-
-@clr-orange-list: #fff3e0, #ffe0b2, #ffcc80, #ffb74d, #ffa726,
- #ff9800, #fb8c00, #f57c00, #ef6c00, #e65100,
- #ffd180, #ffab40, #ff9100, #ff6d00;
-
-@clr-orange: extract(@clr-orange-list, 6);
-
-@clr-orange-50: extract(@clr-orange-list, 1);
-@clr-orange-100: extract(@clr-orange-list, 2);
-@clr-orange-200: extract(@clr-orange-list, 3);
-@clr-orange-300: extract(@clr-orange-list, 4);
-@clr-orange-400: extract(@clr-orange-list, 5);
-@clr-orange-500: extract(@clr-orange-list, 6);
-@clr-orange-600: extract(@clr-orange-list, 7);
-@clr-orange-700: extract(@clr-orange-list, 8);
-@clr-orange-800: extract(@clr-orange-list, 9);
-@clr-orange-900: extract(@clr-orange-list, 10);
-@clr-orange-A100: extract(@clr-orange-list, 11);
-@clr-orange-A200: extract(@clr-orange-list, 12);
-@clr-orange-A400: extract(@clr-orange-list, 13);
-@clr-orange-A700: extract(@clr-orange-list, 14);
-
-
-//
-// Deep Orange
-//
-
-@clr-deep-orange-list: #fbe9e7, #ffccbc, #ffab91, #ff8a65, #ff7043,
- #ff5722, #f4511e, #e64a19, #d84315, #bf360c,
- #ff9e80, #ff6e40, #ff3d00, #dd2c00;
-
-@clr-deep-orange: extract(@clr-deep-orange-list, 6);
-
-@clr-deep-orange-50: extract(@clr-deep-orange-list, 1);
-@clr-deep-orange-100: extract(@clr-deep-orange-list, 2);
-@clr-deep-orange-200: extract(@clr-deep-orange-list, 3);
-@clr-deep-orange-300: extract(@clr-deep-orange-list, 4);
-@clr-deep-orange-400: extract(@clr-deep-orange-list, 5);
-@clr-deep-orange-500: extract(@clr-deep-orange-list, 6);
-@clr-deep-orange-600: extract(@clr-deep-orange-list, 7);
-@clr-deep-orange-700: extract(@clr-deep-orange-list, 8);
-@clr-deep-orange-800: extract(@clr-deep-orange-list, 9);
-@clr-deep-orange-900: extract(@clr-deep-orange-list, 10);
-@clr-deep-orange-A100: extract(@clr-deep-orange-list, 11);
-@clr-deep-orange-A200: extract(@clr-deep-orange-list, 12);
-@clr-deep-orange-A400: extract(@clr-deep-orange-list, 13);
-@clr-deep-orange-A700: extract(@clr-deep-orange-list, 14);
-
-
-//
-// Brown
-//
-
-@clr-brown-list: #efebe9, #d7ccc8, #bcaaa4, #a1887f, #8d6e63,
- #795548, #6d4c41, #5d4037, #4e342e, #3e2723;
-
-@clr-brown: extract(@clr-brown-list, 6);
-
-@clr-brown-50: extract(@clr-brown-list, 1);
-@clr-brown-100: extract(@clr-brown-list, 2);
-@clr-brown-200: extract(@clr-brown-list, 3);
-@clr-brown-300: extract(@clr-brown-list, 4);
-@clr-brown-400: extract(@clr-brown-list, 5);
-@clr-brown-500: extract(@clr-brown-list, 6);
-@clr-brown-600: extract(@clr-brown-list, 7);
-@clr-brown-700: extract(@clr-brown-list, 8);
-@clr-brown-800: extract(@clr-brown-list, 9);
-@clr-brown-900: extract(@clr-brown-list, 10);
-
-
-//
-// Grey
-//
-
-@clr-grey-list: #fafafa, #f5f5f5, #eeeeee, #e0e0e0, #bdbdbd,
- #9e9e9e, #757575, #616161, #424242, #212121;
-
-@clr-grey: extract(@clr-grey-list, 6);
-
-@clr-grey-50: extract(@clr-grey-list, 1);
-@clr-grey-100: extract(@clr-grey-list, 2);
-@clr-grey-200: extract(@clr-grey-list, 3);
-@clr-grey-300: extract(@clr-grey-list, 4);
-@clr-grey-400: extract(@clr-grey-list, 5);
-@clr-grey-500: extract(@clr-grey-list, 6);
-@clr-grey-600: extract(@clr-grey-list, 7);
-@clr-grey-700: extract(@clr-grey-list, 8);
-@clr-grey-800: extract(@clr-grey-list, 9);
-@clr-grey-900: extract(@clr-grey-list, 10);
-
-
-//
-// Blue Grey
-//
-
-@clr-blue-grey-list: #eceff1, #cfd8dc, #b0bec5, #90a4ae, #78909c,
- #607d8b, #546e7a, #455a64, #37474f, #263238;
-
-@clr-blue-grey: extract(@clr-blue-grey-list, 6);
-
-@clr-blue-grey-50: extract(@clr-blue-grey-list, 1);
-@clr-blue-grey-100: extract(@clr-blue-grey-list, 2);
-@clr-blue-grey-200: extract(@clr-blue-grey-list, 3);
-@clr-blue-grey-300: extract(@clr-blue-grey-list, 4);
-@clr-blue-grey-400: extract(@clr-blue-grey-list, 5);
-@clr-blue-grey-500: extract(@clr-blue-grey-list, 6);
-@clr-blue-grey-600: extract(@clr-blue-grey-list, 7);
-@clr-blue-grey-700: extract(@clr-blue-grey-list, 8);
-@clr-blue-grey-800: extract(@clr-blue-grey-list, 9);
-@clr-blue-grey-900: extract(@clr-blue-grey-list, 10);
-
-
-//
-// Black
-//
-@clr-black-list: #000;
-
-@clr-black: extract(@clr-blue-grey-list, 1);
-
-
-//
-// White
-//
-
-@clr-white-list: #fff;
-
-@clr-white: extract(@clr-blue-grey-list, 1);
-
-
-//
-// List of all color names
-//
-@clr-list-all: red, pink, purple, deep-purple, indigo, blue, light-blue, cyan,
- teal, green, light-green, lime, yellow, amber, orange,
- deep-orange, brown, grey, blue-grey, black, white;
-
-
-//
-// Typography
-//
-
-@clr-ui-display-4: @clr-grey-600;
-@clr-ui-display-3: @clr-grey-600;
-@clr-ui-display-2: @clr-grey-600;
-@clr-ui-display-1: @clr-grey-600;
-@clr-ui-headline: @clr-grey-900;
-@clr-ui-title: @clr-grey-900;
-@clr-ui-subhead-1: @clr-grey-900;
-@clr-ui-body-2: @clr-grey-900;
-@clr-ui-body-1: @clr-grey-900;
-@clr-ui-caption: @clr-grey-600;
-@clr-ui-menu: @clr-grey-900;
-@clr-ui-button: @clr-grey-900;
diff --git a/build/htdocs/dist/themes/styles/material/theme.js b/build/htdocs/dist/themes/styles/material/theme.js
deleted file mode 100644
index c4dfdff..0000000
--- a/build/htdocs/dist/themes/styles/material/theme.js
+++ /dev/null
@@ -1,41 +0,0 @@
-'use strict';
-
-OSjs.Applications.CoreWM.CurrentTheme = {
- init: function() {
- },
-
- destroy: function() {
- },
-
- event: function(e) {
- if ( e.target && e.target.nodeName.toLowerCase() === 'button' ) {
- var parent = e.target;
- if ( parseFloat(window.getComputedStyle(parent).getPropertyValue('opacity')) > 0 ) {
- var drop;
- var maxWidthHeight = Math.max(parent.clientWidth, parent.clientHeight);
- var drops = Array.prototype.slice.call(parent.childNodes).filter(function(e) {
- return (e.className === 'drop animate');
- });
- var freeDrops = drops.slice().filter(function(e) {
- // .drop opacity is 1 when it's hidden... css animations
- return parseFloat(window.getComputedStyle(e).getPropertyValue('opacity')) === 1;
- });
- if ( drops.length === 0 || freeDrops.length === 0 ) {
- drop = document.createElement('b');
- drop.className = 'drop';
- drop.style.width = maxWidthHeight + 'px';
- drop.style.height = maxWidthHeight + 'px';
- drop = parent.appendChild(drop);
- }
- else {
- drop = freeDrops[0];
- drop.className = 'drop';
- }
- var rect = parent.getBoundingClientRect();
- drop.style.top = (e.pageY - rect.top - maxWidthHeight / 2) + 'px';
- drop.style.left = (e.pageX - rect.left - maxWidthHeight / 2) + 'px';
- drop.className = 'drop animate';
- }
- }
- }
-};
diff --git a/build/htdocs/dist/themes/styles/windows8.css b/build/htdocs/dist/themes/styles/windows8.css
deleted file mode 100644
index b685dc6..0000000
--- a/build/htdocs/dist/themes/styles/windows8.css
+++ /dev/null
@@ -1,1257 +0,0 @@
-@charset "UTF-8";
-/*!
- * OS.js - JavaScript Cloud/Web Desktop Platform
- *
- * Copyright (c) 2011-2016, Anders Evenrud
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * @author Anders Evenrud
- * @licence Simplified BSD License
- */
-/**
- * ===========================================================================
- * CLASSES
- * ===========================================================================
- */
-.gui-has-emblem {
- background-repeat: no-repeat;
- background-position: calc(96%) center;
- padding-right: calc(20px);
-}
-.gui-generic-container {
- padding: 4px;
- color: #242424;
-}
-.gui-generic-zebra-container {
- background-color: #ffffff;
-}
-.gui-generic-zebra-container > * {
- padding: 4px;
-}
-.gui-generic-zebra-container > *:nth-child(even) {
- background: rgba(109, 171, 244, 0.5);
-}
-.gui-generic-hoverable:hover {
- background-color: #2d73d2;
-}
-.gui-generic-padded {
- padding: 4px;
-}
-.gui-generic-double-padded {
- padding: calc(8px);
-}
-.gui-generic-margin {
- margin: 4px;
-}
-/**
- * ===========================================================================
- * OVERRIDES
- * ===========================================================================
- */
-body,
-input,
-button,
-textarea,
-label,
-select {
- font-family: Karla, Sans-serif;
- font-weight: normal;
- font-style: normal;
- font-size: 12px;
- color: #242424;
-}
-::-webkit-scrollbar {
- width: 12px;
- height: 12px;
-}
-::-webkit-scrollbar-button {
- background: #cdcdcd;
- color: #f0f0f0;
- width: 12px;
- height: 12px;
- display: none;
-}
-::-webkit-scrollbar-track {
- background: #f0f0f0;
-}
-::-webkit-scrollbar-track-piece {
- background: #f0f0f0;
-}
-::-webkit-scrollbar-thumb {
- background: #cdcdcd;
-}
-::-webkit-scrollbar-corner {
- background: #f0f0f0;
-}
-::-webkit-resizer {
- background: #f0f0f0;
-}
-/**
- * ===========================================================================
- * WM
- * ===========================================================================
- */
-body[data-attention="true"]:after {
- background-color: #242424;
-}
-corewm-panel {
- color: #ffffff;
- /* Window Manager manages this */
- font-size: 0;
- padding: 4px;
-}
-corewm-panel:before {
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-corewm-panel-container {
- padding: 8px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-container {
- width: calc(100% - 8px);
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-container {
- height: calc(100% - 8px);
-}
-corewm-panel corewm-panel-item .corewm-panel-buttons > li {
- cursor: pointer;
- font-size: 12px;
-}
-corewm-panel[data-orientation="horizontal"] corewm-panel-item .corewm-panel-buttons > li {
- margin-right: 4px;
- margin-left: 4px;
-}
-corewm-panel[data-orientation="vertical"] corewm-panel-item .corewm-panel-buttons > li {
- margin-top: 4px;
- margin-bottom: 4px;
-}
-corewm-panel .PanelItemClock {
- font-family: Monospace, Courier New;
- font-weight: normal;
- text-align: right;
-}
-corewm-panel .PanelItemWindowList li {
- opacity: .50;
-}
-corewm-panel .PanelItemWindowList li.Focused {
- opacity: 1;
-}
-corewm-panel .PanelItemWindowList li img {
- margin-right: 4px;
-}
-html[dir="rtl"] corewm-panel .PanelItemWindowList li img {
- margin-right: 0;
- margin-left: 4px;
-}
-/* Notifications */
-application-splash {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #6dabf4;
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
- cursor: pointer;
-}
-.custom-notification {
- color: #fff;
- /* Window Manager manages this */
-}
-corewm-notifications {
- top: 10px;
- right: 10px;
-}
-corewm-notification {
- color: #fff;
- /* Window Manager manages this */
- cursor: pointer;
- padding: 8px;
- margin-bottom: 4px;
-}
-.custom-notification:before,
-corewm-notification:before {
- content: '';
- background: #101010;
- /* Window Manager manages this */
- box-shadow: 0px 0px 10px 1px rgba(34, 34, 34, 0.3);
- opacity: .85;
-}
-.custom-notification .Title,
-corewm-notification .Title {
- font-weight: bold;
-}
-.custom-notification .Title,
-.custom-notification .Message,
-corewm-notification .Title,
-corewm-notification .Message {
- line-height: 16px;
-}
-/* Desktop drop wallpaper effect */
-#Background.Blinking {
- background: #fff;
-}
-/* Window Switcher */
-corewm-window-switcher {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- background: #6dabf4;
-}
-corewm-window-switcher > div.Active {
- background: #2d73d2;
-}
-corewm-window-switcher > div.Active > span {
- color: #ffffff;
-}
-corewm-search {
- padding: 4px;
- min-width: 200px;
- max-width: 40%;
- right: 10px;
- top: 10px;
-}
-corewm-search > div {
- margin-top: 4px;
-}
-corewm-search > ul {
- margin-top: 4px;
- cursor: pointer;
-}
-corewm-search > ul > li {
- padding: 4px;
- padding-left: 24px;
-}
-corewm-search > ul > li > img {
- top: 4px;
- left: 4px;
-}
-corewm-search > ul > .active,
-corewm-search > ul > li:hover {
- background: #fff;
- color: #000;
-}
-/**
- * ===========================================================================
- * WINDOW
- * ===========================================================================
- */
-application-window {
- opacity: 0.8;
- margin-top: 30px;
-}
-application-window:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.3);
- background: #6dabf4;
- top: calc(-35px);
- left: -5px;
- right: -5px;
- bottom: -5px;
-}
-application-window[data-focused="true"] {
- opacity: 1.0;
-}
-application-window[data-focused="true"]:before {
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
-}
-application-window[data-dnd-state="true"]:after {
- top: -30px;
-}
-application-window-top {
- top: -30px;
- height: 30px;
-}
-application-window-top application-window-icon {
- width: 30px;
-}
-/* application-window-content {overflow : hidden;}*/
-application-window-top:active {
- cursor: move;
- cursor: pointer;
-}
-application-window-title {
- font-weight: bold;
- color: #242424;
- opacity: .5;
- left: 24px;
- line-height: 30px;
- text-align: center;
-}
-application-window-title:active {
- cursor: move;
- cursor: pointer;
-}
-application-window[data-focused="true"] application-window-title {
- opacity: 1;
-}
-.application-window-button-entry {
- width: 22px;
- text-align: center;
- cursor: pointer;
-}
-application-window-resize {
- cursor: move;
-}
-application-window-top,
-application-window-top > * {
- cursor: default;
-}
-application-window-loading {
- background: #000;
- opacity: 0.8;
-}
-application-window-loading-indicator {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 50%;
- top: 50%;
- margin-left: -24px;
- margin-top: -24px;
-}
-application-window-loading-indicator:before {
- display: block;
- content: '';
- width: 44px;
- height: 44px;
- border-top: 4px solid #fff;
- border-right: 4px solid #666;
- border-left: 4px solid #666;
- border-bottom: 4px solid #fff;
- border-radius: 100%;
- -webkit-animation: windowloadinganim 0.75s linear infinite;
- -moz-animation: windowloadinganim 0.75s linear infinite;
- -ms-animation: windowloadinganim 0.75s linear infinite;
- animation: windowloadinganim 0.75s linear infinite;
-}
-application-window[data-dnd-state="true"]:after {
- border: 4px solid rgba(0, 0, 0, 0.7);
- border-radius: 1px;
- -webkit-border-top-left-radius: 3px;
- -moz-border-top-left-radius: 3px;
- border-top-left-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- -moz-border-top-right-radius: 3px;
- border-top-right-radius: 3px;
- margin: -4px;
-}
-application-window-disabled {
- background: #000;
- opacity: 0.5;
- cursor: not-allowed;
-}
-application-window-warning {
- background: #FFB800;
- color: #fff;
- border-color: #DF9F15;
- height: 30px;
- line-height: 20px;
- margin: 4px;
- border: 1px solid transparent;
-}
-application-window-warning > div:nth-child(1) {
- padding: 4px;
-}
-application-window-warning > div:nth-child(2) {
- right: 20px;
- padding: 4px;
-}
-application-window-warning > div:nth-child(1):hover {
- color: #111;
- cursor: pointer;
- opacity: .9;
-}
-application-window-resize {
- top: -38px;
- left: -8px;
- right: -8px;
- bottom: -8px;
-}
-/**
- * ===========================================================================
- * CONTAINERS
- * ===========================================================================
- */
-/* Container */
-gui-container {
- margin: 4px;
-}
-gui-container[data-borders="true"] {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-/* Box */
-gui-hbox-container > .gui-element,
-gui-vbox-container > .gui-element {
- margin: 4px;
-}
-gui-hbox-container[data-fill='true'] > *,
-gui-vbox-container[data-fill='true'] > * {
- width: calc(100% - 8px);
- height: calc(100% - 8px);
-}
-gui-hbox-container > .perc-100 {
- height: calc(100% - 8px);
-}
-gui-vbox-container > .perc-100 {
- width: calc(100% - 8px);
-}
-gui-hbox-container > .perc-90 {
- height: calc(90% - 8px);
-}
-gui-vbox-container > .perc-90 {
- width: calc(90% - 8px);
-}
-gui-hbox-container > .perc-80 {
- height: calc(80% - 8px);
-}
-gui-vbox-container > .perc-80 {
- width: calc(80% - 8px);
-}
-gui-hbox-container > .perc-70 {
- height: calc(70% - 8px);
-}
-gui-vbox-container > .perc-70 {
- width: calc(70% - 8px);
-}
-gui-hbox-container > .perc-60 {
- height: calc(60% - 8px);
-}
-gui-vbox-container > .perc-60 {
- width: calc(60% - 8px);
-}
-gui-hbox-container > .perc-50 {
- height: calc(50% - 8px);
-}
-gui-vbox-container > .perc-50 {
- width: calc(50% - 8px);
-}
-gui-hbox-container > .perc-40 {
- height: calc(40% - 8px);
-}
-gui-vbox-container > .perc-40 {
- width: calc(40% - 8px);
-}
-gui-hbox-container > .perc-30 {
- height: calc(30% - 8px);
-}
-gui-vbox-container > .perc-30 {
- width: calc(30% - 8px);
-}
-gui-hbox-container > .perc-20 {
- height: calc(20% - 8px);
-}
-gui-vbox-container > .perc-20 {
- width: calc(20% - 8px);
-}
-gui-hbox-container > .perc-10 {
- height: calc(10% - 8px);
-}
-gui-vbox-container > .perc-10 {
- width: calc(10% - 8px);
-}
-/* Paned View */
-gui-paned-view > gui-paned-view-handle {
- min-width: 8px;
- width: 8px;
- cursor: ew-resize;
-}
-gui-paned-view[data-orientation='vertical'] > gui-paned-view-handle {
- min-width: auto;
- width: auto;
- min-height: 8px;
- height: 8px;
- cursor: ns-resize;
-}
-/* IFrame */
-gui-iframe {
- background-color: #ffffff;
-}
-gui-iframe > iframe {
- background-color: #ffffff;
-}
-/* Button Bar */
-/* Toolbar */
-gui-toolbar > *,
-gui-button-bar > *,
-gui-toolbar > gui-expander > *,
-gui-button-bar > gui-expander > * {
- margin: 4px;
-}
-gui-toolbar > gui-expander,
-gui-button-bar > gui-expander {
- margin: 0;
-}
-gui-toolbar[data-orientation="vertical"] {
- margin-left: 0;
- margin-right: 0;
- margin-top: 4px;
- margin-bottom: 4px;
-}
-/* Expander */
-gui-expander {
- font-size: 12px;
-}
-gui-expander-label {
- cursor: pointer;
- padding: 4px;
- background-color: #f5f6f8;
- margin-bottom: 4px;
-}
-gui-expander-label:before {
- content: '▼';
- font-family: sans-serif;
- padding-right: 4px;
-}
-gui-expander[data-expanded="false"] > gui-expander-label:before {
- content: '►';
-}
-/* Tabs */
-gui-tabs > ul {
- height: 25px;
-}
-gui-tabs > ul > li {
- padding-left: 8px;
- padding-right: 8px;
- cursor: pointer;
- background-color: #f5f6f8;
- border: 1px solid transparent;
- border-bottom: 0 none;
- line-height: 25px;
-}
-gui-tabs > ul > li.gui-active {
- background-color: transparent;
- border-color: #dbdbdb;
-}
-gui-tabs > ul > li.gui-active:after {
- bottom: -1px;
- border-bottom: 1px solid #6dabf4;
-}
-gui-tabs > gui-tab-container {
- height: calc(100% - 25px);
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-/* Button Bar */
-/**
- * ===========================================================================
- * INPUTS
- * ===========================================================================
- */
-/* Label */
-gui-label {
- height: 26px;
- line-height: 26px;
-}
-gui-hbox-container > gui-label,
-gui-vbox-container > gui-label {
- height: 16px;
- line-height: 16px;
- min-height: 16px;
-}
-/* Button */
-gui-button {
- height: 26px;
-}
-gui-button[data-icon-size="32"] {
- height: 42px;
-}
-gui-button button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-button button:focus {
- outline: 0 none transparent;
-}
-gui-button button.gui-active,
-gui-button button:active {
- border-color: #242424;
- color: #242424;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f8f8f8 0%, #f4f4f4 100%);
-}
-gui-button button.gui-active:disabled,
-gui-button button:disabled:active,
-gui-button button:disabled {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-button button:disabled img {
- opacity: .5;
-}
-gui-button button:disabled {
- cursor: default;
- color: #727272;
-}
-gui-button button.gui-has-image img {
- padding-right: 4px;
-}
-gui-button.gui-has-image.gui-has-label button {
- padding-left: 28px;
-}
-gui-button[data-icon-size="32"].gui-has-image.gui-has-label button {
- padding-left: 44px;
-}
-/* Checkbox Button */
-/* Radio Button */
-gui-radio,
-gui-checkbox {
- height: 26px;
-}
-gui-radio input,
-gui-checkbox input {
- text-align: center;
- background: #ffffff;
- border: 1px solid #dbdbdb;
- width: 16px;
- height: 16px;
- line-height: 12px;
- color: #242424;
- font-family: Arial;
-}
-gui-radio input:focus,
-gui-checkbox input:focus {
- outline: 0 none transparent;
-}
-gui-radio input {
- -webkit-border-radius: 16px;
- -moz-border-radius: 16px;
- -ms-border-radius: 16px;
- border-radius: 16px;
-}
-gui-radio input:checked:after {
- content: "\2022";
- font-size: 32px;
-}
-gui-checkbox input:checked:after {
- content: "\2713";
- font-size: 12px;
-}
-gui-radio[data-disabled="true"] label,
-gui-checkbox[data-disabled="true"] label {
- color: #727272;
-}
-gui-radio input:disabled,
-gui-checkbox input:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
-}
-gui-radio > label,
-gui-checkbox > label {
- line-height: 26px;
-}
-gui-radio > label > span,
-gui-checkbox > label > span {
- padding-left: 4px;
-}
-/* Select Dropdown */
-gui-select {
- height: 26px;
-}
-gui-select select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding-right: 20px;
-}
-gui-select select:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-select select:focus {
- outline: 0 none transparent;
-}
-gui-select:before {
- right: 1px;
- top: 1px;
- bottom: 1px;
- width: 22px;
- background: #ffffff;
-}
-gui-select:after {
- content: '<>';
- font: 11px "Consolas", monospace;
- color: #dbdbdb;
- right: 2px;
- top: 5px;
- padding: 0 0 2px;
- border-bottom: 1px solid #dbdbdb;
- -webkit-transform: rotate(90deg);
- -moz-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-gui-select[data-disabled="true"]:before {
- background-color: #e6e6e6;
-}
-/* Select List */
-gui-select-list select {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-select-list select:focus {
- outline: 0 none transparent;
-}
-gui-select-list select:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-/* Slider */
-gui-slider {
- height: 26px;
-}
-gui-slider input {
- background: transparent;
- border: 0 none;
- height: 26px;
-}
-/*
- * RANGE TRACK
- */
-gui-slider input::-moz-range-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-gui-slider input::-webkit-slider-runnable-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-gui-slider input::-ms-track {
- height: 4px;
- background-color: #f5f6f8;
-}
-/*
- * RANGE THUMB
- */
-gui-slider input::-moz-range-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 18px;
- width: 10px;
-}
-gui-slider input:disabled::-moz-range-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-slider input::-webkit-slider-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 24px;
- width: 16px;
- margin-top: -10px;
-}
-gui-slider input:disabled::-webkit-range-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-slider input::-ms-thumb {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- height: 24px;
- width: 16px;
-}
-gui-slider input:disabled::-ms-thumb {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-/**
- * MISC
- */
-gui-slider input[type=range]::-ms-fill-lower {
- border: 0 none;
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]::-ms-fill-upper {
- border: 0 none;
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]:focus::-ms-fill-lower {
- background-color: #f5f6f8;
-}
-gui-slider input[type=range]:focus::-ms-fill-upper {
- background-color: #f5f6f8;
-}
-/* Switch */
-gui-switch {
- height: 26px;
-}
-gui-switch div {
- width: 48px;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- cursor: pointer;
- padding: 0;
-}
-gui-switch button {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-switch button:focus {
- outline: 0 none transparent;
-}
-gui-switch > label > div {
- margin-left: 4px;
-}
-gui-switch[data-disabled="true"] button {
- border-color: #d9d9d9;
- color: #242424;
- background-color: #e6e6e6;
- background: #e6e6e6;
-}
-gui-switch[data-disabled="true"] div {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
- padding: 0;
-}
-gui-switch[data-disabled="true"] button,
-gui-switch[data-disabled="true"] label {
- color: #727272;
-}
-/* Text Field */
-/* Password Field */
-gui-password,
-gui-text {
- height: 26px;
-}
-gui-password input,
-gui-text input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-password > label > input,
-gui-text > label > input {
- margin-left: 4px;
-}
-gui-password input:disabled,
-gui-text input:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-password input:focus,
-gui-text input:focus {
- outline: 0 none transparent;
-}
-gui-password[data-disabled="true"] label,
-gui-text[data-disabled="true"] label {
- color: #727272;
-}
-/* Text Area */
-gui-textarea textarea {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-textarea textarea:focus {
- outline: 0 none transparent;
-}
-gui-textarea textarea:disabled {
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-textarea[data-disabled="true"] label {
- color: #727272;
-}
-/* Rich Text */
-gui-richtext {
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-richtext > iframe {
- background-color: #ffffff;
-}
-/* Grid */
-gui-grid > gui-grid-row > gui-grid-entry {
- /* li */
- margin: 4px;
-}
-/* Modal Input */
-gui-input-modal input {
- cursor: pointer;
- padding: 4px;
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- border-color: #d9d9d9;
- background-color: #e6e6e6;
- color: #727272;
-}
-gui-input-modal button {
- margin-left: 4px;
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
- padding-left: 8px;
- padding-right: 8px;
-}
-gui-input-modal button:focus {
- outline: 0 none transparent;
-}
-/**
- * ===========================================================================
- * MISC
- * ===========================================================================
- */
-/* Video */
-/* Color Swatch */
-gui-color-swatch {
- border: 1px solid #dbdbdb;
-}
-/* Color Box */
-gui-color-box {
- cursor: pointer;
- padding: 4px;
- background-color: #f8f8f8;
- background: linear-gradient(to bottom, #f1f1f1 0%, #e5e5e5 100%);
- border: 1px solid #ababab;
- color: #242424;
-}
-gui-color-box > div {
- background: #fff;
-}
-/* Menu */
-gui-menu {
- border: 1px solid transparent;
- background: #fff;
- box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.6);
- color: #242424;
-}
-gui-menu > gui-menu-entry {
- color: #242424;
-}
-gui-menu > gui-menu-entry > label {
- cursor: pointer;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 16px;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry.gui-menu-expand {
- padding-right: 0;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry[data-icon] {
- padding-right: 16px;
-}
-gui-menu > gui-menu-entry.gui-menu-expand:after {
- content: '►';
- font-family: sans-serif;
- line-height: 18px;
- padding: 4px;
-}
-gui-menu > gui-menu-entry.gui-hover,
-gui-menu > gui-menu-entry:hover {
- background-color: #2d73d2;
-}
-gui-menu > gui-menu-entry.gui-hover > label,
-gui-menu > gui-menu-entry:hover > label {
- color: #ffffff;
-}
-gui-menu > gui-menu-entry {
- background-position: 4px center;
-}
-html[dir="rtl"] gui-menu > gui-menu-entry {
- background-position: right 4px center;
-}
-gui-menu > gui-menu-entry > label.gui-has-image {
- padding-left: 22px;
-}
-gui-menu > gui-menu-entry[data-disabled="true"],
-gui-menu > gui-menu-entry[data-disabled="true"] > label {
- color: #727272;
-}
-/* Menu Bar */
-gui-menu-bar {
- padding-left: 4px;
- padding-right: 4px;
-}
-gui-menu-bar-entry {
- cursor: pointer;
- padding: 4px;
-}
-gui-menu-bar-entry:hover {
- background: #2d73d2;
- color: #ffffff;
-}
-gui-menu-bar-entry[data-disabled="true"] > span {
- color: #727272;
-}
-/* Progressbar */
-gui-progress-bar {
- display: block;
- height: 26px;
-}
-gui-progress-bar:before {
- background-color: #f5f6f8;
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-gui-progress-bar > div {
- background: #2d73d2 url('/themes/styles/default/gui/progressbar.png') repeat-x center;
-}
-gui-progress-bar > span {
- color: #fff;
-}
-/* Statusbar */
-gui-statusbar {
- margin: 4px;
- padding-bottom: 4px;
-}
-/**
- * ===========================================================================
- * VIEWS
- * ===========================================================================
- */
-/* Icon View */
-gui-icon-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
- padding: 4px;
-}
-gui-icon-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-icon-view-entry {
- cursor: pointer;
- margin: 2px;
- padding: 2px;
- text-align: center;
- min-width: 60px !important;
- min-height: 60px !important;
-}
-gui-icon-view-entry.gui-active {
- background: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-icon-view-entry.gui-active > div > span {
- background: rgba(45, 115, 210, 0.8);
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active {
- background: #2d73d2;
-}
-gui-icon-view.gui-element-focused gui-icon-view-entry.gui-active > div > span {
- background: #2d73d2;
-}
-/* List View */
-gui-list-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-list-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-list-view-head {
- background-color: #f5f6f8;
-}
-gui-list-view[data-zebra="true"] gui-list-view-body gui-list-view-row:nth-child(2n) {
- background-color: #F9F9F9;
- color: inherit;
-}
-gui-list-view-column {
- padding: 4px;
-}
-gui-list-view-column.gui-has-image {
- padding-left: 24px;
- background-position: 4px;
-}
-html[dir="rtl"] gui-list-view gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 24px;
- background-position: right 4px center;
-}
-gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 40px;
-}
-html[dir="rtl"] gui-list-view[data-icon-size="32"] gui-list-view-column.gui-has-image {
- padding-left: 0;
- padding-right: 40px;
-}
-gui-list-view-row.gui-active {
- background-color: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-list-view.gui-element-focused gui-list-view-row.gui-active {
- background-color: #2d73d2;
-}
-gui-list-view-column-resizer {
- cursor: ew-resize;
- width: 3px;
- right: 0px;
-}
-gui-list-view-column-resizer:after {
- background: #dbdbdb;
-}
-/* Tree View */
-gui-tree-view {
- background-color: #ffffff;
- border: 1px solid #dbdbdb;
-}
-gui-tree-view.gui-element-focused {
- outline: 0 none transparent;
-}
-gui-tree-view-entry.dnd-over > div {
- font-weight: bold;
- text-decoration: underline;
-}
-gui-tree-view-entry > div {
- padding: 4px;
-}
-gui-tree-view-entry > div > span {
- cursor: pointer;
- padding: 2px;
-}
-gui-tree-view-entry > div > span.gui-has-image {
- padding-left: 20px;
-}
-gui-tree-view-entry > gui-tree-view-entry {
- margin-left: 16px;
-}
-gui-tree-view-entry > gui-tree-view-entry.gui-expandable {
- margin-left: 2px;
-}
-gui-tree-view-entry.gui-active > div {
- background-color: rgba(45, 115, 210, 0.8);
- color: #ffffff;
-}
-gui-tree-view.gui-element-focused gui-tree-view-entry.gui-active > div {
- background-color: #2d73d2;
-}
-gui-tree-view-entry.gui-expandable {
- padding-left: 16px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander {
- padding-left: 4px;
- cursor: pointer;
- line-height: 24px;
-}
-gui-tree-view-entry.gui-expandable gui-tree-view-expander:before {
- content: '\25BA';
- font-family: Arial;
- color: #dbdbdb;
-}
-gui-tree-view-entry.gui-expandable.gui-expanded > gui-tree-view-expander:before {
- content: '\25BC';
-}
-/**
- * Windows 8 Theme
- */
-gui-tabs > ul > li.gui-active:after {
- border-bottom: 1px solid #fff;
-}
-gui-progress-bar > div {
- background: #6dabf4;
-}
-application-window-top {
- height: 25px;
-}
-application-window-title {
- line-height: 25px;
-}
-application-window[data-focused="false"]:before {
- background: #ebebeb;
- border: 1px solid #d3d3d3;
-}
-application-window[data-focused="true"]:before {
- background: #6dabf4;
- border: 1px solid #5185be;
-}
-application-window-content {
- background: #ffffff;
- padding-top: 2px;
-}
-application-window-content[data-focused="false"] {
- border: 1px solid #5d93d1;
-}
-application-window-content[data-focused="true"] {
- border: 1px solid #dadada;
-}
-.application-window-button-entry {
- width: 26px;
- line-height: 20px;
- text-align: center;
- font-family: Arial;
- font-size: 10px;
- margin-top: -5px;
-}
-application-window-button-maximize {
- background: url('windows8/wm/maximize.png') no-repeat center center;
-}
-application-window-button-minimize {
- background: url('windows8/wm/minimize.png') no-repeat center center;
-}
-application-window-button-close {
- background: #c74f51 url('windows8/wm/close.png') no-repeat 49% center;
-}
-application-window-button-maximize:hover,
-application-window-button-minimize:hover {
- background-color: #5185be;
-}
-application-window-button-close:hover {
- background-color: #de1e19;
-}
-application-window-button-close {
- width: 45px !important;
-}
diff --git a/build/htdocs/dist/themes/styles/windows8.css.map b/build/htdocs/dist/themes/styles/windows8.css.map
deleted file mode 100644
index 785cdad..0000000
--- a/build/htdocs/dist/themes/styles/windows8.css.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["/Users/mrsang/Google Drive/ushare/IoTOS/OS.js/src/client/stylesheets/theme.less","input"],"names":[],"mappings":"AAAA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2JT;EACE,4BAAA;EACA,qBAAsB,gBAAtB;EACA,eAAgB,UAAhB;;AAIF;EACE,YAAA;EACA,cAAA;;AAGF;EACE,yBAAA;;AAEA,4BAA6B;EAC3B,YAAA;;AAEF,4BAA6B,IAAG,UAAU;EACxC,oCAAA;;AAGJ,sBAAsB;EACpB,yBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,SAAU,SAAV;;AAEF;EACE,WAAA;;;;;;;AASF;AAAM;AAAO;AAAQ;AAAU;AAAO;EACpC,8BAAA;EACA,mBAAA;EACA,kBAAA;EACA,eAAA;EACA,cAAA;;AAGF;EACE,WAAA;EACA,YAAA;;AAEF;EACE,mBAAA;EACA,cAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;AAEF;EACE,mBAAA;;;;;;;AASF,IAAI,uBAAuB;EACzB,yBAAA;;AAGF;EACE,cAAA;;EACA,YAAA;EACA,YAAA;;AAEF,YAAY;EACV,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF;EACE,YAAA;;AAEF,YAAY,+BAAgC;EAC1C,OAAQ,iBAAR;;AAEF,YAAY,6BAA8B;EACxC,QAAS,iBAAT;;AAGA,YAAa,kBAAkB,sBAAsB;EACnD,eAAA;EACA,eAAA;;AAEF,YAAY,+BAAgC,kBAAkB,sBAAsB;EAClF,iBAAA;EACA,gBAAA;;AAEF,YAAY,6BAA8B,kBAAkB,sBAAsB;EAChF,eAAA;EACA,kBAAA;;AAGJ,YAAa;EACX,mCAAA;EACA,mBAAA;EACA,iBAAA;;AAGF,YAAa,qBAAqB;EAChC,YAAA;;AAEF,YAAa,qBAAqB,GAAE;EAClC,UAAA;;AAEF,YAAa,qBAAqB,GAAG;EACnC,iBAAA;;AAEF,IAAI,WAAY,aAAa,qBAAqB,GAAG;EACnD,eAAA;EACA,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;EACA,kDAAA;EACA,YAAA;EACA,eAAA;;AAGF;EACE,WAAA;;;AAGF;EACE,SAAA;EACA,WAAA;;AAGF;EACE,WAAA;;EACA,eAAA;EACA,YAAA;EACA,kBAAA;;AAGA,oBAAoB;AACpB,mBAAmB;EACjB,SAAU,EAAV;EACA,mBAAA;;EACA,kDAAA;EACA,YAAA;;AAGF,oBAAqB;AACrB,mBAAoB;EAClB,iBAAA;;AAGF,oBAAqB;AACrB,oBAAqB;AACrB,mBAAoB;AACpB,mBAAoB;EAClB,iBAAA;;;AAIF,WAAW;EACT,gBAAA;;;AAIF;EACE,+CAAA;EACA,mBAAA;;AAEF,sBAAuB,MAAK;EAC1B,mBAAA;;AAEF,sBAAuB,MAAK,OAAQ;EAClC,cAAA;;AAGJ;EACE,YAAA;EACA,gBAAA;EACA,cAAA;EACA,WAAA;EACA,SAAA;;AAEA,aAAc;EACZ,eAAA;;AAEF,aAAc;EACZ,eAAA;EACA,eAAA;;AAEA,aAAc,KAAK;EACjB,YAAA;EACA,kBAAA;;AAEA,aAAc,KAAK,KAAK;EACtB,QAAA;EACA,SAAA;;AAEJ,aAAc,KAAK;AACnB,aAAc,KAAK,KAAI;EACrB,gBAAA;EACA,WAAA;;;;;;;AAQN;EACE,YAAA;EACA,gBAAA;;AAEF,kBAAkB;EAChB,+CAAA;EACA,mBAAA;EACA,KAAM,WAAN;EACA,UAAA;EACA,WAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,YAAA;;AAEF,kBAAkB,qBAAqB;EACrC,+CAAA;;AAEA,kBAAkB,uBAAuB;EACzC,UAAA;;AAEF;EACE,UAAA;EACA,YAAA;;AAFF,sBAIE;EACE,WAAA;;;AAMJ,sBAAsB;EACpB,YAAA;EACA,eAAA;;AAEF;EACE,iBAAA;EACA,cAAA;EACA,WAAA;EACA,UAAA;EACA,iBAAA;EACA,kBAAA;;AAEF,wBAAwB;EACtB,YAAA;EACA,eAAA;;AAEF,kBAAkB,qBAAsB;EACtC,UAAA;;AAEF;EACE,WAAA;EACA,kBAAA;EACA,eAAA;;AAEF;EACE,YAAA;;AAEF;AAAwB,sBAAuB;EAC7C,eAAA;;AAEF;EACE,gBAAA;EACA,YAAA;;AAEF;EACE,kBAAA;EACA,WAAA;EACA,YAAA;EACA,SAAA;EACA,QAAA;EACA,kBAAA;EACA,iBAAA;;AAEF,oCAAoC;EAClC,cAAA;EACA,SAAS,EAAT;EACA,WAAA;EACA,YAAA;EACA,0BAAA;EACA,4BAAA;EACA,2BAAA;EACA,6BAAA;EACA,mBAAA;EACA,0DAAA;EACG,uDAAA;EACC,sDAAA;EACI,kDAAA;;AAEV,kBAAkB,uBAAuB;EACvC,oCAAA;EACA,kBAAA;EA7XA,mCAAA;EACG,gCAAA;EACK,2BAAA;EACR,oCAAA;EACG,iCAAA;EACK,4BAAA;EA0XR,YAAA;;AAEF;EACE,gBAAA;EACA,YAAA;EACA,mBAAA;;AAEF;EACE,mBAAA;EACA,WAAA;EACA,qBAAA;EAEA,YAAA;EACA,iBAAA;EACA,WAAA;EACA,6BAAA;;AAEA,0BAA2B,MAAK,UAAU;EACxC,YAAA;;AAEF,0BAA2B,MAAK,UAAU;EACxC,WAAA;EACA,YAAA;;AAEF,0BAA2B,MAAK,UAAU,GAAG;EAC3C,WAAA;EACA,eAAA;EACA,WAAA;;AAEJ;EACE,UAAA;EACA,UAAA;EACA,WAAA;EACA,YAAA;;;;;;;;AAUF;EACE,WAAA;;AAEF,aAAa;EAnYX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;;AAqYA,kBAAmB;AACnB,kBAAmB;EACjB,WAAA;;AAGA,kBAAkB,kBAAmB;AACrC,kBAAkB,kBAAmB;EACnC,OAAQ,iBAAR;EACA,QAAS,iBAAT;;AAGF,kBAAmB;EACjB,QAAS,iBAAT;;AAEF,kBAAmB;EACjB,OAAQ,iBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;AAGF,kBAAmB;EACjB,QAAS,gBAAT;;AAEF,kBAAmB;EACjB,OAAQ,gBAAR;;;AAIN,cAAe;EACb,cAAA;EACA,UAAA;EACA,iBAAA;;AAEF,cAAc,6BAA8B;EAC1C,eAAA;EACA,WAAA;EACA,eAAA;EACA,WAAA;EACA,iBAAA;;;AAIF;EACE,yBAAA;;AAEA,UAAW;EACT,yBAAA;;;;AAKJ,WAAY;AACZ,cAAe;AACf,WAAY,eAAe;AAC3B,cAAe,eAAe;EAC5B,WAAA;;AAEF,WAAY;AACZ,cAAe;EACb,SAAA;;AAMF,WAAW;EACT,cAAA;EACA,eAAA;EACA,eAAA;EACA,kBAAA;;;AAIF;EACE,eAAA;;AAEA;EACE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,kBAAA;;AAEF,kBAAkB;EAChB,SAAU,GAAV;EACA,uBAAA;EACA,kBAAA;;AAEF,YAAY,uBAAwB,qBAAoB;EACtD,SAAU,GAAV;;;AAIF,QAAS;EACP,YAAA;;AAEA,QAAS,KAAK;EACZ,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,yBAAA;EACA,6BAAA;EACA,qBAAA;EACA,iBAAA;;AAEF,QAAS,KAAK,KAAI;EAChB,6BAAA;EACA,qBAAA;;AAEA,QAAS,KAAK,KAAI,WAAW;EAC3B,YAAA;EACA,gCAAA;;AAEN,QAAS;EACP,yBAAA;EACA,yBAAA;EACA,YAAA;;;;;;;;;AAYJ;EACE,YAAA;EACA,iBAAA;;AAEF,kBAAmB;AACnB,kBAAmB;EACjB,YAAA;EACA,iBAAA;EACA,gBAAA;;;AAIF;EACE,YAAA;;AAEF,UAAU;EACR,YAAA;;AAEA,UAAW;EAvmBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;;AAqmBA,UAAW,OAAM;EACf,2BAAA;;AAEF,UAAW,OAAM;AACjB,UAAW,OAAM;EAhmBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,YCjGqC,oDDiGrC;;AAgmBA,UAAW,OAAM,WAAW;AAC5B,UAAW,OAAM,SAAS;AAC1B,UAAW,OAAM;EA3mBjB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA2mBA,UAAW,OAAM,SAAU;EACzB,WAAA;;AAEF,UAAW,OAAM;EACf,eAAA;EACA,cAAA;;AAEF,UAAW,OAAM,cAAe;EAC9B,kBAAA;;AAEF,UAAU,cAAc,cAAe;EACrC,kBAAA;;AAEF,UAAU,qBAAqB,cAAc,cAAe;EAC1D,kBAAA;;;;AAKJ;AACA;EACE,YAAA;;AAEA,SAAU;AACV,YAAa;EACX,kBAAA;EACA,mBAAA;EACA,yBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,cAAA;EACA,kBAAA;;AAEF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,2BAAA;;AAGF,SAAU;EACR,2BAAA;EACG,wBAAA;EACC,uBAAA;EACI,mBAAA;;AAGV,SAAU,MAAK,QAAQ;EACrB,SAAS,OAAT;EACA,eAAA;;AAGF,YAAa,MAAK,QAAQ;EACxB,SAAS,OAAT;EACA,eAAA;;AAGF,SAAS,sBAAuB;AAChC,YAAY,sBAAuB;EACjC,cAAA;;AAGF,SAAU,MAAK;AACf,YAAa,MAAK;EAChB,qBAAA;EACA,yBAAA;;AAGF,SAAU;AACV,YAAa;EACX,iBAAA;;AAEF,SAAU,QAAQ;AAClB,YAAa,QAAQ;EACnB,iBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EA9qBX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EA6qBE,mBAAA;;AAEF,UAAW,OAAM;EA5qBjB,qBAAA;EACA,yBAAA;EACA,cAAA;;AA6qBA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAU;EACR,UAAA;EACA,QAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;;AAEF,UAAU;EACR,SAAS,IAAT;EACA,WAAW,qBAAX;EACA,cAAA;EACA,UAAA;EACA,QAAA;EACA,gBAAA;EACA,gCAAA;EAEA,mBAAmB,aAAnB;EACG,gBAAgB,aAAhB;EACC,eAAe,aAAf;EACI,WAAW,aAAX;;AAEV,UAAU,sBAAsB;EAC9B,yBAAA;;;AAIJ,eAAgB;EAntBd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAmtBA,eAAgB,OAAM;EACpB,2BAAA;;AAEJ,eAAgB,OAAM;EAntBpB,qBAAA;EACA,yBAAA;EACA,cAAA;;;AAstBF;EACE,YAAA;;AAEA,UAAW;EACT,uBAAA;EACA,cAAA;EACA,YAAA;;;;;AAOF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;AAGF,UAAW,MAAK;EACd,WAAA;EACA,yBAAA;;;;;AAOF,UAAW,MAAK;EAtxBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;EAmxBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAnxBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAoxBA,UAAW,MAAK;EA/xBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;EA4xBE,YAAA;EACA,WAAA;EACA,iBAAA;;AAEF,UAAW,MAAK,SAAS;EA7xBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AA8xBA,UAAW,MAAK;EAzyBhB,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;EAsyBE,YAAA;EACA,WAAA;;AAEF,UAAW,MAAK,SAAS;EAtyBzB,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;;;;AA0yBA,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY;EAC1B,cAAA;EACA,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;AAEF,UAAW,MAAK,YAAY,MAAM;EAChC,yBAAA;;;AAIJ;EACE,YAAA;;AAEA,UAAW;EACT,WAAA;EAhzBF,YAAA;EACA,yBAAA;EACA,yBAAA;EAizBE,eAAA;EACA,UAAA;;AAGF,UAAW;EAh1BX,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;;AA80BA,UAAW,OAAM;EACf,2BAAA;;AAGF,UAAW,QAAQ;EACjB,gBAAA;;AAGF,UAAU,sBAAuB;EAn1BjC,qBAAA;EACA,cAAA;EACA,yBAAA;EACA,mBAAA;;AAm1BA,UAAU,sBAAuB;EAh0BjC,qBAAA;EACA,yBAAA;EACA,cAAA;EAg0BE,UAAA;;AAGF,UAAU,sBAAuB;AACjC,UAAU,sBAAuB;EA/0BjC,cAAA;;;;AAq1BF;AACA;EACE,YAAA;;AAEA,YAAa;AACb,QAAS;EAv1BT,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAs1BE,iBAAA;EACA,kBAAA;;AAGF,YAAa,QAAQ;AACrB,QAAS,QAAQ;EACf,gBAAA;;AAGF,YAAa,MAAK;AAClB,QAAS,MAAK;EA71Bd,qBAAA;EACA,yBAAA;EACA,cAAA;;AA81BA,YAAa,MAAK;AAClB,QAAS,MAAK;EACZ,2BAAA;;AAGF,YAAY,sBAAuB;AACnC,QAAQ,sBAAuB;EA/2B/B,cAAA;;;AAq3BA,YAAa;EAl3Bb,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;;AAk3BA,YAAa,SAAQ;EACnB,2BAAA;;AAEF,YAAa,SAAQ;EAl3BrB,qBAAA;EACA,yBAAA;EACA,cAAA;;AAo3BA,YAAY,sBAAuB;EA/3BnC,cAAA;;;AAo4BF;EACE,YAAA;EACA,yBAAA;EACA,yBAAA;;AAEA,YAAa;EACX,yBAAA;;;AAIJ,QAAS,eAAe;;EACtB,WAAA;;;AAIF,eAAgB;EAh5Bd,eAAA;EACA,YAAA;EACA,yBAAA;EACA,yBAAA;EAGA,qBAAA;EACA,yBAAA;EACA,cAAA;;AA44BF,eAAgB;EACd,gBAAA;EA76BA,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;EA06BA,iBAAA;EACA,kBAAA;;AAEA,eAAgB,OAAM;EACpB,2BAAA;;;;;;;;;AAgBJ;EACE,yBAAA;;;AAIF;EAx8BE,eAAA;EACA,YAAA;EACA,yBAAA;EACA,YCxFqC,oDDwFrC;EACA,yBAAA;EACA,cAAA;;AAs8BA,aAAc;EACZ,gBAAA;;;AAIJ;EACE,6BAAA;EACA,gBAAA;EACA,+CAAA;EACA,cAAA;;AAEA,QAAS;EACP,cAAA;;AAEF,QAAS,iBAAiB;EACxB,eAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;EACvB,mBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,gBAAA;;AAEF,IAAI,WAAY,SAAS,iBAAgB;EACvC,mBAAA;;AAEF,QAAS,iBAAgB,gBAAgB;EACvC,SAAU,GAAV;EACA,uBAAA;EACA,iBAAA;EACA,YAAA;;AAGF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB;EACvB,yBAAA;;AAEF,QAAS,iBAAgB,UAAW;AACpC,QAAS,iBAAgB,MAAO;EAC9B,cAAA;;AAEA,QAAS;EACP,+BAAA;;AAEF,IAAI,WAAY,SAAS;EACvB,qCAAA;;AAEF,QAAS,iBAAiB,QAAO;EAC/B,kBAAA;;AAEF,QAAS,iBAAgB;AACzB,QAAS,iBAAgB,sBAAuB;EAC9C,cAAA;;;AAIN;EACE,iBAAA;EACA,kBAAA;;AAEA;EACE,eAAA;EACA,YAAA;;AAEF,kBAAkB;EAChB,mBAAA;EACA,cAAA;;AAEF,kBAAkB,sBAAuB;EACvC,cAAA;;;AAKJ;EACE,cAAA;EACA,YAAA;;AAEA,gBAAgB;EACd,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEF,gBAAiB;EACf,wBAtkC8D,6DAskC9D;;AAEF,gBAAiB;EACf,WAAA;;;AAIJ;EACE,WAAA;EACA,mBAAA;;;;;;;;AAUF;EACE,yBAAA;EACA,yBAAA;EACA,YAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,eAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,0BAAA;EACA,2BAAA;;AAGA,mBAAmB;EACjB,mCAAA;EACA,cAAA;;AAEF,mBAAmB,WAAY,MAAM;EACnC,mCAAA;;AAEF,aAAa,oBAAqB,oBAAmB;EACnD,mBAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY,MAAM;EACrE,mBAAA;;;AAIN;EACE,yBAAA;EACA,yBAAA;;AAEA,aAAa;EACX,2BAAA;;AAEF;EACE,yBAAA;;AAIE,aAAa,mBAAoB,mBAAmB,kBAAiB,UAAU;EAC7E,yBAAA;EACA,cAAA;;AAEF;EACE,YAAA;;AAEF,oBAAoB;EAClB,kBAAA;EACA,wBAAA;;AAEF,IAAI,WAAY,cAAc,qBAAoB;EAChD,eAAA;EACA,mBAAA;EACA,qCAAA;;AAGF,aAAa,qBAAsB,qBAAoB;EACrD,kBAAA;;AAEF,IAAI,WAAY,cAAa,qBAAsB,qBAAoB;EACrE,eAAA;EACA,mBAAA;;AAGJ,iBAAiB;EACf,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,kBAAiB;EACjD,yBAAA;;AAGF;EACE,iBAAA;EACA,UAAA;EACA,UAAA;;AAEA,4BAA4B;EAC1B,mBAAA;;;AAKR;EACE,yBAAA;EACA,yBAAA;;AAEE,aAAa;EACX,2BAAA;;AAEF,mBAAmB,SAAU;EAC3B,iBAAA;EACA,0BAAA;;AAEF,mBAAoB;EAClB,YAAA;;AAEF,mBAAoB,MAAM;EACxB,eAAA;EACA,YAAA;;AAEF,mBAAoB,MAAM,OAAM;EAC9B,kBAAA;;AAEF,mBAAoB;EAClB,iBAAA;;AAEF,mBAAoB,sBAAqB;EACvC,gBAAA;;AAEF,mBAAmB,WAAY;EAC7B,yCAAA;EACA,cAAA;;AAEF,aAAa,oBAAqB,oBAAmB,WAAY;EAC/D,yBAAA;;AAGJ,mBAAmB;EACjB,kBAAA;;AAEF,mBAAmB,eAAgB;EACjC,iBAAA;EACA,eAAA;EACA,iBAAA;;AAEF,mBAAmB,eAAgB,uBAAsB;EACvD,SAAU,OAAV;EACA,kBAAA;EACA,cAAA;;AAEF,mBAAmB,eAAe,aAAc,yBAAwB;EACtE,SAAU,OAAV;;;;;ACnwCJ,QAAS,KAAK,KAAI,WAAW;EAC3B,6BAAA;;AAEF,gBAAiB;EACf,mBAAA;;AAGF;EACE,YAAA;;AAEF;EACE,iBAAA;;AAGF,kBAAkB,sBAAsB;EACtC,mBAAA;EACA,yBAAA;;AAEF,kBAAkB,qBAAqB;EACrC,mBAAA;EACA,yBAAA;;AAEF;EACE,mBAAA;EACA,gBAAA;;AAEF,0BAA0B;EACxB,yBAAA;;AAEF,0BAA0B;EACxB,yBAAA;;AAGF;EACE,WAAA;EACA,iBAAA;EACA,kBAAA;EACA,kBAAA;EACA,eAAA;EACA,gBAAA;;AAEF;EACE,gBAAiB,mDAAjB;;AAEF;EACE,gBAAiB,mDAAjB;;AAEF;EACE,wBAAyB,6CAAzB;;AAEF,kCAAkC;AAClC,kCAAkC;EAChC,yBAAA;;AAEF,+BAA+B;EAC7B,yBAAA;;AAEF;EACE,sBAAA"}
\ No newline at end of file
diff --git a/build/htdocs/dist/themes/styles/windows8/theme.js b/build/htdocs/dist/themes/styles/windows8/theme.js
deleted file mode 100644
index ab07df7..0000000
--- a/build/htdocs/dist/themes/styles/windows8/theme.js
+++ /dev/null
@@ -1,27 +0,0 @@
-(function(API, Utils) {
- 'use strict';
-
- OSjs.Applications = OSjs.Applications || {};
- OSjs.Applications.CoreWM = OSjs.Applications.CoreWM || {};
-
- /////////////////////////////////////////////////////////////////////////////
- // API
- /////////////////////////////////////////////////////////////////////////////
-
- OSjs.Applications.CoreWM.CurrentTheme = {
- init: function() {
- },
-
- destroy: function() {
- },
-
- event: function(ev) {
- }
- };
-
- /////////////////////////////////////////////////////////////////////////////
- // EXPORTS
- /////////////////////////////////////////////////////////////////////////////
-
-
-})(OSjs.API, OSjs.Utils);
diff --git a/build/htdocs/dist/themes/styles/windows8/wm/close.png b/build/htdocs/dist/themes/styles/windows8/wm/close.png
deleted file mode 100644
index b9ac0b4..0000000
Binary files a/build/htdocs/dist/themes/styles/windows8/wm/close.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/windows8/wm/maximize.png b/build/htdocs/dist/themes/styles/windows8/wm/maximize.png
deleted file mode 100644
index c12d9e5..0000000
Binary files a/build/htdocs/dist/themes/styles/windows8/wm/maximize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/windows8/wm/minimize.png b/build/htdocs/dist/themes/styles/windows8/wm/minimize.png
deleted file mode 100644
index cd66992..0000000
Binary files a/build/htdocs/dist/themes/styles/windows8/wm/minimize.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/styles/windows8/wm/wm.png b/build/htdocs/dist/themes/styles/windows8/wm/wm.png
deleted file mode 100644
index 39733cf..0000000
Binary files a/build/htdocs/dist/themes/styles/windows8/wm/wm.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/diamond_upholstery.png b/build/htdocs/dist/themes/wallpapers/diamond_upholstery.png
deleted file mode 100644
index 1c4701a..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/diamond_upholstery.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_blue.png b/build/htdocs/dist/themes/wallpapers/noise_blue.png
deleted file mode 100644
index caffba5..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_blue.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_emerald.png b/build/htdocs/dist/themes/wallpapers/noise_emerald.png
deleted file mode 100644
index 701161e..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_emerald.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_green.png b/build/htdocs/dist/themes/wallpapers/noise_green.png
deleted file mode 100644
index 7eef459..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_green.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_orange.png b/build/htdocs/dist/themes/wallpapers/noise_orange.png
deleted file mode 100644
index 9e4bdae..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_orange.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_pink.png b/build/htdocs/dist/themes/wallpapers/noise_pink.png
deleted file mode 100644
index fc473e7..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_pink.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_purple.png b/build/htdocs/dist/themes/wallpapers/noise_purple.png
deleted file mode 100644
index 376cc96..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_purple.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/noise_red.png b/build/htdocs/dist/themes/wallpapers/noise_red.png
deleted file mode 100644
index 7c2ebf6..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/noise_red.png and /dev/null differ
diff --git a/build/htdocs/dist/themes/wallpapers/wallpaper.png b/build/htdocs/dist/themes/wallpapers/wallpaper.png
deleted file mode 100644
index 803ed02..0000000
Binary files a/build/htdocs/dist/themes/wallpapers/wallpaper.png and /dev/null differ
diff --git a/build/htdocs/dist/vendor/.gitignore b/build/htdocs/dist/vendor/.gitignore
deleted file mode 100644
index e69de29..0000000
diff --git a/build/htdocs/dist/vendor/dropbox.js b/build/htdocs/dist/vendor/dropbox.js
deleted file mode 120000
index 09e8a48..0000000
--- a/build/htdocs/dist/vendor/dropbox.js
+++ /dev/null
@@ -1 +0,0 @@
-../../vendor/dropbox-js/lib/dropbox.js
\ No newline at end of file
diff --git a/build/htdocs/dist/vendor/dropbox.min.map b/build/htdocs/dist/vendor/dropbox.min.map
deleted file mode 120000
index bbaff7d..0000000
--- a/build/htdocs/dist/vendor/dropbox.min.map
+++ /dev/null
@@ -1 +0,0 @@
-../../vendor/dropbox-js/lib/dropbox.min.map
\ No newline at end of file
diff --git a/build/htdocs/dist/vendor/dropboxOauthReceiver.html b/build/htdocs/dist/vendor/dropboxOauthReceiver.html
deleted file mode 100644
index 459a09c..0000000
--- a/build/htdocs/dist/vendor/dropboxOauthReceiver.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
- Dropbox sign-in successful
- Please close this window.
-
-
diff --git a/build/htdocs/dist/vendor/html2canvas b/build/htdocs/dist/vendor/html2canvas
deleted file mode 120000
index fa1fbb7..0000000
--- a/build/htdocs/dist/vendor/html2canvas
+++ /dev/null
@@ -1 +0,0 @@
-../../vendor/html2canvas/dist
\ No newline at end of file
diff --git a/build/htdocs/dist/vendor/wlOauthReceiver.html b/build/htdocs/dist/vendor/wlOauthReceiver.html
deleted file mode 100644
index 9510e8a..0000000
--- a/build/htdocs/dist/vendor/wlOauthReceiver.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- Windows Live sign-in successful
- Please close this window.
-
-
diff --git a/build/htdocs/dist/vendor/zip.js b/build/htdocs/dist/vendor/zip.js
deleted file mode 120000
index e3e2067..0000000
--- a/build/htdocs/dist/vendor/zip.js
+++ /dev/null
@@ -1 +0,0 @@
-../../vendor/zip.js
\ No newline at end of file