def __init__(self, parent=None): super().__init__() QPixmapCache.setCacheLimit(app_constants.THUMBNAIL_CACHE_SIZE[0]* app_constants.THUMBNAIL_CACHE_SIZE[1]) self._painted_indexes = {} #misc.FileIcon.refresh_default_icon() self.file_icons = misc.FileIcon() if app_constants.USE_EXTERNAL_VIEWER: self.external_icon = self.file_icons.get_external_file_icon() else: self.external_icon = self.file_icons.get_default_file_icon() self.font_size = app_constants.GALLERY_FONT[1] self.font_name = app_constants.GALLERY_FONT[0] if not self.font_name: self.font_name = QWidget().font().family() self.title_font = QFont() self.title_font.setBold(True) self.title_font.setFamily(self.font_name) self.artist_font = QFont() self.artist_font.setFamily(self.font_name) if self.font_size is not 0: self.title_font.setPixelSize(self.font_size) self.artist_font.setPixelSize(self.font_size) self.title_font_m = QFontMetrics(self.title_font) self.artist_font_m = QFontMetrics(self.artist_font) t_h = self.title_font_m.height() a_h = self.artist_font_m.height() self.text_label_h = a_h + t_h * 2 self.W = app_constants.THUMB_W_SIZE self.H = app_constants.THUMB_H_SIZE + app_constants.GRIDBOX_LBL_H#self.text_label_h #+ app_constants.GRIDBOX_LBL_H
def __init__(self, parent=None): super().__init__(parent) QPixmapCache.setCacheLimit(app_constants.THUMBNAIL_CACHE_SIZE[0]* app_constants.THUMBNAIL_CACHE_SIZE[1]) self._painted_indexes = {} #misc.FileIcon.refresh_default_icon() self.file_icons = misc.FileIcon() if app_constants.USE_EXTERNAL_VIEWER: self.external_icon = self.file_icons.get_external_file_icon() else: self.external_icon = self.file_icons.get_default_file_icon() self.font_size = app_constants.GALLERY_FONT[1] self.font_name =0 # app_constants.GALLERY_FONT[0] if not self.font_name: self.font_name = QWidget().font().family() self.title_font = QFont() self.title_font.setBold(True) self.title_font.setFamily(self.font_name) self.artist_font = QFont() self.artist_font.setFamily(self.font_name) if self.font_size is not 0: self.title_font.setPixelSize(self.font_size) self.artist_font.setPixelSize(self.font_size) self.title_font_m = QFontMetrics(self.title_font) self.artist_font_m = QFontMetrics(self.artist_font) t_h = self.title_font_m.height() a_h = self.artist_font_m.height() self.text_label_h = a_h + t_h * 2 self.W = app_constants.THUMB_W_SIZE self.H = app_constants.THUMB_H_SIZE + app_constants.GRIDBOX_LBL_H#self.text_label_h #+ app_constants.GRIDBOX_LBL_H
def main(): app = QApplication(sys.argv) QPixmapCache.setCacheLimit(cache_size_in_kb) QPixmapCache.clear() win = CbirMainWindow() win.showMaximized() # win.showFullScreen() win.after_show() sys.exit(app.exec_())
def __init__(self) -> None: # Allow Ctrl-C killing of the Qt app, see: # http://stackoverflow.com/questions/4938723/ signal.signal(signal.SIGINT, signal.SIG_DFL) self.cache_dir = os.path.join(xdg.BaseDirectory.xdg_cache_home, "dt-fileview") self.config_dir = os.path.join(xdg.BaseDirectory.xdg_config_home, "dt-fileview") self.config_file = os.path.join(self.config_dir, "config.ini") if not os.path.isdir(self.config_dir): os.makedirs(self.config_dir) self.stream_dir = os.path.join(self.cache_dir, "streams") if not os.path.isdir(self.stream_dir): os.makedirs(self.stream_dir) logging_config = os.path.join(self.config_dir, "logging.ini") if os.path.exists(logging_config): print("loading logger config from: {}".format(logging_config)) try: logging.config.fileConfig(logging_config, defaults=None, disable_existing_loggers=False) except Exception as err: print(traceback.format_exc()) settings.init(self.config_file) self.file_history = SqlHistory(os.path.join(self.config_dir, "file.sqlite")) self.location_history = SqlHistory(os.path.join(self.config_dir, "locations.sqlite")) self.bookmarks = Bookmarks(os.path.join(self.config_dir, "bookmarks.txt")) QPixmapCache.setCacheLimit(102400) self.qapp = QApplication([]) self.qapp.setQuitOnLastWindowClosed(False) self.qapp.lastWindowClosed.connect(self.on_last_window_closed) self.stream_manager = StreamManager(self.stream_dir) self.vfs = VirtualFilesystem(self.cache_dir, self) self.executor = Executor(self) self.thumbnailer = Thumbnailer(self.vfs) self.metadata_collector = MetaDataCollector(self.vfs.get_stdio_fs()) self.session_bus = QDBusConnection.sessionBus() self.dbus_thumbnail_cache = DBusThumbnailCache(self.session_bus) self.mime_database = MimeDatabase(self.vfs) self.mime_associations = XdgMimeAssociations.system() self.fs_operations = FilesystemOperations(self) self.fs = Filesystem() self.directory_thumbnailer = DirectoryThumbnailer(self) self.directory_thumbnailer.start() self.controllers: List[Controller] = [] self.actions = ApplicationActions(self) self._preferences_dialog = PreferencesDialog()
def main(): app = QApplication(sys.argv) win = SlideListMainWindow() cache_size_in_kb = 700 * 10**3 QPixmapCache.setCacheLimit(cache_size_in_kb) # dirpath = r'C:\Users\DIMA\Google Диск\Pictures\Mountains' # dirpath = r'C:\Users\DIMA\Downloads\svs' # dirpath = r'C:\Users\DIMA\PycharmProjects\slide_cbir_47\temp\slides\Aperio' # filepathes = [os.path.join(dirpath, filename) for filename in os.listdir(dirpath)] # items = [slidepath_to_slideviewparams(filepath) for filepath in filepathes[0:1]] # win.slide_list_widget.list_model.update_items(items) win.list_view_menu.item_mode_menu.delegate_mode_action.trigger() win.show() sys.exit(app.exec_())
def main(): app = QApplication(sys.argv) cache_size_in_kb = 700 * 10**3 QPixmapCache.setCacheLimit(cache_size_in_kb) app.setWindowIcon(QIcon(":/icons/app.svg")) f = QFile(":/style.qss") f.open(QFile.ReadOnly | QFile.Text) app.setStyleSheet(QTextStream(f).readAll()) f.close() mw = MainWindow() mw.show() sys.exit(app.exec_())
def __init__(self, args): QApplication.__init__(self, args) self.setStyle('Fusion') self.setOrganizationName("UZH Zurich") self.setOrganizationDomain("http://www.bodenmillerlab.org") self.setApplicationName("HistoSlider") self.setWindowIcon(QIcon(":/icons/icons8-eukaryotic-cells-96.png")) cache_size_in_kb = 700 * 10 ** 3 QPixmapCache.setCacheLimit(cache_size_in_kb) f = QFile(":/style.qss") f.open(QFile.ReadOnly | QFile.Text) self.setStyleSheet(QTextStream(f).readAll()) f.close() # DataManager singleton initialization Manager()
def __init__(self) -> None: # Allow Ctrl-C killing of the Qt app, see: # http://stackoverflow.com/questions/4938723/ signal.signal(signal.SIGINT, signal.SIG_DFL) self.cache_dir = os.path.join(xdg.BaseDirectory.xdg_cache_home, "dt-fileview") self.config_dir = os.path.join(xdg.BaseDirectory.xdg_config_home, "dt-fileview") self.config_file = os.path.join(self.config_dir, "config.ini") if not os.path.isdir(self.config_dir): os.makedirs(self.config_dir) self.stream_dir = os.path.join(self.cache_dir, "streams") if not os.path.isdir(self.stream_dir): os.makedirs(self.stream_dir) logging_config = os.path.join(self.config_dir, "logging.ini") if os.path.exists(logging_config): print("loading logger config from: {}".format(logging_config)) try: logging.config.fileConfig(logging_config, defaults=None, disable_existing_loggers=False) except Exception as err: print(traceback.format_exc()) settings.init(self.config_file) self.file_history = SqlHistory( os.path.join(self.config_dir, "file.sqlite")) self.location_history = SqlHistory( os.path.join(self.config_dir, "locations.sqlite")) self.bookmarks = Bookmarks( os.path.join(self.config_dir, "bookmarks.txt")) QPixmapCache.setCacheLimit(102400) self.qapp = QApplication([]) self.qapp.setQuitOnLastWindowClosed(False) self.qapp.lastWindowClosed.connect(self.on_last_window_closed) self.stream_manager = StreamManager(self.stream_dir) self.vfs = VirtualFilesystem(self.cache_dir, self) self.executor = Executor(self) self.thumbnailer = Thumbnailer(self.vfs) self.metadata_collector = MetaDataCollector(self.vfs.get_stdio_fs()) self.session_bus = QDBusConnection.sessionBus() self.dbus_thumbnail_cache = DBusThumbnailCache(self.session_bus) self.mime_database = MimeDatabase(self.vfs) self.mime_associations = XdgMimeAssociations.system() self.fs_operations = FilesystemOperations(self) self.fs = Filesystem() self.directory_thumbnailer = DirectoryThumbnailer(self) self.directory_thumbnailer.start() self.controllers: List[Controller] = [] self.actions = ApplicationActions(self) self._preferences_dialog = PreferencesDialog()
def add_document(self, document: Document): self._undo_group.addStack(document.undo_stack()) index = self.center_tab_widget.addTab(document, document.project_name()) self.center_tab_widget.setTabToolTip(index, document.project().project_full_path()) document.undo_stack().indexChanged.connect(self.update_actions) document.undo_stack().cleanChanged.connect(self.update_actions) self.add_recent_file_project(document.project().project_full_path()) self.set_current_document(document) self._undo_widget.set_stack(document.undo_stack()) self._undo_group.setActiveStack(document.undo_stack()) self._property_dock.set_browser(document.project().browser) def set_current_document(self, document: Document): self.center_tab_widget.setCurrentWidget(document) def main(): app = QApplication(sys.argv) app.setOrganizationName("LRSM Ltd.") app.setOrganizationDomain("lrsm.eu") app.setApplicationName("LRSMSingleVersion") form = MainWindow() form.showMaximized() sys.exit(app.exec_()) if __name__ == '__main__': cache_size_in_kb = 700 * 10 ** 3 QPixmapCache.setCacheLimit(cache_size_in_kb) # 将缓存设置为700000千字节(684Mb左右) main()
def accept(self): set = settings.set # App / General / Gallery app_constants.SUBFOLDER_AS_GALLERY = self.subfolder_as_chapters.isChecked() set(app_constants.SUBFOLDER_AS_GALLERY, 'Application', 'subfolder as gallery') app_constants.EXTRACT_CHAPTER_BEFORE_OPENING = self.extract_gallery_before_opening.isChecked() set(app_constants.EXTRACT_CHAPTER_BEFORE_OPENING, 'Application', 'extract chapter before opening') app_constants.OPEN_GALLERIES_SEQUENTIALLY = self.open_galleries_sequentially.isChecked() set(app_constants.OPEN_GALLERIES_SEQUENTIALLY, 'Application', 'open galleries sequentially') app_constants.SCROLL_TO_NEW_GALLERIES = self.scroll_to_new_gallery.isChecked() set(app_constants.SCROLL_TO_NEW_GALLERIES, 'Application', 'scroll to new galleries') app_constants.MOVE_IMPORTED_GALLERIES = self.move_imported_gs.isChecked() set(app_constants.MOVE_IMPORTED_GALLERIES, 'Application', 'move imported galleries') if not self.move_imported_def_path.text() or os.path.exists(self.move_imported_def_path.text()): app_constants.IMPORTED_GALLERY_DEF_PATH = self.move_imported_def_path.text() set(app_constants.IMPORTED_GALLERY_DEF_PATH, 'Application', 'imported gallery def path') app_constants.OPEN_RANDOM_GALLERY_CHAPTERS = self.open_random_g_chapters.isChecked() set(app_constants.OPEN_RANDOM_GALLERY_CHAPTERS, 'Application', 'open random gallery chapters') app_constants.RENAME_GALLERY_SOURCE = self.rename_g_source_group.isChecked() set(app_constants.RENAME_GALLERY_SOURCE, 'Application', 'rename gallery source') app_constants.unrar_tool_path = self.path_to_unrar.text() set(app_constants.unrar_tool_path, 'Application', 'unrar tool path') # App / General / Search app_constants.ALLOW_SEARCH_REGEX = self.search_allow_regex.isChecked() set(app_constants.ALLOW_SEARCH_REGEX, 'Application', 'allow search regex') app_constants.SEARCH_AUTOCOMPLETE = self.search_autocomplete.isChecked() set(app_constants.SEARCH_AUTOCOMPLETE, 'Application', 'search autocomplete') if self.search_on_enter.isChecked(): app_constants.SEARCH_ON_ENTER = True else: app_constants.SEARCH_ON_ENTER = False set(app_constants.SEARCH_ON_ENTER, 'Application', 'search on enter') # App / General / External Viewer if not self.external_viewer_path.text(): app_constants.USE_EXTERNAL_VIEWER = False set(False, 'Application', 'use external viewer') else: app_constants.USE_EXTERNAL_VIEWER = True set(True, 'Application', 'use external viewer') app_constants._REFRESH_EXTERNAL_VIEWER = True app_constants.EXTERNAL_VIEWER_PATH = self.external_viewer_path.text() set(app_constants.EXTERNAL_VIEWER_PATH,'Application', 'external viewer path') # App / Monitor / misc app_constants.ENABLE_MONITOR = self.enable_monitor.isChecked() set(app_constants.ENABLE_MONITOR, 'Application', 'enable monitor') app_constants.LOOK_NEW_GALLERY_STARTUP = self.look_new_gallery_startup.isChecked() set(app_constants.LOOK_NEW_GALLERY_STARTUP, 'Application', 'look new gallery startup') app_constants.LOOK_NEW_GALLERY_AUTOADD = self.auto_add_new_galleries.isChecked() set(app_constants.LOOK_NEW_GALLERY_AUTOADD, 'Application', 'look new gallery autoadd') # App / Monitor / folders paths = [] folder_p_widgets = self.take_all_layout_widgets(self.folders_layout) for x, l_edit in enumerate(folder_p_widgets): p = l_edit.text() if p: paths.append(p) set(paths, 'Application', 'monitor paths') app_constants.MONITOR_PATHS = paths # App / Monitor / ignore list paths = [] ignore_p_widgets = self.take_all_layout_widgets(self.ignore_path_l) for x, l_edit in enumerate(ignore_p_widgets): p = l_edit.text() if p: paths.append(p) set(paths, 'Application', 'ignore paths') app_constants.IGNORE_PATHS = paths # Web / Downloader if self.archive_download.isChecked(): app_constants.HEN_DOWNLOAD_TYPE = 0 else: app_constants.HEN_DOWNLOAD_TYPE = 1 set(app_constants.HEN_DOWNLOAD_TYPE, 'Web', 'hen download type') app_constants.DOWNLOAD_DIRECTORY = self.download_directory.text() set(app_constants.DOWNLOAD_DIRECTORY, 'Web', 'download directory') app_constants.TORRENT_CLIENT = self.torrent_client.text() set(app_constants.TORRENT_CLIENT, 'Web', 'torrent client') # Web / Metdata if self.default_ehen_url.isChecked(): app_constants.DEFAULT_EHEN_URL = 'http://g.e-hentai.org/' else: app_constants.DEFAULT_EHEN_URL = 'http://exhentai.org/' set(app_constants.DEFAULT_EHEN_URL, 'Web', 'default ehen url') app_constants.REPLACE_METADATA = self.replace_metadata.isChecked() set(app_constants.REPLACE_METADATA, 'Web', 'replace metadata') app_constants.ALWAYS_CHOOSE_FIRST_HIT = self.always_first_hit.isChecked() set(app_constants.ALWAYS_CHOOSE_FIRST_HIT, 'Web', 'always choose first hit') app_constants.GLOBAL_EHEN_TIME = self.web_time_offset.value() set(app_constants.GLOBAL_EHEN_TIME, 'Web', 'global ehen time offset') app_constants.CONTINUE_AUTO_METADATA_FETCHER = self.continue_a_metadata_fetcher.isChecked() set(app_constants.CONTINUE_AUTO_METADATA_FETCHER, 'Web', 'continue auto metadata fetcher') app_constants.USE_JPN_TITLE = self.use_jpn_title.isChecked() set(app_constants.USE_JPN_TITLE, 'Web', 'use jpn title') app_constants.USE_GALLERY_LINK = self.use_gallery_link.isChecked() set(app_constants.USE_GALLERY_LINK, 'Web', 'use gallery link') # Web / ExHentai self.exprops.ipb_id = self.ipbid_edit.text() self.exprops.ipb_pass = self.ipbpass_edit.text() # Visual / Grid View / Tooltip app_constants.GRID_TOOLTIP = self.grid_tooltip_group.isChecked() set(app_constants.GRID_TOOLTIP, 'Visual', 'grid tooltip') app_constants.TOOLTIP_TITLE = self.visual_grid_tooltip_title.isChecked() set(app_constants.TOOLTIP_TITLE, 'Visual', 'tooltip title') app_constants.TOOLTIP_AUTHOR = self.visual_grid_tooltip_author.isChecked() set(app_constants.TOOLTIP_AUTHOR, 'Visual', 'tooltip author') app_constants.TOOLTIP_CHAPTERS = self.visual_grid_tooltip_chapters.isChecked() set(app_constants.TOOLTIP_CHAPTERS, 'Visual', 'tooltip chapters') app_constants.TOOLTIP_STATUS = self.visual_grid_tooltip_status.isChecked() set(app_constants.TOOLTIP_STATUS, 'Visual', 'tooltip status') app_constants.TOOLTIP_TYPE = self.visual_grid_tooltip_type.isChecked() set(app_constants.TOOLTIP_TYPE, 'Visual', 'tooltip type') app_constants.TOOLTIP_LANG = self.visual_grid_tooltip_lang.isChecked() set(app_constants.TOOLTIP_LANG, 'Visual', 'tooltip lang') app_constants.TOOLTIP_DESCR = self.visual_grid_tooltip_descr.isChecked() set(app_constants.TOOLTIP_DESCR, 'Visual', 'tooltip descr') app_constants.TOOLTIP_TAGS = self.visual_grid_tooltip_tags.isChecked() set(app_constants.TOOLTIP_TAGS, 'Visual', 'tooltip tags') app_constants.TOOLTIP_LAST_READ = self.visual_grid_tooltip_last_read.isChecked() set(app_constants.TOOLTIP_LAST_READ, 'Visual', 'tooltip last read') app_constants.TOOLTIP_TIMES_READ = self.visual_grid_tooltip_times_read.isChecked() set(app_constants.TOOLTIP_TIMES_READ, 'Visual', 'tooltip times read') app_constants.TOOLTIP_PUB_DATE = self.visual_grid_tooltip_pub_date.isChecked() set(app_constants.TOOLTIP_PUB_DATE, 'Visual', 'tooltip pub date') app_constants.TOOLTIP_DATE_ADDED = self.visual_grid_tooltip_date_added.isChecked() set(app_constants.TOOLTIP_DATE_ADDED, 'Visual', 'tooltip date added') # Visual / Grid View / Gallery app_constants.USE_EXTERNAL_PROG_ICO = self.external_viewer_ico.isChecked() set(app_constants.USE_EXTERNAL_PROG_ICO, 'Visual', 'use external prog ico') app_constants.DISPLAY_GALLERY_TYPE = self.gallery_type_ico.isChecked() set(app_constants.DISPLAY_GALLERY_TYPE, 'Visual', 'display gallery type') if self.gallery_text_elide.isChecked(): app_constants.GALLERY_FONT_ELIDE = True else: app_constants.GALLERY_FONT_ELIDE = False set(app_constants.GALLERY_FONT_ELIDE, 'Visual', 'gallery font elide') app_constants.GALLERY_FONT = (self.font_lbl.text(), self.font_size_lbl.value()) set(app_constants.GALLERY_FONT[0], 'Visual', 'gallery font family') set(app_constants.GALLERY_FONT[1], 'Visual', 'gallery font size') # Visual / Grid View / Colors if self.color_checker(self.grid_title_color.text()): app_constants.GRID_VIEW_TITLE_COLOR = self.grid_title_color.text() set(app_constants.GRID_VIEW_TITLE_COLOR, 'Visual', 'grid view title color') if self.color_checker(self.grid_artist_color.text()): app_constants.GRID_VIEW_ARTIST_COLOR = self.grid_artist_color.text() set(app_constants.GRID_VIEW_ARTIST_COLOR, 'Visual', 'grid view artist color') if self.color_checker(self.grid_label_color.text()): app_constants.GRID_VIEW_LABEL_COLOR = self.grid_label_color.text() set(app_constants.GRID_VIEW_LABEL_COLOR, 'Visual', 'grid view label color') # Advanced / Misc # Advanced / Misc / Grid View app_constants.SCROLL_SPEED = self.scroll_speed set(self.scroll_speed, 'Advanced', 'scroll speed') self.scroll_speed_changed.emit() app_constants.THUMBNAIL_CACHE_SIZE = self.cache_size set(self.cache_size[1], 'Advanced', 'cache size') QPixmapCache.setCacheLimit(self.cache_size[0]* self.cache_size[1]) # Advanced / General / Gallery Text Fixer app_constants.GALLERY_DATA_FIX_REGEX = self.g_data_regex_fix_edit.text() set(app_constants.GALLERY_DATA_FIX_REGEX, 'Advanced', 'gallery data fix regex') app_constants.GALLERY_DATA_FIX_TITLE = self.g_data_fixer_title.isChecked() set(app_constants.GALLERY_DATA_FIX_TITLE, 'Advanced', 'gallery data fix title') app_constants.GALLERY_DATA_FIX_ARTIST = self.g_data_fixer_artist.isChecked() set(app_constants.GALLERY_DATA_FIX_ARTIST, 'Advanced', 'gallery data fix artist') app_constants.GALLERY_DATA_FIX_REPLACE = self.g_data_replace_fix_edit.text() set(app_constants.GALLERY_DATA_FIX_REPLACE, 'Advanced', 'gallery data fix replace') # About / DB Overview app_constants.TAGS_TREEVIEW_ON_START = self.tags_treeview_on_start.isChecked() set(app_constants.TAGS_TREEVIEW_ON_START, 'Application', 'tags treeview on start') settings.save() self.close()
def accept(self): set = settings.set # App / Monitor / misc gui_constants.ENABLE_MONITOR = self.enable_monitor.isChecked() set(gui_constants.ENABLE_MONITOR, 'Application', 'enable monitor') gui_constants.LOOK_NEW_GALLERY_STARTUP = self.look_new_gallery_startup.isChecked() set(gui_constants.LOOK_NEW_GALLERY_STARTUP, 'Application', 'look new gallery startup') gui_constants.LOOK_NEW_GALLERY_AUTOADD = self.auto_add_new_galleries.isChecked() set(gui_constants.LOOK_NEW_GALLERY_AUTOADD, 'Application', 'look new gallery autoadd') # App / Monitor / folders n = self.folders_layout.rowCount() paths = '' for x in range(n): item = self.folders_layout.takeAt(x+1) l_edit = item.widget() p = l_edit.text() if p: if x == n-1: paths += '{}'.format(p) else: paths += '{},'.format(p) set(paths, 'Application', 'monitor paths') gui_constants.MONITOR_PATHS = paths.split(',') # Web / General if self.default_ehen_url.isChecked(): gui_constants.DEFAULT_EHEN_URL = 'http://g.e-hentai.org/' else: gui_constants.DEFAULT_EHEN_URL = 'http://exhentai.org/' set(gui_constants.DEFAULT_EHEN_URL, 'Web', 'default ehen url') gui_constants.REPLACE_METADATA = self.replace_metadata.isChecked() set(gui_constants.REPLACE_METADATA, 'Web', 'replace metadata') gui_constants.ALWAYS_CHOOSE_FIRST_HIT = self.always_first_hit.isChecked() set(gui_constants.ALWAYS_CHOOSE_FIRST_HIT, 'Web', 'always choose first hit') gui_constants.GLOBAL_EHEN_TIME = self.web_time_offset.value() set(gui_constants.GLOBAL_EHEN_TIME, 'Web', 'global ehen time offset') gui_constants.CONTINUE_AUTO_METADATA_FETCHER = self.continue_a_metadata_fetcher.isChecked() set(gui_constants.CONTINUE_AUTO_METADATA_FETCHER, 'Web', 'continue auto metadata fetcher') gui_constants.USE_JPN_TITLE = self.use_jpn_title.isChecked() set(gui_constants.USE_JPN_TITLE, 'Web', 'use jpn title') # Web / ExHentai self.exprops.ipb_id = self.ipbid_edit.text() self.exprops.ipb_pass = self.ipbpass_edit.text() # Visual / Grid View / Tooltip gui_constants.GRID_TOOLTIP = self.grid_tooltip_group.isChecked() set(gui_constants.GRID_TOOLTIP, 'Visual', 'grid tooltip') gui_constants.TOOLTIP_TITLE = self.visual_grid_tooltip_title.isChecked() set(gui_constants.TOOLTIP_TITLE, 'Visual', 'tooltip title') gui_constants.TOOLTIP_AUTHOR = self.visual_grid_tooltip_author.isChecked() set(gui_constants.TOOLTIP_AUTHOR, 'Visual', 'tooltip author') gui_constants.TOOLTIP_CHAPTERS = self.visual_grid_tooltip_chapters.isChecked() set(gui_constants.TOOLTIP_CHAPTERS, 'Visual', 'tooltip chapters') gui_constants.TOOLTIP_STATUS = self.visual_grid_tooltip_status.isChecked() set(gui_constants.TOOLTIP_STATUS, 'Visual', 'tooltip status') gui_constants.TOOLTIP_TYPE = self.visual_grid_tooltip_type.isChecked() set(gui_constants.TOOLTIP_TYPE, 'Visual', 'tooltip type') gui_constants.TOOLTIP_LANG = self.visual_grid_tooltip_lang.isChecked() set(gui_constants.TOOLTIP_LANG, 'Visual', 'tooltip lang') gui_constants.TOOLTIP_DESCR = self.visual_grid_tooltip_descr.isChecked() set(gui_constants.TOOLTIP_DESCR, 'Visual', 'tooltip descr') gui_constants.TOOLTIP_TAGS = self.visual_grid_tooltip_tags.isChecked() set(gui_constants.TOOLTIP_TAGS, 'Visual', 'tooltip tags') gui_constants.TOOLTIP_LAST_READ = self.visual_grid_tooltip_last_read.isChecked() set(gui_constants.TOOLTIP_LAST_READ, 'Visual', 'tooltip last read') gui_constants.TOOLTIP_TIMES_READ = self.visual_grid_tooltip_times_read.isChecked() set(gui_constants.TOOLTIP_TIMES_READ, 'Visual', 'tooltip times read') gui_constants.TOOLTIP_PUB_DATE = self.visual_grid_tooltip_pub_date.isChecked() set(gui_constants.TOOLTIP_PUB_DATE, 'Visual', 'tooltip pub date') gui_constants.TOOLTIP_DATE_ADDED = self.visual_grid_tooltip_date_added.isChecked() set(gui_constants.TOOLTIP_DATE_ADDED, 'Visual', 'tooltip date added') # Visual / Grid View / Gallery gui_constants.USE_EXTERNAL_PROG_ICO = self.external_viewer_ico.isChecked() set(gui_constants.USE_EXTERNAL_PROG_ICO, 'Visual', 'use external prog ico') gui_constants.DISPLAY_GALLERY_TYPE = self.gallery_type_ico.isChecked() set(gui_constants.DISPLAY_GALLERY_TYPE, 'Visual', 'display gallery type') if self.gallery_text_elide.isChecked(): gui_constants.GALLERY_FONT_ELIDE = True else: gui_constants.GALLERY_FONT_ELIDE = False set(gui_constants.GALLERY_FONT_ELIDE, 'Visual', 'gallery font elide') gui_constants.GALLERY_FONT = (self.font_lbl.text(), self.font_size_lbl.value()) set(gui_constants.GALLERY_FONT[0], 'Visual', 'gallery font family') set(gui_constants.GALLERY_FONT[1], 'Visual', 'gallery font size') # Visual / Grid View / Colors if self.color_checker(self.grid_title_color.text()): gui_constants.GRID_VIEW_TITLE_COLOR = self.grid_title_color.text() set(gui_constants.GRID_VIEW_TITLE_COLOR, 'Visual', 'grid view title color') if self.color_checker(self.grid_artist_color.text()): gui_constants.GRID_VIEW_ARTIST_COLOR = self.grid_artist_color.text() set(gui_constants.GRID_VIEW_ARTIST_COLOR, 'Visual', 'grid view artist color') if self.color_checker(self.grid_label_color.text()): gui_constants.GRID_VIEW_LABEL_COLOR = self.grid_label_color.text() set(gui_constants.GRID_VIEW_LABEL_COLOR, 'Visual', 'grid view label color') # Advanced / Misc # Advanced / Misc / Grid View gui_constants.SCROLL_SPEED = self.scroll_speed set(self.scroll_speed, 'Advanced', 'scroll speed') self.scroll_speed_changed.emit() gui_constants.THUMBNAIL_CACHE_SIZE = self.cache_size set(self.cache_size[1], 'Advanced', 'cache size') QPixmapCache.setCacheLimit(self.cache_size[0]* self.cache_size[1]) # Advanced / Misc / Search gui_constants.ALLOW_SEARCH_REGEX = self.search_allow_regex.isChecked() set(gui_constants.ALLOW_SEARCH_REGEX, 'Advanced', 'allow search regex') gui_constants.SEARCH_AUTOCOMPLETE = self.search_autocomplete.isChecked() set(gui_constants.SEARCH_AUTOCOMPLETE, 'Advanced', 'search autocomplete') if self.search_on_enter.isChecked(): gui_constants.SEARCH_ON_ENTER = True else: gui_constants.SEARCH_ON_ENTER = False set(gui_constants.SEARCH_ON_ENTER, 'Advanced', 'search on enter') # Advanced / Misc / External Viewer if not self.external_viewer_path.text(): gui_constants.USE_EXTERNAL_VIEWER = False set(False, 'Advanced', 'use external viewer') else: gui_constants.USE_EXTERNAL_VIEWER = True set(True, 'Advanced', 'use external viewer') gui_constants._REFRESH_EXTERNAL_VIEWER = True gui_constants.EXTERNAL_VIEWER_PATH = self.external_viewer_path.text() set(gui_constants.EXTERNAL_VIEWER_PATH,'Advanced', 'external viewer path') settings.save() self.close()