def onAdd(self): p = ApplicationManager() if not p.get_services(): self.viewComponent.show_add_file_warning() return if not self.f: self.f = FileChooser(p.get_services(), self.viewComponent) self.f.okButton.clicked.connect(self.onFileDialogOK) self.f.cancelButton.clicked.connect(self.onFileDialogCancel) self.f.closeEvent = self.onFileDialogCancel self.f.show() else: self.f.activateWindow()
def __init__(self, viewComponent): super(CompactWindowMediator, self).__init__(CompactWindowMediator.NAME, viewComponent) self.proxy = self.facade.retrieveProxy(model.modelProxy.ModelProxy.NAME) p = ApplicationManager() for s in p.get_services(): self.viewComponent.items[s].droppedSignal.connect(self.onDrop) self.viewComponent.setVisible(True)
def execute(self, notification): proxy = model.modelProxy.ModelProxy() self.facade.registerProxy(proxy) systray = notification.getBody() self.facade.registerMediator(SysTrayMediator(systray)) self.facade.registerMediator(HistoryWindowMediator(HistoryWindow())) p = ApplicationManager() used_services = p.get_services() service_folders = proxy.get_service_folders(used_services) if not used_services: systray.show_message(self.no_service_title, self.no_service_body, duration=5000) stored_settings = p.get_general_settings() s = Settings(used_services, service_folders, stored_settings) self.facade.registerMediator(SettingsMediator(s)) #TODO:The compact window must not have a taskbar entry, the solution to this is to draw it #through a dummy parent widget that is never shown. c = CompactWindow(p.get_services(), p.get_orientation(), p.get_pos('Compact'), 0) self.facade.registerMediator(CompactWindowMediator(c)) d = DetailedWindow(version.__version__, p.get_pos('Detailed'), p.get_size(), p.get_maximized(), 0, s) self.facade.registerMediator(DetailedWindowMediator(d)) #Initialize the UI components to behave according to the stored settings. self.facade.sendNotification(AppFacade.AppFacade.SETTINGS_HISTORY_CLOSE_ON_SHARE, stored_settings[strings.popup_checkbox]) self.facade.sendNotification(AppFacade.AppFacade.SETTINGS_DETAILED_MINIMIZE_ON_CLOSE, stored_settings[strings.close_checkbox]) proxy.start_uploads()