diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bf28659..fd6e254b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Features - Supporting AUR packages (install, uninstall, search, info, downgrade and history) - Now it is possible to enable / disable the packaging technologies via graphical interface using the "Application types" action in the lower "Settings" menu +- Environment variables / parameters **BAUH_FLATPAK (--flatpak)** and **BAUH_SNAP (--snap)** removed in favor of the feature above - Qt style / theme combo selector ( environment variable / parameter BAUH_THEME (--theme) removed ) - New "Launch" button: can launch application packages - New "Installed" button: quickly retrieves the installed packages without a full refresh ( available after a search ) @@ -25,6 +26,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - When a package is installed, it will be the first element of the table after refreshing - Progress bar status can now be controlled by the software manager while an operation is being executed - Flatpak: showing runtime branches as versions when they are not available +- small UI improvements ### UI Changes - "Upgrade selected" and "Refresh" buttons now have text labels and new colors diff --git a/README.md b/README.md index 2bf9ed2a..57e2ee60 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,38 @@ ## bauh -Non-official graphical user interface for Flatpak / Snap application management (old **fpakman**). It is a tray icon that let the user known when new updates are available and -an application management panel where you can search, update, install and uninstall applications. +Graphical user interface to manage your Linux applications (packages) (old **fpakman**). It currently supports Flatpak, Snap and AUR packaging types. When you launch **bauh** you will see +a management panel where you can search, update, install and uninstall applications. You can also downgrade some applications depending on the package technology. + +It has a **tray mode** (see **Settings** below) that attaches the application icon to the system tray providing a quick way to launch it. Also the icon will get red when updates are available. ### Developed with: - Python3 and Qt5. ### Requirements -- libappindicator3 ( for GTK3 desktop environments ) + #### Debian-based distros -- python3-venv +- **python3.5** or above +- **pip3** + #### Arch-based distros -- python -- python-requests -- python-virtualenv -- python-pip -- python-pyqt5 +- **python** +- **python-requests** +- **python-pip** +- **python-pyqt5** + +##### Optional +- **flatpak**: to be able to handle Flatpak applications +- **snapd**: to be able to handle Snap applications +- **git**: to be able to downgrade AUR packages +- **wget**: to be able to download and install AUR packages +- **pacman**: to be able to handle AUR packages +- **libappindicator3**: for the **tray mode** in GTK3 desktop environments + ### Distribution **PyPi** ``` -sudo pip3 install bauh +pip3 install bauh (may require **sudo**) ``` **AUR** @@ -29,13 +41,19 @@ As **bauh** package. There is also a staging version (**bauh-staging**) but is i ### Manual installation: -If you prefer a manual and isolated installation, type the following commands within the cloned project folder: +If you prefer a manual and isolated installation: + +If you cloned this project, type the following commands within its folder: + ``` -python3 -m venv env -env/bin/pip install . -env/bin/bauh +python3 -m venv env ( creates a virtualenv in a folder called **env** ) +env/bin/pip install . ( install the application code inside the **env** ) +env/bin/bauh ( launch the application ) ``` +If you want do not want to clone / download this repository, go your Home folder and execute the commands above, but replace the second by ```env/bin/pip install bauh```. + + ### Autostart In order to autostart the application, use your Desktop Environment settings to register it as a startup application / script (**bauh --tray=1**). @@ -49,8 +67,6 @@ You can change some application settings via environment variables or arguments - **BAUH_ICON_EXPIRATION**: define a custom expiration time in SECONDS for cached icons. Default: 300 (5 minutes). - **BAUH_DISK_CACHE**: enables / disables disk cache. When disk cache is enabled, the installed applications data are loaded faster. Use **0** (disable) or **1** (enable, default). - **BAUH_DOWNLOAD_ICONS**: Enables / disables app icons download. It may improve the application speed depending on how applications data are being retrieved. Use **0** (disable) or **1** (enable, default). -- **BAUH_FLATPAK**: enables / disables flatpak usage. Use **0** (disable) or **1** (enabled, default) -- **BAUH_SNAP**: enables / disables snap usage. Use **0** (disable) or **1** (enabled, default) - **BAUH_CHECK_PACKAGING_ONCE**: If the available supported packaging types should be checked ONLY once. It improves the application speed if enabled, but can generate errors if you uninstall any packaging technology while using it, and every time a supported packaging type is installed it will only be available after a restart. Use **0** (disable, default) or **1** (enable). - **BAUH_TRAY**: If the tray icon and update-check daemon should be created. Use **0** (disable, default) or **1** (enable). - **BAUH_SUGGESTIONS**: If application suggestions should be displayed if no app is installed (runtimes do not count as apps). Use **0** (disable) or **1** (enable, default). @@ -64,6 +80,16 @@ with the technology that I don't care every time an action is executed. - If you don't mind to see the applications icons, you can set "download-icons=0" (**bauh --download-icons=0**). The application may have a slight response improvement, since it will reduce the parallelism within it. - If you don't mind app suggestions, disable it (**bauh --sugs=0**) + +### Code structure +#### Modules +**view**: code associated with the graphical interface +**gems**: code responsible to work with the different packaging technologies (every submodule deals with one or more type) +**api**: code abstractions representing the main actions that a user can do with Linux packages (search, install, ...). These abstractions are implemented by the *gems*, and +the **view** code is only attached to them (it does not know how the **gems** handle the actions) +**commons**: common code used by **gem** and **view** + + ### Roadmap - Support for other packaging technologies - Separate modules for each packaging technology diff --git a/aur/tray_entry.py b/aur/tray_entry.py index 2e7ca877..922f00d7 100644 --- a/aur/tray_entry.py +++ b/aur/tray_entry.py @@ -9,7 +9,7 @@ if system_locale == 'pt': comment = "Gerencie seus aplicativos Flatpak / Snap / AUR " tray = 'bandeja' elif system_locale == 'es': - comment = "Administre sus aplicaciones Flatpak / Snap / AUR" + comment = "Administre sus aplicativos Flatpak / Snap / AUR" tray = 'bandeja' else: comment = "Manage your Flatpak / Snap / AUR applications" diff --git a/bauh/app.py b/bauh/app.py index 36c7ca9f..3de034f2 100755 --- a/bauh/app.py +++ b/bauh/app.py @@ -6,13 +6,13 @@ from PyQt5.QtWidgets import QApplication from bauh import __version__, __app_name__, app_args, ROOT_DIR from bauh.api.abstract.controller import ApplicationContext from bauh.api.http import HttpClient -from bauh.core import gems, config -from bauh.core.controller import GenericSoftwareManager -from bauh.util import util, logs, resource -from bauh.util.cache import DefaultMemoryCacheFactory, CacheCleaner -from bauh.util.disk import DefaultDiskCacheLoaderFactory +from bauh.view.core import gems, config +from bauh.view.core.controller import GenericSoftwareManager +from bauh.view.util import util, logs, resource from bauh.view.qt.systray import TrayIcon from bauh.view.qt.window import ManageWindow +from bauh.view.util.cache import CacheCleaner, DefaultMemoryCacheFactory +from bauh.view.util.disk import DefaultDiskCacheLoaderFactory args = app_args.read() logger = logs.new_logger(__app_name__, bool(args.logs)) diff --git a/bauh/util/html.py b/bauh/util/html.py deleted file mode 100644 index 696973b9..00000000 --- a/bauh/util/html.py +++ /dev/null @@ -1,7 +0,0 @@ -import re - -HTML_RE = re.compile(r'<[^>]+>') - - -def strip_html(string: str): - return HTML_RE.sub('', string) diff --git a/bauh/core/__init__.py b/bauh/view/core/__init__.py similarity index 100% rename from bauh/core/__init__.py rename to bauh/view/core/__init__.py diff --git a/bauh/core/config.py b/bauh/view/core/config.py similarity index 100% rename from bauh/core/config.py rename to bauh/view/core/config.py diff --git a/bauh/core/controller.py b/bauh/view/core/controller.py similarity index 100% rename from bauh/core/controller.py rename to bauh/view/core/controller.py diff --git a/bauh/core/gems.py b/bauh/view/core/gems.py similarity index 96% rename from bauh/core/gems.py rename to bauh/view/core/gems.py index 57ebde44..a635de99 100644 --- a/bauh/core/gems.py +++ b/bauh/view/core/gems.py @@ -1,11 +1,11 @@ import inspect import os import pkgutil -from typing import List, Type +from typing import List from bauh import ROOT_DIR from bauh.api.abstract.controller import SoftwareManager, ApplicationContext -from bauh.util import util +from bauh.view.util import util def find_manager(member): diff --git a/bauh/view/qt/about.py b/bauh/view/qt/about.py index 85856d42..af01658e 100644 --- a/bauh/view/qt/about.py +++ b/bauh/view/qt/about.py @@ -3,7 +3,7 @@ from PyQt5.QtGui import QPixmap from PyQt5.QtWidgets import QVBoxLayout, QDialog, QLabel from bauh import __version__, __app_name__ -from bauh.util import resource +from bauh.view.util import resource PROJECT_URL = 'https://github.com/vinifmor/' + __app_name__ LICENSE_URL = 'https://raw.githubusercontent.com/vinifmor/{}/master/LICENSE'.format(__app_name__) @@ -30,7 +30,7 @@ class AboutDialog(QDialog): layout.addWidget(QLabel('')) line_desc = QLabel(self) - line_desc.setStyleSheet('font-size: 10px; font-weight: bold;') + line_desc.setStyleSheet('font-size: 11px; font-weight: bold;') line_desc.setText(locale_keys['about.info.desc']) line_desc.setAlignment(Qt.AlignCenter) line_desc.setMinimumWidth(400) @@ -39,14 +39,14 @@ class AboutDialog(QDialog): layout.addWidget(QLabel('')) label_more_info = QLabel() - label_more_info.setStyleSheet('font-size: 9px;') + label_more_info.setStyleSheet('font-size: 10px;') label_more_info.setText(locale_keys['about.info.link'] + ": {url}".format(url=PROJECT_URL)) label_more_info.setOpenExternalLinks(True) label_more_info.setAlignment(Qt.AlignCenter) layout.addWidget(label_more_info) label_license = QLabel() - label_license.setStyleSheet('font-size: 9px;') + label_license.setStyleSheet('font-size: 10px;') label_license.setText("{}".format(LICENSE_URL, locale_keys['about.info.license'])) label_license.setOpenExternalLinks(True) label_license.setAlignment(Qt.AlignCenter) @@ -55,7 +55,7 @@ class AboutDialog(QDialog): layout.addWidget(QLabel('')) label_rate = QLabel() - label_rate.setStyleSheet('font-size: 9px; font-weight: bold;') + label_rate.setStyleSheet('font-size: 10px; font-weight: bold;') label_rate.setText(locale_keys['about.info.rate'] + ' :)') label_rate.setOpenExternalLinks(True) label_rate.setAlignment(Qt.AlignCenter) diff --git a/bauh/view/qt/apps_table.py b/bauh/view/qt/apps_table.py index 5101de95..37042f66 100644 --- a/bauh/view/qt/apps_table.py +++ b/bauh/view/qt/apps_table.py @@ -10,8 +10,8 @@ from PyQt5.QtWidgets import QTableWidget, QTableView, QMenu, QAction, QTableWidg from bauh.api.abstract.cache import MemoryCache from bauh.api.abstract.model import PackageStatus -from bauh.util import resource -from bauh.util.html import strip_html +from bauh.commons.html import strip_html +from bauh.view.util import resource from bauh.view.qt import dialog from bauh.view.qt.components import IconButton from bauh.view.qt.view_model import PackageView, PackageViewStatus @@ -385,13 +385,13 @@ class AppsTable(QTableWidget): def get_info(): self.window.get_app_info(pkg) - item.addWidget(IconButton(icon_path=resource.get_path('img/app_info.svg'), action=get_info, background='#2E68D3')) + item.addWidget(IconButton(icon_path=resource.get_path('img/app_info.svg'), action=get_info, background='#2E68D3', tooltip=self.i18n['action.info.tooltip'])) def handle_click(): self.show_pkg_settings(pkg) if self.has_any_settings(pkg): - bt = IconButton(icon_path=resource.get_path('img/app_settings.svg'), action=handle_click, background='#12ABAB') + bt = IconButton(icon_path=resource.get_path('img/app_settings.svg'), action=handle_click, background='#12ABAB', tooltip=self.i18n['action.settings.tooltip']) item.addWidget(bt) self.setCellWidget(idx, col, item) diff --git a/bauh/view/qt/dialog.py b/bauh/view/qt/dialog.py index 31477d72..ddf40304 100644 --- a/bauh/view/qt/dialog.py +++ b/bauh/view/qt/dialog.py @@ -4,7 +4,7 @@ from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QMessageBox, QLabel, QWidget, QHBoxLayout from bauh.api.abstract.view import MessageType -from bauh.util import resource +from bauh.view.util import resource from bauh.view.qt import css MSG_TYPE_MAP = { diff --git a/bauh/view/qt/gem_selector.py b/bauh/view/qt/gem_selector.py index e70efe6c..9c899e4d 100644 --- a/bauh/view/qt/gem_selector.py +++ b/bauh/view/qt/gem_selector.py @@ -4,9 +4,9 @@ from PyQt5.QtWidgets import QWidget, QLabel, QGridLayout, QPushButton from bauh import ROOT_DIR from bauh.api.abstract.view import MultipleSelectComponent, InputOption -from bauh.commons import resource -from bauh.core.config import Configuration, save -from bauh.core.controller import GenericSoftwareManager +from bauh.view.core.config import Configuration, save +from bauh.view.core.controller import GenericSoftwareManager +from bauh.view.util import resource from bauh.view.qt import qt_utils, css from bauh.view.qt.components import MultipleSelectQt, CheckboxQt, new_spacer @@ -19,7 +19,7 @@ class GemSelectorPanel(QWidget): self.manager = manager self.config = config self.setLayout(QGridLayout()) - self.setWindowIcon(QIcon(resource.get_path('img/logo.svg', ROOT_DIR))) + self.setWindowIcon(QIcon(resource.get_path('img/logo.svg'))) self.setWindowTitle(i18n['gem_selector.title']) self.resize(400, 400) self.show_panel_after_restart = show_panel_after_restart diff --git a/bauh/view/qt/info.py b/bauh/view/qt/info.py index 1f8adf16..fdffc597 100644 --- a/bauh/view/qt/info.py +++ b/bauh/view/qt/info.py @@ -3,8 +3,7 @@ from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QDialog, QVBoxLayout, QGroupBox, \ QLineEdit, QLabel, QGridLayout, QPushButton, QPlainTextEdit, QToolBar from bauh.api.abstract.cache import MemoryCache - -from bauh.util.html import strip_html +from bauh.commons.html import strip_html IGNORED_ATTRS = {'name', '__app__'} diff --git a/bauh/view/qt/root.py b/bauh/view/qt/root.py index 133049cf..477c604e 100644 --- a/bauh/view/qt/root.py +++ b/bauh/view/qt/root.py @@ -5,9 +5,8 @@ import subprocess from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QInputDialog, QLineEdit -from bauh import ROOT_DIR from bauh.api.abstract.view import MessageType -from bauh.commons import resource +from bauh.view.util import resource from bauh.view.qt.dialog import show_message @@ -20,7 +19,7 @@ def ask_root_password(locale_keys: dict): diag = QInputDialog() diag.setInputMode(QInputDialog.TextInput) diag.setTextEchoMode(QLineEdit.Password) - diag.setWindowIcon(QIcon(resource.get_path('img/lock.svg', ROOT_DIR))) + diag.setWindowIcon(QIcon(resource.get_path('img/lock.svg'))) diag.setWindowTitle(locale_keys['popup.root.title']) diag.setLabelText(locale_keys['popup.root.password'] + ':') diag.setCancelButtonText(locale_keys['popup.button.cancel']) diff --git a/bauh/view/qt/styles.py b/bauh/view/qt/styles.py index 224bd2c0..9636b163 100644 --- a/bauh/view/qt/styles.py +++ b/bauh/view/qt/styles.py @@ -2,8 +2,8 @@ from PyQt5.QtWidgets import QComboBox, QStyleFactory, QWidget, QApplication from bauh import __app_name__ from bauh.commons.html import bold -from bauh.core import config -from bauh.util import util +from bauh.view.core import config +from bauh.view.util import util from bauh.view.qt import dialog diff --git a/bauh/view/qt/systray.py b/bauh/view/qt/systray.py index 3eea125c..65244752 100755 --- a/bauh/view/qt/systray.py +++ b/bauh/view/qt/systray.py @@ -9,7 +9,7 @@ from PyQt5.QtWidgets import QSystemTrayIcon, QMenu from bauh import __app_name__ from bauh.api.abstract.controller import SoftwareManager from bauh.api.abstract.model import PackageUpdate -from bauh.util import util, resource +from bauh.view.util import util, resource from bauh.view.qt.about import AboutDialog from bauh.view.qt.window import ManageWindow diff --git a/bauh/view/qt/window.py b/bauh/view/qt/window.py index cdb8a28f..a011fdec 100755 --- a/bauh/view/qt/window.py +++ b/bauh/view/qt/window.py @@ -6,15 +6,15 @@ from PyQt5.QtCore import QEvent, Qt, QSize, pyqtSignal from PyQt5.QtGui import QIcon, QWindowStateChangeEvent, QPixmap, QCursor from PyQt5.QtWidgets import QWidget, QVBoxLayout, QCheckBox, QHeaderView, QToolBar, \ QLabel, QPlainTextEdit, QLineEdit, QProgressBar, QPushButton, QComboBox, QMenu, QAction, QApplication +from pip._internal.configuration import Configuration from bauh.api.abstract.cache import MemoryCache from bauh.api.abstract.context import ApplicationContext from bauh.api.abstract.controller import SoftwareManager from bauh.api.abstract.model import SoftwarePackage, PackageAction from bauh.api.abstract.view import MessageType -from bauh.core.config import Configuration -from bauh.core.controller import GenericSoftwareManager -from bauh.util import util, resource +from bauh.view.core.controller import GenericSoftwareManager +from bauh.view.util import util, resource from bauh.view.qt import dialog, commons, qt_utils from bauh.view.qt.about import AboutDialog from bauh.view.qt.apps_table import AppsTable, UpdateToggleButton @@ -242,7 +242,10 @@ class ManageWindow(QWidget): self.combo_styles.setStyleSheet('QComboBox {font-size: 12px;}') self.ref_combo_styles = self.toolbar_bottom.addWidget(self.combo_styles) - bt_settings = IconButton(icon_path=resource.get_path('img/app_settings.svg'), action=self._show_settings_menu, background='#12ABAB') + bt_settings = IconButton(icon_path=resource.get_path('img/app_settings.svg'), + action=self._show_settings_menu, + background='#12ABAB', + tooltip=self.i18n['manage_window.bt_settings.tooltip']) self.ref_bt_settings = self.toolbar_bottom.addWidget(bt_settings) self.layout.addWidget(self.toolbar_bottom) diff --git a/bauh/resources/img/about.svg b/bauh/view/resources/img/about.svg similarity index 100% rename from bauh/resources/img/about.svg rename to bauh/view/resources/img/about.svg diff --git a/bauh/resources/img/app_info.svg b/bauh/view/resources/img/app_info.svg similarity index 100% rename from bauh/resources/img/app_info.svg rename to bauh/view/resources/img/app_info.svg diff --git a/bauh/resources/img/app_play.png b/bauh/view/resources/img/app_play.png similarity index 100% rename from bauh/resources/img/app_play.png rename to bauh/view/resources/img/app_play.png diff --git a/bauh/resources/img/app_settings.svg b/bauh/view/resources/img/app_settings.svg similarity index 100% rename from bauh/resources/img/app_settings.svg rename to bauh/view/resources/img/app_settings.svg diff --git a/bauh/resources/img/app_update.svg b/bauh/view/resources/img/app_update.svg similarity index 100% rename from bauh/resources/img/app_update.svg rename to bauh/view/resources/img/app_update.svg diff --git a/bauh/resources/img/checked.svg b/bauh/view/resources/img/checked.svg similarity index 100% rename from bauh/resources/img/checked.svg rename to bauh/view/resources/img/checked.svg diff --git a/bauh/resources/img/disc.svg b/bauh/view/resources/img/disc.svg similarity index 100% rename from bauh/resources/img/disc.svg rename to bauh/view/resources/img/disc.svg diff --git a/bauh/resources/img/disk.png b/bauh/view/resources/img/disk.png similarity index 100% rename from bauh/resources/img/disk.png rename to bauh/view/resources/img/disk.png diff --git a/bauh/resources/img/downgrade.svg b/bauh/view/resources/img/downgrade.svg similarity index 100% rename from bauh/resources/img/downgrade.svg rename to bauh/view/resources/img/downgrade.svg diff --git a/bauh/resources/img/exclamation.svg b/bauh/view/resources/img/exclamation.svg similarity index 100% rename from bauh/resources/img/exclamation.svg rename to bauh/view/resources/img/exclamation.svg diff --git a/bauh/resources/img/history.svg b/bauh/view/resources/img/history.svg similarity index 100% rename from bauh/resources/img/history.svg rename to bauh/view/resources/img/history.svg diff --git a/bauh/resources/img/install.svg b/bauh/view/resources/img/install.svg similarity index 100% rename from bauh/resources/img/install.svg rename to bauh/view/resources/img/install.svg diff --git a/bauh/resources/img/lock.svg b/bauh/view/resources/img/lock.svg similarity index 100% rename from bauh/resources/img/lock.svg rename to bauh/view/resources/img/lock.svg diff --git a/bauh/resources/img/logo.png b/bauh/view/resources/img/logo.png similarity index 100% rename from bauh/resources/img/logo.png rename to bauh/view/resources/img/logo.png diff --git a/bauh/resources/img/logo.svg b/bauh/view/resources/img/logo.svg similarity index 100% rename from bauh/resources/img/logo.svg rename to bauh/view/resources/img/logo.svg diff --git a/bauh/resources/img/logo_update.png b/bauh/view/resources/img/logo_update.png similarity index 100% rename from bauh/resources/img/logo_update.png rename to bauh/view/resources/img/logo_update.png diff --git a/bauh/resources/img/logo_update.svg b/bauh/view/resources/img/logo_update.svg similarity index 100% rename from bauh/resources/img/logo_update.svg rename to bauh/view/resources/img/logo_update.svg diff --git a/bauh/resources/img/red_cross.svg b/bauh/view/resources/img/red_cross.svg similarity index 100% rename from bauh/resources/img/red_cross.svg rename to bauh/view/resources/img/red_cross.svg diff --git a/bauh/resources/img/refresh.svg b/bauh/view/resources/img/refresh.svg similarity index 100% rename from bauh/resources/img/refresh.svg rename to bauh/view/resources/img/refresh.svg diff --git a/bauh/resources/img/search.svg b/bauh/view/resources/img/search.svg similarity index 100% rename from bauh/resources/img/search.svg rename to bauh/view/resources/img/search.svg diff --git a/bauh/resources/img/uninstall.svg b/bauh/view/resources/img/uninstall.svg similarity index 100% rename from bauh/resources/img/uninstall.svg rename to bauh/view/resources/img/uninstall.svg diff --git a/bauh/resources/locale/en b/bauh/view/resources/locale/en similarity index 95% rename from bauh/resources/locale/en rename to bauh/view/resources/locale/en index f7a43b92..7c98f589 100644 --- a/bauh/resources/locale/en +++ b/bauh/view/resources/locale/en @@ -47,6 +47,8 @@ tray.action.manage=Manage applications tray.action.exit=Quit tray.action.about=About tray.action.refreshing=Refreshing +action.info.tooltip=Click here to see information about this application +action.settings.tooltip=Click here to open extra actions notification.new_updates=Updates notification.update_selected.success=app(s) updated successfully notification.update_selected.failed=Update failed @@ -111,4 +113,5 @@ exit=exit manage_window.settings.gems=Application types style=style style.change.title=Style change -style.change.question=To change the current style is necessary to restart {}. Proceed ? \ No newline at end of file +style.change.question=To change the current style is necessary to restart {}. Proceed ? +manage_window.bt_settings.tooltip=Click here to open extra actions \ No newline at end of file diff --git a/bauh/resources/locale/es b/bauh/view/resources/locale/es similarity index 94% rename from bauh/resources/locale/es rename to bauh/view/resources/locale/es index 6855980a..8693be76 100644 --- a/bauh/resources/locale/es +++ b/bauh/view/resources/locale/es @@ -49,6 +49,8 @@ tray.action.manage=Administrar aplicativos tray.action.exit=Cerrar tray.action.about=Sobre tray.action.refreshing=Recargando +action.info.tooltip=Haga clic aquí para ver informaciones sobre este aplicativo +action.settings.tooltip=Haga clic aquí para abrir acciones adicionales notification.new_updates=Actualizaciones notification.update_selected.success=aplicativo(s) actualizado(s) con éxito notification.update_selected.failed=La actualización falló @@ -113,4 +115,5 @@ exit=salir manage_window.settings.gems=Tipos de aplicativos style=estilo style.change.title=Cambio de estilo -style.change.question=Para cambiar el estilo actual es necesario reiniciar {}. ¿Proceder? \ No newline at end of file +style.change.question=Para cambiar el estilo actual es necesario reiniciar {}. ¿Proceder? +manage_window.bt_settings.tooltip=Haga clic aquí para abrir acciones adicionales \ No newline at end of file diff --git a/bauh/resources/locale/pt b/bauh/view/resources/locale/pt similarity index 95% rename from bauh/resources/locale/pt rename to bauh/view/resources/locale/pt index 361b1991..2f7ab916 100644 --- a/bauh/resources/locale/pt +++ b/bauh/view/resources/locale/pt @@ -99,6 +99,8 @@ ask.continue=Continuar ? cancel=cancelar status.caching_data=Cacheando dados de {} para o disco action.run.tooltip=Clique aqui para iniciar esse aplicativo +action.info.tooltip=Clique aqui para ver informações sobre este aplicativo +action.settings.tooltip=Clique aqui para abrir ações adicionais any=qualquer manage_window.name_filter.tooltip=Digite aqui para filtrar aplicativos pelo nome manage_window.name_filter.placeholder=Filtrar por nome @@ -113,4 +115,5 @@ exit=sair manage_window.settings.gems=Tipos de aplicativos style=estilo style.change.title=Mudança de estilo -style.change.question=Para alterar o estilo atual é necessário reiniciar o {}. Continuar ? \ No newline at end of file +style.change.question=Para alterar o estilo atual é necessário reiniciar o {}. Continuar ? +manage_window.bt_settings.tooltip=Clique aqui para abrir ações adicionais \ No newline at end of file diff --git a/bauh/util/__init__.py b/bauh/view/util/__init__.py similarity index 100% rename from bauh/util/__init__.py rename to bauh/view/util/__init__.py diff --git a/bauh/util/cache.py b/bauh/view/util/cache.py similarity index 100% rename from bauh/util/cache.py rename to bauh/view/util/cache.py diff --git a/bauh/util/disk.py b/bauh/view/util/disk.py similarity index 100% rename from bauh/util/disk.py rename to bauh/view/util/disk.py diff --git a/bauh/util/logs.py b/bauh/view/util/logs.py similarity index 100% rename from bauh/util/logs.py rename to bauh/view/util/logs.py diff --git a/bauh/util/resource.py b/bauh/view/util/resource.py similarity index 50% rename from bauh/util/resource.py rename to bauh/view/util/resource.py index fa7448f1..a0c0f0c1 100755 --- a/bauh/util/resource.py +++ b/bauh/view/util/resource.py @@ -2,4 +2,4 @@ from bauh import ROOT_DIR def get_path(resource_path): - return ROOT_DIR + '/resources/' + resource_path + return ROOT_DIR + '/view/resources/' + resource_path diff --git a/bauh/util/util.py b/bauh/view/util/util.py similarity index 97% rename from bauh/util/util.py rename to bauh/view/util/util.py index f6cc4b39..7e1f8cc4 100644 --- a/bauh/util/util.py +++ b/bauh/view/util/util.py @@ -7,7 +7,7 @@ import sys from PyQt5.QtCore import QCoreApplication from bauh import __app_name__ -from bauh.util import resource +from bauh.view.util import resource def get_locale_keys(key: str = None, locale_dir: str = resource.get_path('locale')): diff --git a/setup.py b/setup.py index fb394ab9..daf11dde 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ setup( python_requires=">=3.5", url=URL, packages=find_packages(), - package_data={NAME: ["resources/locale/*", "resources/img/*", "gems/*/resources/img/*", "gems/*/resources/locale/*"]}, + package_data={NAME: ["view/resources/locale/*", "view/resources/img/*", "gems/*/resources/img/*", "gems/*/resources/locale/*"]}, install_requires=requirements, entry_points={ "console_scripts": [