diff --git a/app/Application.js b/app/Application.js
index d2b0f888..1ddad10e 100644
--- a/app/Application.js
+++ b/app/Application.js
@@ -39,8 +39,8 @@ Ext.define('Rambox.Application', {
const defaults =[
{
"position": 1,
- "type": "custom",
- "logo": "",
+ "type": "info",
+ "logo": "custom.png",
"name": "Info",
"url": "https://tools.diehumanisten.de",
"align": "left",
@@ -52,13 +52,14 @@ Ext.define('Rambox.Application', {
"enabled": true,
"js_unread": "",
"zoomLevel": 0,
- "id": 11
+ "id": 11,
+ "removable": false
},
{
"position": 2,
"type": "slack",
"logo": "slack.png",
- "name": "Chat (Slack)",
+ "name": "Slack",
"url": "https://pgs-diehumanisten.slack.com/",
"align": "left",
"notifications": true,
@@ -69,7 +70,8 @@ Ext.define('Rambox.Application', {
"enabled": true,
"js_unread": "",
"zoomLevel": 0,
- "id": 1
+ "id": 1,
+ "removable": false
},
{
"position": 3,
@@ -86,7 +88,8 @@ Ext.define('Rambox.Application', {
"enabled": true,
"js_unread": "",
"zoomLevel": 0,
- "id": 10
+ "id": 10,
+ "removable": false
},
{
"position": 4,
@@ -103,7 +106,8 @@ Ext.define('Rambox.Application', {
"enabled": true,
"js_unread": "",
"zoomLevel": 0,
- "id": 16
+ "id": 16,
+ "removable": false
},
{
@@ -121,7 +125,8 @@ Ext.define('Rambox.Application', {
"enabled": true,
"js_unread": "",
"zoomLevel": 0,
- "id": 18
+ "id": 18,
+ "removable": false
}, {
"position": 6,
"type": "facebook",
diff --git a/app/model/Service.js b/app/model/Service.js
index e108fa3c..61346cf3 100644
--- a/app/model/Service.js
+++ b/app/model/Service.js
@@ -57,9 +57,13 @@ Ext.define('Rambox.model.Service', {
name: 'js_unread'
,type: 'string'
,defaultValue: ''
- },{
- name: 'zoomLevel'
- ,type: 'number'
- ,defaultValue: 0
+ }, {
+ name: 'zoomLevel'
+ , type: 'number'
+ , defaultValue: 0
+ }, {
+ name: 'removable'
+ ,type: 'boolean'
+ ,defaultValue: true
}]
});
diff --git a/app/model/ServiceList.js b/app/model/ServiceList.js
index 5225372e..0082a712 100644
--- a/app/model/ServiceList.js
+++ b/app/model/ServiceList.js
@@ -47,9 +47,13 @@ Ext.define('Rambox.model.ServiceList', {
name: 'custom_domain'
,type: 'boolean'
,defaultValue: false
+ }, {
+ name: 'dont_update_unread_from_title'
+ , type: 'boolean'
+ , defaultValue: false
},{
- name: 'dont_update_unread_from_title'
+ name: 'removable'
,type: 'boolean'
- ,defaultValue: false
+ ,defaultValue: true
}]
});
diff --git a/app/store/Services.js b/app/store/Services.js
index cb38447f..3e1b30d4 100644
--- a/app/store/Services.js
+++ b/app/store/Services.js
@@ -47,6 +47,7 @@ Ext.define('Rambox.store.Services', {
,src: service.get('url')
,type: service.get('type')
,muted: service.get('muted')
+ ,removable: service.get('removable')
,includeInGlobalUnreadCounter: service.get('includeInGlobalUnreadCounter')
,displayTabUnreadCounter: service.get('displayTabUnreadCounter')
,enabled: service.get('enabled')
diff --git a/app/store/ServicesList.js b/app/store/ServicesList.js
index 8f21e373..97d26bed 100644
--- a/app/store/ServicesList.js
+++ b/app/store/ServicesList.js
@@ -34,7 +34,7 @@ Ext.define('Rambox.store.ServicesList', {
logo: 'wiki.png' ,
name: 'WikiMedia' ,
url: 'http://___/wiki',
- type: 'mitglieder'
+ type: 'mitglieder',
},
{
id: 'slack'
@@ -92,6 +92,14 @@ Ext.define('Rambox.store.ServicesList', {
,type: 'custom'
,allow_popups: true
},
+ {
+ id: 'info'
+ ,logo: 'custom.png'
+ ,name: 'Infos'
+ ,description: 'Infoseite zu unseren Plattformen'
+ ,url: '___'
+ ,type: 'mitglied'
+ },
{
id: 'roundcube'
,logo: 'roundcube.png'
diff --git a/app/view/add/Add.js b/app/view/add/Add.js
index ca4cde5e..51d699e7 100644
--- a/app/view/add/Add.js
+++ b/app/view/add/Add.js
@@ -26,6 +26,9 @@ Ext.define('Rambox.view.add.Add',{
,initComponent: function() {
var me = this;
+ const removable = !me.record.get('removable');
+
+ console.log("NOT REMOVABLE: ", removable);
me.title = (!me.edit ? 'Add ' : 'Edit ') + me.record.get('name');
me.icon = me.record.get('type') === 'custom' ? (!me.edit ? 'resources/icons/custom.png' : (me.record.get('logo') === '' ? 'resources/icons/custom.png' : me.record.get('logo'))) : 'resources/icons/'+me.record.get('logo');
@@ -40,6 +43,7 @@ Ext.define('Rambox.view.add.Add',{
,name: 'serviceName'
,allowBlank: true
,listeners: { specialkey: 'onEnter' }
+ ,disabled: removable
}
,{
xtype: 'container'
@@ -58,6 +62,7 @@ Ext.define('Rambox.view.add.Add',{
,vtype: me.record.get('url') === '___' ? 'url' : ''
,width: 275
,listeners: { specialkey: 'onEnter' }
+ ,disabled: removable
}
,{
xtype: 'cycle'
@@ -79,7 +84,8 @@ Ext.define('Rambox.view.add.Add',{
,disabled: me.edit ? !me.service.get('custom_domain') : !me.record.get('custom_domain')
}
]
- }
+ ,disabled: removable
+ }
// Fixes bug EXTJS-20094 for version Ext JS 5
,arrowHandler: function(cycleBtn, e) {
if ( !cycleBtn.arrowVisible ) cycleBtn.hideMenu();
@@ -107,7 +113,9 @@ Ext.define('Rambox.view.add.Add',{
,{
xtype: 'hiddenfield'
,name: 'cycleValue'
- ,value: me.edit ? (me.service.get('custom_domain') && me.service.get('url') === me.record.get('url') ? 1 : (!Ext.String.endsWith(me.record.get('url'), me.service.get('url').split('___')[1]) ? 2 : 1)) : 1
+ ,disabled: removable
+
+ ,value: me.edit ? (me.service.get('custom_domain') && me.service.get('url') === me.record.get('url') ? 1 : (!Ext.String.endsWith(me.record.get('url'), me.service.get('url').split('___')[1]) ? 2 : 1)) : 1
}
]
}
@@ -122,23 +130,25 @@ Ext.define('Rambox.view.add.Add',{
,hidden: me.record.get('type') !== 'custom'
,margin: '5 0 0 0'
,listeners: { specialkey: 'onEnter' }
- }
+ ,disabled: removable
+ }
,{
xtype: 'fieldset'
- ,title: 'Options'
+ ,title: 'Einstellungen'
,margin: '10 0 0 0'
,items: [
{
xtype: 'checkbox'
- ,boxLabel: 'Align to Right'
+ ,boxLabel: 'Rechts anordnen'
,checked: me.edit ? (me.record.get('align') === 'right' ? true : false) : false
,name: 'align'
,uncheckedValue: 'left'
,inputValue: 'right'
+ ,disabled: removable
}
,{
xtype: 'checkbox'
- ,boxLabel: 'Show notifications'
+ ,boxLabel: 'Benachrichtigungen anzeigen'
,name: 'notifications'
,checked: me.edit ? me.record.get('notifications') : true
,uncheckedValue: false
@@ -146,7 +156,7 @@ Ext.define('Rambox.view.add.Add',{
}
,{
xtype: 'checkbox'
- ,boxLabel: 'Mute all sounds'
+ ,boxLabel: 'Stummschalten'
,name: 'muted'
,checked: me.edit ? me.record.get('muted') : false
,uncheckedValue: false
@@ -165,12 +175,12 @@ Ext.define('Rambox.view.add.Add',{
},
{
xtype: 'fieldset',
- title: 'Unread counter',
+ title: 'Zähler für ungelesene Nachrichten',
margin: '10 0 0 0',
items: [
{
xtype: 'checkbox',
- boxLabel: 'Display tab unread counter',
+ boxLabel: 'Zähler im Tab anzeigen',
name: 'displayTabUnreadCounter',
checked: me.edit ? me.record.get('displayTabUnreadCounter') : true,
uncheckedValue: false,
@@ -178,7 +188,7 @@ Ext.define('Rambox.view.add.Add',{
},
{
xtype: 'checkbox',
- boxLabel: 'Include in global unread counter',
+ boxLabel: 'Zum allgemeinen Zähler dazurechnen',
name: 'includeInGlobalUnreadCounter',
checked: me.edit ? me.record.get('includeInGlobalUnreadCounter') : true,
uncheckedValue: false,
@@ -201,7 +211,9 @@ Ext.define('Rambox.view.add.Add',{
,value: me.edit ? me.record.get('js_unread') : ''
,anchor: '100%'
,height: 120
+ ,disabled: function(view, rowIndex, colIndex, item, record) {return !record.get('editable'); }
}
+
]
}
,{
diff --git a/app/view/main/Main.js b/app/view/main/Main.js
index 0afb4420..3d183902 100644
--- a/app/view/main/Main.js
+++ b/app/view/main/Main.js
@@ -37,7 +37,7 @@ Ext.define('Rambox.view.main.Main', {
,items: [
{
xtype: 'panel'
- ,title: 'Add a new Service'
+ ,title: 'Unsere Plattformen'
,margin: '0 5 0 0'
,flex: 1
,header: { height: 50 }
@@ -131,7 +131,7 @@ Ext.define('Rambox.view.main.Main', {
}
,{
xtype: 'grid'
- ,title: 'Enabled Services'
+ ,title: 'Konfigurierte Plattformen'
,store: 'Services'
,hideHeaders: true
,margin: '0 0 0 5'
@@ -153,9 +153,9 @@ Ext.define('Rambox.view.main.Main', {
xtype: 'button'
,glyph: 'xf1f8@FontAwesome'
,baseCls: ''
- ,tooltip: 'Zurücksetzen'
+ ,tooltip: 'Alles zurücksetzen'
,handler: 'removeAllServices'
- ,title: 'Zurücksetzen'
+ ,title: 'Alles zurücksetzen'
}
]
,columns: [
@@ -208,6 +208,7 @@ Ext.define('Rambox.view.main.Main', {
}
,{
glyph: 0xf1f8
+ ,isDisabled: function(view, rowIndex, colIndex, item, record) { return !record.get('removable')}
,tooltip: 'Remove'
,handler: 'removeService'
,getClass: function(){ return 'x-hidden-display'; }
@@ -247,7 +248,7 @@ Ext.define('Rambox.view.main.Main', {
,items: [
{
glyph: 'xf1f7@FontAwesome'
- ,text: 'Don\'t Disturb: '+(JSON.parse(localStorage.getItem('dontDisturb')) ? 'ON' : 'OFF')
+ ,text: 'Nicht stören: '+(JSON.parse(localStorage.getItem('dontDisturb')) ? 'An' : 'Aus')
,tooltip: 'Disable notifications and sounds in all services. Perfect to be concentrated and focused.
Shortcut key: F1'
,enableToggle: true
,handler: 'dontDisturb'
@@ -257,7 +258,7 @@ Ext.define('Rambox.view.main.Main', {
}
,{
glyph: 'xf023@FontAwesome'
- ,text: 'Lock Rambox'
+ ,text: 'Passwortsperre'
,tooltip: 'Lock this app if you will be away for a period of time.
Shortcut key: F2'
,handler: 'lockRambox'
,id: 'lockRamboxBtn'
diff --git a/app/view/main/MainController.js b/app/view/main/MainController.js
index dd6ce59e..00fa655d 100644
--- a/app/view/main/MainController.js
+++ b/app/view/main/MainController.js
@@ -87,7 +87,7 @@ Ext.define('Rambox.view.main.MainController', {
,removeService: function( gridView, rowIndex, colIndex, col, e, rec, rowEl ) {
var me = this;
- Ext.Msg.confirm('Please confirm...', 'Are you sure you want to remove '+rec.get('name')+'?', function(btnId) {
+ Ext.Msg.confirm('Bitte bestätige...', 'Bist du sicher, dass du ' + rec.get('name') + ' löschen möchtest?', function(btnId) {
if ( btnId === 'yes' ) me.removeServiceFn(rec.get('id'));
});
}
@@ -99,7 +99,7 @@ Ext.define('Rambox.view.main.MainController', {
document.title = 'HumanistenBox';
if ( btn ) {
- Ext.Msg.confirm('Please confirm...', 'Are you sure you want to remove all services?', function(btnId) {
+ Ext.Msg.confirm('Bitte bestätige...', 'Bist du sicher, dass du das Programm auf den Ausganszustand zurücksetzen möchtest?', function(btnId) {
if ( btnId === 'yes' ) {
Ext.cq1('app-main').suspendEvent('remove');
Ext.Array.each(Ext.getStore('Services').collect('id'), function(serviceId) {
@@ -208,13 +208,13 @@ Ext.define('Rambox.view.main.MainController', {
localStorage.setItem('dontDisturb', btn.pressed);
- btn.setText('Don\'t Disturb: ' + ( btn.pressed ? 'ON' : 'OFF' ));
+ btn.setText('Nicht stören: ' + ( btn.pressed ? 'An' : 'Aus' ));
// If this method is called from Lock method, prevent showing toast
if ( !e ) return;
Ext.toast({
- html: btn.pressed ? 'ENABLED' : 'DISABLED'
- ,title: 'Don\'t Disturb'
+ html: btn.pressed ? 'An' : 'Aus'
+ ,title: 'Nicht stören'
,width: 200
,align: 't'
,closable: false
@@ -224,7 +224,7 @@ Ext.define('Rambox.view.main.MainController', {
,lockRambox: function(btn) {
var me = this;
- var msgbox = Ext.Msg.prompt('Lock Rambox', 'Enter a temporal password to unlock it later', function(btnId, text) {
+ var msgbox = Ext.Msg.prompt('Passwortsperre', 'Enter a temporal password to unlock it later', function(btnId, text) {
if ( btnId === 'ok' ) {
var msgbox2 = Ext.Msg.prompt('Lock Rambox', 'Repeat the temporal password', function(btnId, text2) {
if ( btnId === 'ok' ) {