def load (lang): # fileName = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'translations', lang) fileName = os.path.join( dataDir(), 'translations', lang ) if Trace: print 'translation file:', fileName if os.path.exists(fileName): fh = open(fileName, 'rb') d = {} encoding = fh.readline().rstrip() while True: line = fh.readline() if line == '': break if line != '\n': l = line.rstrip().split('\t') while True: try: l.remove('') except ValueError: break f, t = l d[f] = t.decode(encoding) fh.close() return d else: if Trace: print 'no translation file found' return None
def __init__ (self, par): self.msgLinks = None self.settings = loadSettings() self.settings['modified'] = False builder = gtk.Builder() # gladeFile = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'ide-gtk2.glade') gladeFile = os.path.join( util.dataDir(), 'ide-gtk2.glade' ) if Trace: print 'gladeFile:', gladeFile builder.add_from_file( fileNameToGtk(gladeFile) ) builder.connect_signals(self) self.mainWindow = builder.get_object('window1') self.setMainWindowSize() self.miSharpComment = builder.get_object('menuitem5') self.miSharpUnComment = builder.get_object('menuitem6') if GTKSV: view = NewSrcTextSView() else: view = NewSrcTextView() builder.get_object('scrolledwindow1').add(view) view.connect("expose-event", self.on_textview1_expose_event) view.connect("key-press-event", self.on_textview1_key_press_event) view.set_property("can-focus", True) view.set_property("has-focus", True) view.show() self.srcTextView = view if self.settings['font'] != None: self.srcTextView.modify_font(pango.FontDescription(self.settings['font'])) self.msgTextView = builder.get_object('textview2') color = self.mainWindow.get_colormap().alloc_color( 65535, 49152, 49152 ) self.msgErrTag = self.msgTextView.get_buffer().create_tag(background=color) self.msgErrTag.connect("event", self.msg_link_tag_event) color = self.mainWindow.get_colormap().alloc_color( 65535, 65535, 32768 ) self.msgWarnTag = self.msgTextView.get_buffer().create_tag(background=color) self.msgWarnTag.connect("event", self.msg_link_tag_event) self.findWindow = builder.get_object('window2') self.findWindow.set_transient_for(self.mainWindow) self.findWindow.set_keep_above(True) self.findStr = builder.get_object('entry1') self.findReplStr = builder.get_object('entry2') self.findIgnCase = builder.get_object('checkbutton1') self.findRevDir = builder.get_object('checkbutton2') translateBuilder(builder) self.mainWindow.show() prof = profiles.profiles[0] self.do_new(prof=prof) if par == None: self.on_new(None) else: fileName, prof = par if os.path.exists(fileName): self.do_open(fileName, prof) else: self.do_new(prof=prof, fileName=fileName) self.do_save() # "touch"