Esempio n. 1
0
 def _save_user_extensions_list(self):
     # set extension folders from the list, after cleanup empty items
     if isinstance(self.extfolders_lb.ItemsSource, list):
         user_config.set_thirdparty_ext_root_dirs(
             coreutils.filter_null_items(self.extfolders_lb.ItemsSource))
     else:
         user_config.set_thirdparty_ext_root_dirs([])
Esempio n. 2
0
    def savesettings(self, sender, args):
        """Callback method for saving pyRevit settings"""
        # update the logging system changes first and update.
        if self.verbose_rb.IsChecked:
            logger.set_verbose_mode()
        if self.debug_rb.IsChecked:
            logger.set_debug_mode()

        # set config values to values set in ui items
        user_config.core.checkupdates = self.checkupdates_cb.IsChecked
        user_config.core.verbose = self.verbose_rb.IsChecked
        user_config.core.debug = self.debug_rb.IsChecked
        user_config.core.filelogging = self.filelogging_cb.IsChecked
        user_config.core.bincache = self.bincache_rb.IsChecked
        user_config.core.compilecsharp = self.compilecsharp_cb.IsChecked
        user_config.core.compilevb = self.compilevb_cb.IsChecked
        user_config.core.requiredhostbuild = self.requiredhostbuild_tb.Text

        try:
            min_freespace = int(self.minhostdrivefreespace_tb.Text)
            user_config.core.minhostdrivefreespace = min_freespace
        except ValueError:
            logger.error('Minimum free space value must be an integer.')
            user_config.core.minhostdrivefreespace = 0

        user_config.core.loadbeta = self.loadbetatools_cb.IsChecked
        user_config.core.startuplogtimeout = int(self.startup_log_timeout.Text)
        user_config.core.rocketmode = self.rocketmode_cb.IsChecked

        # set extension folders from the list, after cleanup empty items
        if isinstance(self.extfolders_lb.ItemsSource, list):
            user_config.set_thirdparty_ext_root_dirs(
                coreutils.filter_null_items(self.extfolders_lb.ItemsSource)
            )
        else:
            user_config.set_thirdparty_ext_root_dirs([])

        # set usage logging configs
        user_config.usagelogging.active = self.usagelogging_cb.IsChecked
        user_config.usagelogging.logfilepath = self.usagelogfile_tb.Text
        user_config.usagelogging.logserverurl = self.usagelogserver_tb.Text

        # output settings
        output.set_stylesheet(self.cur_stylesheet_tb.Text)
        if self.cur_stylesheet_tb.Text != output.get_default_stylesheet():
            user_config.core.outputstylesheet = self.cur_stylesheet_tb.Text
        else:
            user_config.core.remove_option('outputstylesheet')

        # save all new values into config file
        user_config.save_changes()

        # update usage logging and addin files
        self.update_usagelogging()
        self.update_addinfiles()
        self.Close()