New media permission, show dialog when not enabled for voice msg

UI now in separate renderer:
  - the permissions popup
  - settings dialog
  - debug log dialog
  - about window

Couple bug fixes:
  - About Window: Fix 'escape' to close window
  - Remove outdated dist/copy tasks from Gruntfile

Eslintified settings_view.js
This commit is contained in:
Scott Nonnenberg 2018-07-03 15:33:50 -07:00
parent 9d9a797bda
commit ad4387803b
33 changed files with 1192 additions and 383 deletions

View file

@ -123,6 +123,54 @@
}
first = false;
// These make key operations available to IPC handlers created in preload.js
window.Events = {
getDeviceName: () => textsecure.storage.user.getDeviceName(),
getThemeSetting: () => storage.get('theme-setting'),
setThemeSetting: value => {
storage.put('theme-setting', value);
onChangeTheme();
},
getHideMenuBar: () => storage.get('hide-menu-bar'),
setHideMenuBar: value => {
storage.get('hide-menu-bar', value);
window.setAutoHideMenuBar(value);
window.setMenuBarVisibility(!value);
},
getNotificationSetting: () =>
storage.get('notification-setting', 'message'),
setNotificationSetting: value =>
storage.get('notification-setting', value),
getAudioNotification: () => storage.get('audio-notification'),
setAudioNotification: value => storage.put('audio-notification', value),
// eslint-disable-next-line eqeqeq
isPrimary: () => textsecure.storage.user.getDeviceId() == '1',
getSyncRequest: () =>
new Promise((resolve, reject) => {
const syncRequest = window.getSyncRequest();
syncRequest.addEventListener('success', resolve);
syncRequest.addEventListener('timeout', reject);
}),
getLastSyncTime: () => storage.get('synced_at'),
setLastSyncTime: value => storage.put('synced_at', value),
addDarkOverlay: () => {
if ($('.dark-overlay').length) {
return;
}
$(document.body).prepend('<div class="dark-overlay"></div>');
$('.dark-overlay').on('click', () => $('.dark-overlay').remove());
},
removeDarkOverlay: () => $('.dark-overlay').remove(),
deleteAllData: () => {
const clearDataView = new window.Whisper.ClearDataView().render();
$('body').append(clearDataView.el);
},
};
try {
await ConversationController.load();
} finally {
@ -208,16 +256,6 @@
Whisper.events.on('showDebugLog', () => {
appView.openDebugLog();
});
Whisper.events.on('showSettings', () => {
if (!appView || !appView.inboxView) {
console.log(
"background: Event: 'showSettings':" +
' Expected `appView.inboxView` to exist.'
);
return;
}
appView.inboxView.showSettings();
});
Whisper.events.on('unauthorized', () => {
appView.inboxView.networkStatusView.update();
});