def initGlade(self, log_viewer): # Init glade and the 'GladeHandlers' self.widgets = widgets = uistuff.GladeWidgets("PyChess.glade") self.glade_handlers = GladeHandlers(self) widgets.getGlade().connect_signals(self.glade_handlers) self.window = widgets["main_window"] # new_game_tasker, internet_game_tasker = NewGameTasker( # ), InternetGameTasker() # tasker.packTaskers(new_game_tasker, internet_game_tasker) # widgets["Background"].add(tasker) # Redirect widgets gamewidget.setWidgets(widgets) # The only menuitems that need special initing for widget in ("hint_mode", "spy_mode"): widgets[widget].set_sensitive(False) uistuff.keep(widgets["hint_mode"], "hint_mode") uistuff.keep(widgets["spy_mode"], "spy_mode") uistuff.keep(widgets["show_sidepanels"], "show_sidepanels") uistuff.keep(widgets["auto_call_flag"], "autoCallFlag") # Show main window and init d'n'd widgets["main_window"].set_title('%s - PyChess' % _('Welcome')) widgets["main_window"].connect("delete-event", self.glade_handlers.on_quit1_activate) widgets["main_window"].connect("key-press-event", self.glade_handlers.on_window_key_press) uistuff.keepWindowSize("main", widgets["main_window"], None, uistuff.POSITION_GOLDEN) # To get drag in the whole window, we add it to the menu and the # background. If it can be gotten to work, the drag_dest_set_proxy # method is very interesting. widgets["menubar1"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["box2"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["perspectives_notebook"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) # Init 'minor' dialogs # Log dialog if log_viewer: from pychess.widgets import LogDialog LogDialog.add_destroy_notify( lambda: widgets["log_viewer1"].set_active(0)) else: widgets["log_viewer1"].set_property('sensitive', False) # About dialog self.aboutdialog = widgets["aboutdialog1"] self.aboutdialog.set_program_name(NAME) self.aboutdialog.set_copyright("Copyright © 2006-2018") self.aboutdialog.set_version(VERSION_NAME + " " + VERSION) if os.path.isdir(prefix.addDataPrefix(".git")): try: label = subprocess.check_output(["git", "describe"]) except subprocess.CalledProcessError: label = "" if label: comments = self.aboutdialog.get_comments() self.git_rev = label self.aboutdialog.set_comments("git %s\n%s" % (self.git_rev, comments)) with open(prefix.addDataPrefix("ARTISTS"), encoding="utf-8") as f: self.aboutdialog.set_artists(f.read().splitlines()) with open(prefix.addDataPrefix("AUTHORS"), encoding="utf-8") as f: self.aboutdialog.set_authors(f.read().splitlines()) with open(prefix.addDataPrefix("DOCUMENTERS"), encoding="utf-8") as f: self.aboutdialog.set_documenters(f.read().splitlines()) with open(prefix.addDataPrefix("TRANSLATORS"), encoding="utf-8") as f: self.aboutdialog.set_translator_credits(f.read()) with open(prefix.addDataPrefix("LICENSE"), encoding="utf-8") as f: self.aboutdialog.set_license(f.read()) widgets["load_recent_game1"].set_submenu(recent_menu) if conf.get("autoLogin"): internet_game_tasker.connectClicked(None)
def initGlade(self, log_viewer): # Init glade and the 'GladeHandlers' self.widgets = widgets = uistuff.GladeWidgets("PyChess.glade") self.glade_handlers = GladeHandlers(self) widgets.getGlade().connect_signals(self.glade_handlers) self.window = widgets["main_window"] # new_game_tasker, internet_game_tasker = NewGameTasker( # ), InternetGameTasker() # tasker.packTaskers(new_game_tasker, internet_game_tasker) # widgets["Background"].add(tasker) # Redirect widgets gamewidget.setWidgets(widgets) # The only menuitems that need special initing for widget in ("hint_mode", "spy_mode"): widgets[widget].set_sensitive(False) uistuff.keep(widgets["hint_mode"], "hint_mode") uistuff.keep(widgets["spy_mode"], "spy_mode") uistuff.keep(widgets["show_sidepanels"], "show_sidepanels") uistuff.keep(widgets["auto_call_flag"], "autoCallFlag") # Show main window and init d'n'd widgets["main_window"].set_title('%s - PyChess' % _('Welcome')) widgets["main_window"].connect("delete-event", self.glade_handlers.on_quit1_activate) widgets["main_window"].connect("key-press-event", self.glade_handlers.on_window_key_press) uistuff.keepWindowSize("main", widgets["main_window"], None, uistuff.POSITION_GOLDEN) # To get drag in the whole window, we add it to the menu and the # background. If it can be gotten to work, the drag_dest_set_proxy # method is very interesting. widgets["menubar1"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["box2"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["perspectives_notebook"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) # Init 'minor' dialogs # Log dialog if log_viewer: from pychess.widgets import LogDialog LogDialog.add_destroy_notify( lambda: widgets["log_viewer1"].set_active(0)) else: widgets["log_viewer1"].set_property('sensitive', False) # About dialog self.aboutdialog = widgets["aboutdialog1"] self.aboutdialog.set_program_name(NAME) self.aboutdialog.set_copyright("Copyright © 2006-2020") self.aboutdialog.set_version(VERSION_NAME + " " + VERSION) if isgit(): try: self.git_rev = subprocess.check_output( ["git", "describe", "--tags"]).decode().strip() self.aboutdialog.set_version('%s Git %s' % (VERSION_NAME, self.git_rev)) except subprocess.CalledProcessError: pass self.aboutdialog.set_comments(self.aboutdialog.get_comments()) with open(prefix.addDataPrefix("ARTISTS"), encoding="utf-8") as f: self.aboutdialog.set_artists(f.read().splitlines()) with open(prefix.addDataPrefix("AUTHORS"), encoding="utf-8") as f: self.aboutdialog.set_authors(f.read().splitlines()) with open(prefix.addDataPrefix("DOCUMENTERS"), encoding="utf-8") as f: self.aboutdialog.set_documenters(f.read().splitlines()) with open(prefix.addDataPrefix("TRANSLATORS"), encoding="utf-8") as f: self.aboutdialog.set_translator_credits(f.read()) with open(prefix.addDataPrefix("LICENSE"), encoding="utf-8") as f: self.aboutdialog.set_license(f.read()) widgets["load_recent_game1"].set_submenu(recent_menu) if conf.get("autoLogin"): internet_game_tasker.connectClicked(None)
def initGlade(self, log_viewer): # Init glade and the 'GladeHandlers' self.widgets = widgets = uistuff.GladeWidgets("PyChess.glade") self.glade_handlers = GladeHandlers(self) widgets.getGlade().connect_signals(self.glade_handlers) self.window = widgets["window1"] # new_game_tasker, internet_game_tasker = NewGameTasker( # ), InternetGameTasker() # tasker.packTaskers(new_game_tasker, internet_game_tasker) # widgets["Background"].add(tasker) # Redirect widgets gamewidget.setWidgets(widgets) # Main.py still needs a minimum of information game_handler.connect("gmwidg_created", self.on_gmwidg_created) # The only menuitems that need special initing for widget in ("hint_mode", "spy_mode"): widgets[widget].set_sensitive(False) uistuff.keep(widgets["hint_mode"], "hint_mode", first_value=False) uistuff.keep(widgets["spy_mode"], "spy_mode", first_value=False) uistuff.keep(widgets["show_sidepanels"], "show_sidepanels", first_value=True) uistuff.keep(widgets["auto_call_flag"], "autoCallFlag", first_value=True) # Show main window and init d'n'd widgets["window1"].set_title('%s - PyChess' % _('Welcome')) widgets["window1"].connect("delete-event", self.glade_handlers.on_quit1_activate) widgets["window1"].connect("key-press-event", self.glade_handlers.on_window_key_press) uistuff.keepWindowSize("main", widgets["window1"], None, uistuff.POSITION_GOLDEN) # To get drag in the whole window, we add it to the menu and the # background. If it can be gotten to work, the drag_dest_set_proxy # method is very interesting. widgets["menubar1"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["box2"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) widgets["perspectives_notebook"].drag_dest_set(Gtk.DestDefaults.ALL, DND_LIST, DRAG_ACTION) # Init 'minor' dialogs # Log dialog if log_viewer: from pychess.widgets import LogDialog LogDialog.add_destroy_notify( lambda: widgets["log_viewer1"].set_active(0)) else: widgets["log_viewer1"].set_property('sensitive', False) # About dialog self.aboutdialog = widgets["aboutdialog1"] self.aboutdialog.set_program_name(NAME) self.aboutdialog.set_copyright("Copyright © 2006-2016") self.aboutdialog.set_version(VERSION_NAME + " " + VERSION) if os.path.isdir(prefix.addDataPrefix(".git")): try: label = subprocess.check_output(["git", "describe"]) except subprocess.CalledProcessError: label = "" if label: comments = self.aboutdialog.get_comments() self.git_rev = label self.aboutdialog.set_comments("git %s\n%s" % (self.git_rev, comments)) with open(prefix.addDataPrefix("ARTISTS"), encoding="utf-8") as f: self.aboutdialog.set_artists(f.read().splitlines()) with open(prefix.addDataPrefix("AUTHORS"), encoding="utf-8") as f: self.aboutdialog.set_authors(f.read().splitlines()) with open(prefix.addDataPrefix("DOCUMENTERS"), encoding="utf-8") as f: self.aboutdialog.set_documenters(f.read().splitlines()) with open(prefix.addDataPrefix("TRANSLATORS"), encoding="utf-8") as f: self.aboutdialog.set_translator_credits(f.read()) with open(prefix.addDataPrefix("LICENSE"), encoding="utf-8") as f: self.aboutdialog.set_license(f.read()) # RecentChooser def recent_item_activated(self): uri = self.get_current_uri() try: urlopen(unquote(uri)).close() perspective = perspective_manager.get_perspective("database") perspective.open_chessfile(self.get_current_uri()) except (IOError, OSError): # shomething wrong whit the uri recentManager.remove_item(uri) self.menu_recent = Gtk.RecentChooserMenu() self.menu_recent.set_show_tips(True) self.menu_recent.set_sort_type(Gtk.RecentSortType.MRU) self.menu_recent.set_limit(10) self.menu_recent.set_name("menu_recent") self.file_filter = Gtk.RecentFilter() self.file_filter.add_mime_type("application/x-chess-pgn") self.file_filter.add_mime_type("application/x-chess-epd") self.file_filter.add_mime_type("application/x-chess-fen") self.file_filter.add_mime_type("application/x-chess-pychess") self.menu_recent.set_filter(self.file_filter) self.menu_recent.connect("item-activated", recent_item_activated) widgets["load_recent_game1"].set_submenu(self.menu_recent) # Discoverer dialog def discovering_started(discoverer, binnames): GLib.idle_add(DiscovererDialog.show, discoverer, widgets["window1"], binnames) discoverer.connect("discovering_started", discovering_started) DiscovererDialog.init(discoverer) discoverer.discover() # Tip of the day dialog if conf.get("show_tip_at_startup", False): tipOfTheDay.TipOfTheDay.show() if conf.get("autoLogin", False): internet_game_tasker.connectClicked(None)