def _create_text_input(self, form_item, val, form_view): if form_item.secure: control = NSSecureTextField.createNormalSecureTextFieldWithFont_initialValue_placeholder_(self._system_font, val, form_item.placeholder) else: control = NSTextField.createNormalTextFieldWithFont_initialValue_placeholder_(self._system_font, val, form_item.placeholder) setattr(self.current_panel, form_item.attr, val) control.setDelegate_(self) control_label = NSTextField.createLabelWithText_font_(form_item.label, self._system_font) self._form_y_offset -= NSHeight(control.frame()) control.setFrame_(NSMakeRect(self._center_point, self._form_y_offset, form_item.width, NSHeight(control.frame()))) control_label.placeRelativeToControl_(control) if form_item.sublabel: sublabel = NSTextField.createLabelWithText_font_(form_item.sublabel, self._small_system_font) self._form_y_offset -= sublabel.frame().size.height sublabel.setFrameOrigin_(NSPoint(control.frame().origin.x - LABEL_PADDING - sublabel.frame().size.width, self._form_y_offset)) form_view.addSubview_(sublabel) return (control, control_label)
def _create_choice(self, form_item, val, form_view): control_label = NSTextField.createLabelWithText_font_(form_item.label, self._system_font) control = NSPopUpButton.createNormalPopUpButtonWithChoices_default_(form_item.choices, val) control.setAction_(self.popupAction_) self._form_y_offset -= NSHeight(control.frame()) control.setFrameOrigin_(NSPoint(self._center_point - 3, self._form_y_offset)) if form_item.width != -1: f = control.frame() control.setFrameSize_((form_item.width, NSHeight(f))) control_label.placeRelativeToControl_(control) return (control, control_label)
def _create_date(self, form_item, val, form_view): gregorian = NSCalendar.alloc().initWithCalendarIdentifier_(NSGregorianCalendar) control_label = NSTextField.createLabelWithText_font_(form_item.label, self._system_font) control = NSDatePicker.alloc().initWithFrame_(NSZeroRect) control.setCalendar_(gregorian) control.setDatePickerElements_(NSYearMonthDatePickerElementFlag) control.setDrawsBackground_(YES) control.setDateValue_(NSDate.date()) control.setMinDate_(NSDate.date()) control.setMaxDate_(NSDate.dateWithString_('2029-12-31 23:59:59 +0600')) control.sizeToFit() control.setAction_(self.datePickerAction_) self._form_y_offset -= NSHeight(control.frame()) control.setFrameOrigin_(NSPoint(self._center_point, self._form_y_offset)) control_label.placeRelativeToControl_(control) return (control, control_label)
def initWithDropboxApp_initialIgnoreList_takeAction_callback_remote_(self, dropbox_app, initial_ignore_list, take_action, callback, remote): self = super(SelectiveSyncView, self).initWithFrame_(NSZeroRect) if self is None: return self._initial_ignore_list = initial_ignore_list self._callback = callback self._take_action = take_action self._remote = remote self.setAutoresizingMask_(NSViewWidthSizable | NSViewHeightSizable) self._dropbox_app = dropbox_app self.initBrowser(self._remote) self.initButtons() f = NSFont.systemFontOfSize_(NSFont.smallSystemFontSize()) self.infoLabel = NSTextField.createLabelWithText_font_(selsync_strings.info, f) self.addSubview_(self.infoLabel) self.reloadInvalidState() self.layoutForWidth_(DEFAULT_ADVANCED_WIDTH if self.forest.advanced_view else DEFAULT_SIMPLE_WIDTH) return self
def _create_flag_choice(self, form_item, val, form_view): control_label = NSTextField.createLabelWithText_font_(form_item.label, self._system_font) control = FlagPopUpButton(NSZeroRect, FLAG_WIDTH) control.sizeToFit() control.setAction_(self.popupAction_) self._form_y_offset -= NSHeight(control.frame()) control.setFrameOrigin_(NSPoint(self._center_point - 3, self._form_y_offset)) if form_item.width != -1: f = control.frame() control.setFrameSize_((form_item.width, NSHeight(f))) control_label.placeRelativeToControl_(control) menu = control.menu() for choice in form_item.choices: img, name, phonecode = choice title = u'%s %s' % (name, phonecode) item = NSMenuItem.alloc().initWithTitle_action_keyEquivalent_(title, None, '') if img: item.setImage_(img) menu.addItem_(item) control.selectItemAtIndex_(val) return (control, control_label)
def layout(self): self._thumbnail = ThumbnailBoxView.alloc().initWithFrame_(NSZeroRect) self._thumbnail.setImage_(Images.Box64) self._thumbnail.setImageAlignment_(NSImageAlignCenter) self._thumbnail.setImageScaling_(NSScaleToFit) self._thumbnail.setFrameSize_(self.THUMBNAIL_SIZE) self._thumbnail.setFrameOrigin_(self.THUMBNAIL_ORIGIN) self._thumbnail.setShadowOffset_(self.SHADOW_OFFSET) self._thumbnail.setShadowBlurRadius_(self.SHADOW_BLUR) self._thumbnail.setShadowColor_(NSColor.blackColor().colorWithAlphaComponent_(0.3)) self._label = NSTextField.createLabelWithText_font_('', NSFont.boldSystemFontOfSize_(13)) self._label.setFrameOrigin_(self.LABEL_ORIGIN) self._progress_bar = NSProgressIndicator.alloc().initWithFrame_(NSRect(self.PROGRESS_ORIGIN, self.PROGRESS_SIZE)) self._progress_bar.setStyle_(NSProgressIndicatorBarStyle) self._progress_bar.setIndeterminate_(YES) self._progress_bar.setFrameOrigin_(self.PROGRESS_ORIGIN) self._estimate = NSTextField.createLabelWithText_font_('', NSFont.systemFontOfSize_(NSFont.smallSystemFontSize())) self._estimate.setFrameOrigin_(self.ESTIMATE_ORIGIN) self._hide_button = self.addNormalRoundButtonWithTitle_action_(MiscStrings.hide_button, self.handleHideButton_) self._hide_button.setKeyEquivalent_(ENTER_KEY) self._hide_button.alignRightInSuperview() self._hide_button.alignBottomInSuperview() self._cancel_button = self.addNormalRoundButtonWithTitle_action_(MiscStrings.cancel_button, self.handleCancelButton_) self._cancel_button.placeLeftOfButton_(self._hide_button) self.addSubview_(self._thumbnail) self.addSubview_(self._label) self.addSubview_(self._progress_bar) self.addSubview_(self._estimate) @message_sender(AppHelper.callAfter) def handleMessage(message): self._label.setStringValue_(message) self._label.sizeToFit() @message_sender(AppHelper.callAfter) def handleTotalBytes(total_bytes): self._progress_bar.setIndeterminate_(YES if total_bytes == 0 else NO) self._progress_bar.setMinValue_(0.0) self._progress_bar.setMaxValue_(total_bytes) self._progress_bar.setDoubleValue_(self.ui.cur_bytes.get()) @message_sender(AppHelper.callAfter) def handleCurBytes(cur_bytes): self._progress_bar.setDoubleValue_(cur_bytes) self._estimate.setStringValue_(self.ui.get_remaining_message()) self._estimate.sizeToFit() @message_sender(AppHelper.callAfter) def handleLastPhoto(path): if path: if time.time() - self.last_photo_time > self.THUMBNAIL_TIMEOUT: image = NSImage.alloc().initByReferencingFile_(unicode(path)) if image.isValid(): self._thumbnail.setBorder_(True) self._thumbnail.setImage_(image) self.last_photo_time = time.time() else: self._thumbnail.setBorder_(False) self._thumbnail.setImage_(Images.Box64) handleMessage(self.ui.message.get()) handleTotalBytes(self.ui.total_bytes.get()) handleCurBytes(self.ui.cur_bytes.get()) handleLastPhoto(self.ui.last_photo.get()) self.ui.message.register(handleMessage) self.ui.total_bytes.register(handleTotalBytes) self.ui.cur_bytes.register(handleCurBytes) self.ui.last_photo.register(handleLastPhoto)