def __init__(self, event, typeChangable=True, isNew=False, useSelectedDate=False, **kwargs): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) #self.set_transient_for(None) #self.set_type_hint(gdk.WindowTypeHint.NORMAL) self.isNew = isNew #self.connect('delete-event', lambda obj, e: self.destroy()) #self.resize(800, 600) ### dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), gtk.ResponseType.CANCEL) dialog_add_button(self, gtk.STOCK_OK, _('_OK'), gtk.ResponseType.OK) ### self.connect('response', lambda w, e: self.hide()) ### self.activeWidget = None self._group = event.parent self.eventTypeOptions = list(self._group.acceptsEventTypes) #### if not event.name in self.eventTypeOptions: self.eventTypeOptions.append(event.name) eventTypeIndex = self.eventTypeOptions.index(event.name) #### self.event = event ####### if isNew and not event.timeZone: event.timeZone = str(core.localTz)## why? FIXME ####### hbox = gtk.HBox() pack(hbox, gtk.Label( _('Group') + ': ' + self._group.title )) hbox.show_all() pack(self.vbox, hbox) ####### hbox = gtk.HBox() pack(hbox, gtk.Label(_('Event Type'))) if typeChangable: combo = gtk.ComboBoxText() for tmpEventType in self.eventTypeOptions: combo.append_text(event_lib.classes.event.byName[tmpEventType].desc) pack(hbox, combo) #### combo.set_active(eventTypeIndex) #### #self.activeWidget = makeWidget(event) combo.connect('changed', self.typeChanged) self.comboEventType = combo else: pack(hbox, gtk.Label(': '+event.desc)) pack(hbox, gtk.Label(''), 1, 1) hbox.show_all() pack(self.vbox, hbox) ##### if useSelectedDate: self.event.setJd(ui.cell.jd) self.activeWidget = makeWidget(event) if self.isNew: self.activeWidget.focusSummary() pack(self.vbox, self.activeWidget, 1, 1) self.vbox.show()
def __init__(self, group=None, **kwargs): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) self.isNew = (group is None) self.set_title(_('Add New Group') if self.isNew else _('Edit Group')) #self.connect('delete-event', lambda obj, e: self.destroy()) #self.resize(800, 600) ### dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), gtk.ResponseType.CANCEL) dialog_add_button(self, gtk.STOCK_OK, _('_OK'), gtk.ResponseType.OK) self.connect('response', lambda w, e: self.hide()) ####### self.activeWidget = None ####### hbox = gtk.HBox() combo = gtk.ComboBoxText() for cls in event_lib.classes.group: combo.append_text(cls.desc) pack(hbox, gtk.Label(_('Group Type'))) pack(hbox, combo) pack(hbox, gtk.Label(''), 1, 1) pack(self.vbox, hbox) #### if self.isNew: self._group = event_lib.classes.group[event_lib.defaultGroupTypeIndex]() combo.set_active(event_lib.defaultGroupTypeIndex) else: self._group = group combo.set_active(event_lib.classes.group.names.index(group.name)) self.activeWidget = None combo.connect('changed', self.typeChanged) self.comboType = combo self.vbox.show_all() self.typeChanged()
def main(): ''' try: import psyco except ImportError: print('Warning: module "psyco" not found. It could speed up execution.') psyco_found=False else: psyco.full() print('Using module "psyco" to speed up execution.') psyco_found=True''' statusIconMode = 2 action = '' if ui.showMain: action = 'show' if len(sys.argv)>1: if sys.argv[1] in ('--no-tray-icon', '--no-status-icon'): statusIconMode = 0 action = 'show' elif sys.argv[1]=='--hide': action = '' elif sys.argv[1]=='--show': action = 'show' #elif sys.argv[1]=='--html':#???????????? # action = 'html' #elif sys.argv[1]=='--svg':#???????????? # action = 'svg' ############################### ui.init() ############################### checkEventsReadOnly(False) ## right place? FIXME if core.BRANCH == 'master' and versionLessThan(event_lib.info.version, '2.3.0'): from scal3.ui_gtk.event.bulk_save_timezone import BulkSaveTimeZoneDialog BulkSaveTimeZoneDialog(parent=None).run() event_lib.info.updateAndSave() ############################### mainWin = MainWin(statusIconMode=statusIconMode) #if action=='html': # mainWin.exportHtml('calendar.html') ## exportHtml(path, months, title) # sys.exit(0) #elif action=='svg': # mainWin.export.exportSvg('%s/2010-01.svg'%core.deskDir, [(2010, 1)]) # sys.exit(0) if action=='show' or not mainWin.sicon: mainWin.present() ##ud.rootWindow.set_cursor(gdk.Cursor.new(gdk.CursorType.LEFT_PTR))#??????????? #mainWin.app.run(None) ex = 0 try: ex = gtk.main() except KeyboardInterrupt: print('You pressed Control+C, Goodbye') core.stopRunningThreads() except Exception as e: core.stopRunningThreads() raise e return ex
def main(): """ try: import psyco except ImportError: print("Warning: module "psyco" not found. It could speed up execution.") psyco_found=False else: psyco.full() print("Using module "psyco" to speed up execution.") psyco_found=True""" statusIconMode = 2 action = "" if ui.showMain: action = "show" if len(sys.argv) > 1: if sys.argv[1] in ("--no-tray-icon", "--no-status-icon"): statusIconMode = 0 action = "show" elif sys.argv[1] == "--hide": action = "" elif sys.argv[1] == "--show": action = "show" #elif sys.argv[1] == "--html":#???????????? # action = "html" #elif sys.argv[1] == "--svg":#???????????? # action = "svg" ############################### ui.init() ############################### listener.dateChange.add(hijri_gtk.HijriMonthsExpirationListener()) hijri_gtk.checkHijriMonthsExpiration() ############################### checkEventsReadOnly(False) ## right place? FIXME event_lib.info.updateAndSave() ############################### mainWin = MainWin(statusIconMode=statusIconMode) #if action == "html": # mainWin.exportHtml("calendar.html") ## exportHtml(path, months, title) # sys.exit(0) #elif action == "svg": # mainWin.export.exportSvg("%s/2010-01.svg"%core.deskDir, [(2010, 1)]) # sys.exit(0) if action == "show" or not mainWin.sicon: mainWin.present() #ud.rootWindow.set_cursor(gdk.Cursor.new(gdk.CursorType.LEFT_PTR)) # ^ FIXME #mainWin.app.run(None) signal.signal(signal.SIGINT, mainWin.quit) return gtk.main()
def main(): ''' try: import psyco except ImportError: print('Warning: module "psyco" not found. It could speed up execution.') psyco_found=False else: psyco.full() print('Using module "psyco" to speed up execution.') psyco_found=True''' statusIconMode = 2 action = '' if ui.showMain: action = 'show' if len(sys.argv)>1: if sys.argv[1] in ('--no-tray-icon', '--no-status-icon'): statusIconMode = 0 action = 'show' elif sys.argv[1]=='--hide': action = '' elif sys.argv[1]=='--show': action = 'show' #elif sys.argv[1]=='--html':#???????????? # action = 'html' #elif sys.argv[1]=='--svg':#???????????? # action = 'svg' ############################### ui.init() ############################### checkEventsReadOnly(False) ## right place? FIXME event_lib.info.updateAndSave() ############################### mainWin = MainWin(statusIconMode=statusIconMode) #if action=='html': # mainWin.exportHtml('calendar.html') ## exportHtml(path, months, title) # sys.exit(0) #elif action=='svg': # mainWin.export.exportSvg('%s/2010-01.svg'%core.deskDir, [(2010, 1)]) # sys.exit(0) if action=='show' or not mainWin.sicon: mainWin.present() ##ud.rootWindow.set_cursor(gdk.Cursor.new(gdk.CursorType.LEFT_PTR))#??????????? #mainWin.app.run(None) signal.signal(signal.SIGINT, mainWin.quit) return gtk.main()
def __init__(self, **kwargs): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) self.set_title(_("Edit Trash")) #self.connect("delete-event", lambda obj, e: self.destroy()) #self.resize(800, 600) ### dialog_add_button( self, gtk.STOCK_CANCEL, _("_Cancel"), gtk.ResponseType.CANCEL, ) dialog_add_button( self, gtk.STOCK_OK, _("_OK"), gtk.ResponseType.OK, ) ## self.connect("response", lambda w, e: self.hide()) ####### self.trash = ui.eventTrash ## sizeGroup = gtk.SizeGroup(gtk.SizeGroupMode.HORIZONTAL) ####### hbox = gtk.HBox() label = gtk.Label(_("Title")) label.set_alignment(0, 0.5) pack(hbox, label) sizeGroup.add_widget(label) self.titleEntry = gtk.Entry() pack(hbox, self.titleEntry, 1, 1) pack(self.vbox, hbox) #### hbox = gtk.HBox() label = gtk.Label(_("Icon")) label.set_alignment(0, 0.5) pack(hbox, label) sizeGroup.add_widget(label) self.iconSelect = IconSelectButton() pack(hbox, self.iconSelect) pack(hbox, gtk.Label(""), 1, 1) pack(self.vbox, hbox) #### self.vbox.show_all() self.updateWidget()
def __init__(self, **kwargs): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) self.set_title(_('Edit Trash')) #self.connect('delete-event', lambda obj, e: self.destroy()) #self.resize(800, 600) ### dialog_add_button(self, gtk.STOCK_CANCEL, _('_Cancel'), gtk.ResponseType.CANCEL) dialog_add_button(self, gtk.STOCK_OK, _('_OK'), gtk.ResponseType.OK) ## self.connect('response', lambda w, e: self.hide()) ####### self.trash = ui.eventTrash ## sizeGroup = gtk.SizeGroup(gtk.SizeGroupMode.HORIZONTAL) ####### hbox = gtk.HBox() label = gtk.Label(_('Title')) label.set_alignment(0, 0.5) pack(hbox, label) sizeGroup.add_widget(label) self.titleEntry = gtk.Entry() pack(hbox, self.titleEntry, 1, 1) pack(self.vbox, hbox) #### hbox = gtk.HBox() label = gtk.Label(_('Icon')) label.set_alignment(0, 0.5) pack(hbox, label) sizeGroup.add_widget(label) self.iconSelect = IconSelectButton() pack(hbox, self.iconSelect) pack(hbox, gtk.Label(''), 1, 1) pack(self.vbox, hbox) #### self.vbox.show_all() self.updateWidget()
def eventManCreate(self): checkEventsReadOnly() ## FIXME if not ui.eventManDialog: from scal3.ui_gtk.event.manager import EventManagerDialog ui.eventManDialog = EventManagerDialog(parent=self)
def __init__( self, event, **kwargs ): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) self.set_title(_("History") + ": " + event.summary) self.event = event self.objectCache = {} # hash(str) -> data(dict) dialog_add_button( self, gtk.STOCK_CLOSE, _("_Close"), gtk.ResponseType.OK, ) self.connect("response", self.onResponse) treev = gtk.TreeView() treev.set_headers_clickable(True) trees = gtk.ListStore( str, # hashBefore (hidden) str, # hashAfter (hidden) str, # formatted date & time str, # change msg (names or the number of changed params) ) treev.set_model(trees) treev.connect("cursor-changed", self.treeviewCursorChanged) # treev.connect("button-press-event", self.treeviewCursorChanged) # FIXME: what is the signal for deselecting / unselecting a row? self.trees = trees self.treev = treev treevSwin = gtk.ScrolledWindow() treevSwin.add(treev) treevSwin.set_policy( gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC, ) hpan = gtk.HPaned() hpan.add1(treevSwin) leftVbox = gtk.VBox() hpan.add2(leftVbox) hpan.set_position(600) pack(self.vbox, hpan, expand=True, fill=True) actionBox = gtk.VBox(spacing=5) pack(leftVbox, actionBox, padding=30) # revertButton = gtk.Button() # revertButton.set_label(_("Revert this vhange")) # revertButton.set_image(gtk.Image.new_from_stock( # gtk.STOCK_UNDO, # gtk.IconSize.BUTTON, # )) # revertButton.connect("clicked", self.revertClicked) # pack(actionBox, revertButton, padding=1) # self.revertButton = revertButton checkoutAfterButton = gtk.Button() checkoutAfterButton.set_label(_("Select revision after this change")) checkoutAfterButton.set_image(gtk.Image.new_from_stock( gtk.STOCK_UNDO, gtk.IconSize.BUTTON, )) checkoutAfterButton.connect("clicked", self.checkoutAfterClicked) pack(actionBox, checkoutAfterButton, padding=1) self.checkoutAfterButton = checkoutAfterButton checkoutBeforeButton = gtk.Button() checkoutBeforeButton.set_label(_("Select revision before this change")) checkoutBeforeButton.set_image(gtk.Image.new_from_stock( gtk.STOCK_UNDO, gtk.IconSize.BUTTON, )) checkoutBeforeButton.connect("clicked", self.checkoutBeforeClicked) pack(actionBox, checkoutBeforeButton, padding=1) self.checkoutBeforeButton = checkoutBeforeButton self.setButtonsSensitive(False) combo = gtk.ComboBoxText() for text in self.textViewTypes: combo.append_text(_(text)) combo.set_active(1) combo.connect("changed", self.viewTypeComboChanged) self.viewTypeCombo = combo textTypeHbox = gtk.HBox() pack(textTypeHbox, gtk.Label(_("View type")+": ")) pack(textTypeHbox, self.viewTypeCombo) pack(leftVbox, textTypeHbox) self.textview = ReadOnlyTextView() self.textview.set_wrap_mode(gtk.WrapMode.NONE) self.textview.set_justification(gtk.Justification.LEFT) self.textbuff = self.textview.get_buffer() cmpTreev = gtk.TreeView() cmpTreev.set_headers_clickable(True) cmpTrees = gtk.ListStore( str, # change symbol ("M", "+", "-", "") str, # key str, # old value str, # new value ) cmpTreev.set_model(cmpTrees) # cmpTreev.connect("cursor-changed", self.cmpTreeviewCursorChanged) self.cmpTrees = cmpTrees self.cmpTreev = cmpTreev cell = gtk.CellRendererText() col = gtk.TreeViewColumn("", cell, text=0) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Key"), cell, text=1) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Old Value"), cell, text=2) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("New Value"), cell, text=3) col.set_resizable(True) cmpTreev.append_column(col) leftSwin = gtk.ScrolledWindow() leftSwin.set_policy( gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC, ) pack(leftVbox, leftSwin, expand=True, fill=True) self.leftSwin = leftSwin cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Time"), cell, text=2) treev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Change Summary"), cell, text=3) treev.append_column(col) col.set_property("expand", True) self.load() self.vbox.show_all() self.resize(ud.screenW, ud.screenH*0.9) # FIXME
def __init__(self, event, **kwargs): checkEventsReadOnly() gtk.Dialog.__init__(self, **kwargs) self.set_title(_("History") + ": " + event.summary) self.event = event self.objectCache = {} # hash(str) -> data(dict) dialog_add_button( self, gtk.STOCK_CLOSE, _("_Close"), gtk.ResponseType.OK, ) self.connect("response", self.onResponse) treev = gtk.TreeView() treev.set_headers_clickable(True) trees = gtk.ListStore( str, # hashBefore (hidden) str, # hashAfter (hidden) str, # formatted date & time str, # change msg (names or the number of changed params) ) treev.set_model(trees) treev.connect("cursor-changed", self.treeviewCursorChanged) # treev.connect("button-press-event", self.treeviewCursorChanged) # FIXME: what is the signal for deselecting / unselecting a row? self.trees = trees self.treev = treev treevSwin = gtk.ScrolledWindow() treevSwin.add(treev) treevSwin.set_policy( gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC, ) hpan = gtk.HPaned() hpan.add1(treevSwin) leftVbox = gtk.VBox() hpan.add2(leftVbox) hpan.set_position(600) pack(self.vbox, hpan, expand=True, fill=True) actionBox = gtk.VBox(spacing=5) pack(leftVbox, actionBox, padding=30) # revertButton = gtk.Button() # revertButton.set_label(_("Revert this vhange")) # revertButton.set_image(gtk.Image.new_from_stock( # gtk.STOCK_UNDO, # gtk.IconSize.BUTTON, # )) # revertButton.connect("clicked", self.revertClicked) # pack(actionBox, revertButton, padding=1) # self.revertButton = revertButton checkoutAfterButton = gtk.Button() checkoutAfterButton.set_label(_("Select revision after this change")) checkoutAfterButton.set_image( gtk.Image.new_from_stock( gtk.STOCK_UNDO, gtk.IconSize.BUTTON, )) checkoutAfterButton.connect("clicked", self.checkoutAfterClicked) pack(actionBox, checkoutAfterButton, padding=1) self.checkoutAfterButton = checkoutAfterButton checkoutBeforeButton = gtk.Button() checkoutBeforeButton.set_label(_("Select revision before this change")) checkoutBeforeButton.set_image( gtk.Image.new_from_stock( gtk.STOCK_UNDO, gtk.IconSize.BUTTON, )) checkoutBeforeButton.connect("clicked", self.checkoutBeforeClicked) pack(actionBox, checkoutBeforeButton, padding=1) self.checkoutBeforeButton = checkoutBeforeButton self.setButtonsSensitive(False) combo = gtk.ComboBoxText() for text in self.textViewTypes: combo.append_text(_(text)) combo.set_active(1) combo.connect("changed", self.viewTypeComboChanged) self.viewTypeCombo = combo textTypeHbox = gtk.HBox() pack(textTypeHbox, gtk.Label(_("View type") + ": ")) pack(textTypeHbox, self.viewTypeCombo) pack(leftVbox, textTypeHbox) self.textview = ReadOnlyTextView() self.textview.set_wrap_mode(gtk.WrapMode.NONE) self.textview.set_justification(gtk.Justification.LEFT) self.textbuff = self.textview.get_buffer() cmpTreev = gtk.TreeView() cmpTreev.set_headers_clickable(True) cmpTrees = gtk.ListStore( str, # change symbol ("M", "+", "-", "") str, # key str, # old value str, # new value ) cmpTreev.set_model(cmpTrees) # cmpTreev.connect("cursor-changed", self.cmpTreeviewCursorChanged) self.cmpTrees = cmpTrees self.cmpTreev = cmpTreev cell = gtk.CellRendererText() col = gtk.TreeViewColumn("", cell, text=0) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Key"), cell, text=1) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Old Value"), cell, text=2) col.set_resizable(True) cmpTreev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("New Value"), cell, text=3) col.set_resizable(True) cmpTreev.append_column(col) leftSwin = gtk.ScrolledWindow() leftSwin.set_policy( gtk.PolicyType.AUTOMATIC, gtk.PolicyType.AUTOMATIC, ) pack(leftVbox, leftSwin, expand=True, fill=True) self.leftSwin = leftSwin cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Time"), cell, text=2) treev.append_column(col) cell = gtk.CellRendererText() col = gtk.TreeViewColumn(_("Change Summary"), cell, text=3) treev.append_column(col) col.set_property("expand", True) self.load() self.vbox.show_all() self.resize(ud.screenW, ud.screenH * 0.9) # FIXME