diff --git a/CHANGELOG.md b/CHANGELOG.md index 514c86e3..8807b49a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

+ +- AppImage + - Limiting the UI components width of the file installation and upgrade windows - Arch - text length of some popups reduced diff --git a/bauh/gems/appimage/controller.py b/bauh/gems/appimage/controller.py index aa946ca3..7fe48172 100644 --- a/bauh/gems/appimage/controller.py +++ b/bauh/gems/appimage/controller.py @@ -85,27 +85,31 @@ class AppImageManager(SoftwareManager): self._search_unfilled_attrs: Optional[Tuple[str, ...]] = None def install_file(self, root_password: Optional[str], watcher: ProcessWatcher) -> bool: + max_width = 350 file_chooser = FileChooserComponent(label=self.i18n['file'].capitalize(), allowed_extensions={'AppImage', '*'}, - search_path=get_default_manual_installation_file_dir()) - input_name = TextInputComponent(label=self.i18n['name'].capitalize()) - input_version = TextInputComponent(label=self.i18n['version'].capitalize()) + search_path=get_default_manual_installation_file_dir(), + max_width=max_width) + input_name = TextInputComponent(label=self.i18n['name'].capitalize(), max_width=max_width) + input_version = TextInputComponent(label=self.i18n['version'].capitalize(), max_width=max_width) file_chooser.observers.append(ManualInstallationFileObserver(input_name, input_version)) - input_description = TextInputComponent(label=self.i18n['description'].capitalize()) + input_description = TextInputComponent(label=self.i18n['description'].capitalize(), max_width=max_width) cat_ops = [InputOption(label=self.i18n['category.none'].capitalize(), value=0)] cat_ops.extend([InputOption(label=self.i18n.get(f'category.{c.lower()}', c.lower()).capitalize(), value=c) for c in self.context.default_categories]) inp_cat = SingleSelectComponent(label=self.i18n['category'], type_=SelectViewType.COMBO, options=cat_ops, - default_option=cat_ops[0]) + default_option=cat_ops[0], max_width=max_width) - form = FormComponent(label='', components=[file_chooser, input_name, input_version, input_description, inp_cat], spaces=False) + form = FormComponent(label='', components=[file_chooser, input_name, input_version, input_description, inp_cat], + spaces=False) while True: if watcher.request_confirmation(title=self.i18n['appimage.custom_action.install_file.details'], body=None, components=[form], confirmation_label=self.i18n['proceed'].capitalize(), - deny_label=self.i18n['cancel'].capitalize()): + deny_label=self.i18n['cancel'].capitalize(), + min_height=100, max_width=max_width + 150): if not file_chooser.file_path or not os.path.isfile(file_chooser.file_path) or not file_chooser.file_path.lower().strip().endswith('.appimage'): watcher.request_confirmation(title=self.i18n['error'].capitalize(), body=self.i18n['appimage.custom_action.install_file.invalid_file'], @@ -139,17 +143,20 @@ class AppImageManager(SoftwareManager): return res def update_file(self, pkg: AppImage, root_password: Optional[str], watcher: ProcessWatcher): + max_width = 350 file_chooser = FileChooserComponent(label=self.i18n['file'].capitalize(), allowed_extensions={'AppImage', '*'}, - search_path=get_default_manual_installation_file_dir()) - input_version = TextInputComponent(label=self.i18n['version'].capitalize()) + search_path=get_default_manual_installation_file_dir(), + max_width=max_width) + input_version = TextInputComponent(label=self.i18n['version'].capitalize(), max_width=max_width) file_chooser.observers.append(ManualInstallationFileObserver(None, input_version)) while True: if watcher.request_confirmation(title=self.i18n['appimage.custom_action.manual_update.details'], body=None, components=[FormComponent(label='', components=[file_chooser, input_version], spaces=False)], confirmation_label=self.i18n['proceed'].capitalize(), - deny_label=self.i18n['cancel'].capitalize()): + deny_label=self.i18n['cancel'].capitalize(), + min_height=100, max_width=max_width + 150): if not file_chooser.file_path or not os.path.isfile(file_chooser.file_path) or not file_chooser.file_path.lower().strip().endswith('.appimage'): watcher.request_confirmation(title=self.i18n['error'].capitalize(),