Пример #1
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        loader = self.application.singletons[UILoaderController]
        self._main_window = loader.main_window

        self._create_table()
        self._connect_download_slot()
        self._connect_upload_slot()

        timer = QtCore.QTimer(self.application.app)
        timer.timeout.connect(self._update_table)
        timer.start(200)
Пример #2
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        self._client_shared_directories = self.application.singletons[
            DHTClientController].client.shared_files_table.shared_directories
        self._shared_directories = set()

        config = self.application.singletons[ConfigController]
        config.observer.register(self._config_changed_cb)

        for d in self._get_shared_dirs_from_config():
            self._shared_directories.add(d)

        self._populate_client_table()
Пример #3
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        self._config = self.application.singletons[ConfigController]
        loader = self.application.singletons[UILoaderController]
        self._prefs_dialog = loader.preferences_dialog

        self._populate_form()

        self._prefs_dialog.listening_host_edit.editingFinished.connect(
            self._save_config_cb)
        self._prefs_dialog.listening_port_spin_box.valueChanged.connect(
            self._save_config_cb)
        self._prefs_dialog.cache_max_size_spin_box.valueChanged.connect(
            self._save_config_cb)

        self._prefs_dialog.button_box.clicked.connect(
            self._button_box_clicked_cb)
        self._prefs_dialog.default_share_dir_button.clicked.connect(
            self._default_share_dir_button_cb)
Пример #4
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        self._scan_task = None

        loader = self.application.singletons[UILoaderController]
        self._main_window = loader.main_window

        self._main_window.shared_files_scan_button.clicked.connect(
            self._scan_button_clicked_cb)
        self._main_window.shared_files_scan_stop_button.clicked.connect(
            self._scan_stop_button_clicked_cb)

        # FIXME: line below causes segfaults when app exits
        self._disable_scan_ui()

        timer = QtCore.QTimer(self.application.app)
        timer.timeout.connect(self._update_scan_progress)
        timer.start(200)

        self._update_stats()
Пример #5
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        config_parser = configparser.ConfigParser()
        default_share_dir = os.path.expanduser(os.path.join('~', 'Bytestag'))

        host_random = random.Random(uuid.getnode())

        self.defaults = defaults = OrderedDict([
            ('network', OrderedDict([
                ('host', '0.0.0.0'),
                ('port', host_random.randint(1024, 2 ** 16 - 1)),
                ('node_id', KeyBytes().base64),
                ('default_known_node_host', 'torwuf.com'),
                ('default_known_node_port', 38664),
                ('enable_port_forwarding', True),
            ])),
            ('known_nodes', OrderedDict([
                ('host1', 'torwuf.com'),
                ('port1', 38664),
            ])),
            ('shared_files', OrderedDict([
            ])),
            ('sharing', OrderedDict([
                ('default_share_dir', default_share_dir),
            ])),
            ('cache', OrderedDict([
                ('max_size', 17179869184),
            ])),
        ])

        config_parser.read_dict(defaults)

        filename = os.path.join(basedir.config_dir, 'bytestag.conf')
        config_parser.read([filename])

        self._config_parser = config_parser
        self._filename = filename
        self._observer = Observer()
Пример #6
0
    def __init__(self, application):
        BaseController.__init__(self, application)
        self._observer = Observer()

        config = self.application.singletons[ConfigController]

        host = config.get('network', 'host')
        port = int(config.get('network', 'port'))
        node_id = KeyBytes(config.get('network', 'node_id'))

        use_port_forwarding = config.get('network',
            'enable_port_forwarding', as_bool=True)

        os.makedirs(basedir.cache_dir, mode=0o777, exist_ok=True)

        self._client = Client(basedir.cache_dir, (host, port), node_id,
            use_port_forwarding=use_port_forwarding)
        self._client.start()

        thread = threading.Timer(1, self.connect)
        thread.daemon = True
        thread.start()
Пример #7
0
    def __init__(self, application):
        BaseController.__init__(self, application)

        self._shared_dirs_controller = self.application.singletons[
            SharedDirsController]
        loader = self.application.singletons[UILoaderController]
        self._shared_dirs = list(
            self._shared_dirs_controller.shared_directories)

        self._prefs_dialog = loader.preferences_dialog

        self._prefs_dialog.shared_files_remove_button.setEnabled(False)

        self._prefs_dialog.shared_files_add_button.clicked.connect(
            self._add_button_clicked_cb)
        self._prefs_dialog.shared_files_remove_button.clicked.connect(
            self._remove_button_clicked_cb)
        self._prefs_dialog.shared_files_table_view.activated.connect(
            self._table_view_activated_cb)
        self._prefs_dialog.shared_files_table_view.clicked.connect(
            self._table_view_activated_cb)

        self._create_table()
Пример #8
0
 def __init__(self, application):
     BaseController.__init__(self, application)
     self.main_window = self.load_widget('ui/main.ui')
     self.preferences_dialog = self.load_widget('ui/preferences.ui')
     self.open_link_dialog = self.load_widget('ui/open_link.ui')