diff --git a/app/model/Service.js b/app/model/Service.js index e108fa3c..69caa3d5 100644 --- a/app/model/Service.js +++ b/app/model/Service.js @@ -61,5 +61,9 @@ Ext.define('Rambox.model.Service', { name: 'zoomLevel' ,type: 'number' ,defaultValue: 0 + },{ + name: 'css' + ,type: 'string' + ,defaultValue: '' }] }); diff --git a/app/model/ServiceList.js b/app/model/ServiceList.js index 5225372e..30af25ba 100644 --- a/app/model/ServiceList.js +++ b/app/model/ServiceList.js @@ -51,5 +51,9 @@ Ext.define('Rambox.model.ServiceList', { name: 'dont_update_unread_from_title' ,type: 'boolean' ,defaultValue: false + },{ + name: 'css' + ,type: 'string' + ,defaultValue: '' }] }); diff --git a/app/ux/WebView.js b/app/ux/WebView.js index 75ac68a1..d47d38c2 100644 --- a/app/ux/WebView.js +++ b/app/ux/WebView.js @@ -326,6 +326,10 @@ Ext.define('Rambox.ux.WebView',{ // Scroll always to top (bug) webview.executeJavaScript('document.body.scrollTop=0;'); + // Inject CSS + webview.insertCSS(Ext.getStore('ServicesList').getById(me.record.get('type')).get('css')); // native + webview.insertCSS(me.record.get('css')); // custom + // Handles Certificate Errors webview.getWebContents().on('certificate-error', function(event, url, error, certificate, callback) { if ( me.record.get('trust') ) { diff --git a/app/view/add/Add.js b/app/view/add/Add.js index ca4cde5e..b55b382b 100644 --- a/app/view/add/Add.js +++ b/app/view/add/Add.js @@ -202,6 +202,15 @@ Ext.define('Rambox.view.add.Add',{ ,anchor: '100%' ,height: 120 } + ,{ + xtype: 'textarea' + ,fieldLabel: 'Custom CSS (read more)' + ,allowBlank: true + ,name: 'css' + ,value: me.edit ? me.record.get('css') : '' + ,anchor: '100%' + ,height: 120 + } ] } ,{ diff --git a/app/view/add/AddController.js b/app/view/add/AddController.js index af8acb4e..6b5a28b4 100644 --- a/app/view/add/AddController.js +++ b/app/view/add/AddController.js @@ -38,6 +38,7 @@ Ext.define('Rambox.view.add.AddController', { ,includeInGlobalUnreadCounter: formValues.includeInGlobalUnreadCounter ,trust: formValues.trust ,js_unread: formValues.js_unread + ,css: formValues.css }); var view = Ext.getCmp('tab_'+win.record.get('id')); @@ -89,6 +90,7 @@ Ext.define('Rambox.view.add.AddController', { ,includeInGlobalUnreadCounter: formValues.includeInGlobalUnreadCounter ,trust: formValues.trust ,js_unread: formValues.js_unread + ,css: formValues.css }); service.save(); Ext.getStore('Services').add(service);