diff --git a/MANIFEST.in b/MANIFEST.in index ed4b5e5b1..81bf824b7 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,7 +4,7 @@ recursive-include qutebrowser/javascript *.js graft tests graft qutebrowser/html graft qutebrowser/3rdparty -graft icons +graft qutebrowser/icons graft doc/img graft misc/apparmor graft misc/userscripts diff --git a/README.asciidoc b/README.asciidoc index bb1f2562c..d1bb9ee98 100644 --- a/README.asciidoc +++ b/README.asciidoc @@ -7,7 +7,7 @@ qutebrowser =========== // QUTE_WEB_HIDE -image:icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on PyQt5 and Qt.* +image:qutebrowser/icons/qutebrowser-64x64.png[qutebrowser logo] *A keyboard-driven, vim-like browser based on PyQt5 and Qt.* image:https://github.com/qutebrowser/qutebrowser/workflows/CI/badge.svg["Build Status", link="https://github.com/qutebrowser/qutebrowser/actions?query=workflow%3ACI"] image:https://codecov.io/github/qutebrowser/qutebrowser/coverage.svg?branch=master["coverage badge",link="https://codecov.io/github/qutebrowser/qutebrowser?branch=master"] diff --git a/misc/Makefile b/misc/Makefile index b916a20d5..0b021f305 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -24,7 +24,7 @@ install: man "$(DESTDIR)$(MANDIR)/man1/qutebrowser.1" install -Dm644 misc/org.qutebrowser.qutebrowser.desktop \ "$(DESTDIR)$(DATADIR)/applications/org.qutebrowser.qutebrowser.desktop" - $(foreach i,$(ICONSIZES),install -Dm644 "icons/qutebrowser-$(i)x$(i).png" \ + $(foreach i,$(ICONSIZES),install -Dm644 "qutebrowser/icons/qutebrowser-$(i)x$(i).png" \ "$(DESTDIR)$(DATADIR)/icons/hicolor/$(i)x$(i)/apps/qutebrowser.png";) install -Dm644 icons/qutebrowser.svg \ "$(DESTDIR)$(DATADIR)/icons/hicolor/scalable/apps/qutebrowser.svg" diff --git a/misc/qutebrowser.rcc b/misc/qutebrowser.rcc deleted file mode 100644 index ffe9e47f6..000000000 --- a/misc/qutebrowser.rcc +++ /dev/null @@ -1,13 +0,0 @@ - - - ../icons/qutebrowser-16x16.png - ../icons/qutebrowser-24x24.png - ../icons/qutebrowser-32x32.png - ../icons/qutebrowser-48x48.png - ../icons/qutebrowser-64x64.png - ../icons/qutebrowser-96x96.png - ../icons/qutebrowser-128x128.png - ../icons/qutebrowser-256x256.png - ../icons/qutebrowser-512x512.png - - diff --git a/misc/qutebrowser.spec b/misc/qutebrowser.spec index ffb17d371..11eb11c7d 100644 --- a/misc/qutebrowser.spec +++ b/misc/qutebrowser.spec @@ -40,9 +40,9 @@ setupcommon.write_git_file() if os.name == 'nt': - icon = '../icons/qutebrowser.ico' + icon = '../qutebrowser/icons/qutebrowser.ico' elif sys.platform == 'darwin': - icon = '../icons/qutebrowser.icns' + icon = '../qutebrowser/icons/qutebrowser.icns' else: icon = None diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 1ab28e8d0..663c33ffc 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -182,8 +182,9 @@ def _init_icon(): """Initialize the icon of qutebrowser.""" fallback_icon = QIcon() for size in [16, 24, 32, 48, 64, 96, 128, 256, 512]: - filename = ':/icons/qutebrowser-{size}x{size}.png'.format(size=size) - pixmap = QPixmap(filename) + filename = 'icons/qutebrowser-{size}x{size}.png'.format(size=size) + pixmap = QPixmap() + pixmap.loadFromData(resources.read_file_binary(filename)) if pixmap.isNull(): log.init.warning("Failed to load {}".format(filename)) else: diff --git a/qutebrowser/browser/webengine/notification.py b/qutebrowser/browser/webengine/notification.py index 69c702aec..2b77a5ac4 100644 --- a/qutebrowser/browser/webengine/notification.py +++ b/qutebrowser/browser/webengine/notification.py @@ -65,7 +65,9 @@ if TYPE_CHECKING: from qutebrowser.config import config from qutebrowser.misc import objects -from qutebrowser.utils import qtutils, log, utils, debug, message, version, objreg +from qutebrowser.utils import ( + qtutils, log, utils, debug, message, version, objreg, resources, +) from qutebrowser.qt import sip @@ -965,8 +967,8 @@ class DBusNotificationAdapter(AbstractNotificationAdapter): icon = qt_notification.icon() if icon.isNull(): - filename = ':/icons/qutebrowser-64x64.png' - icon = QImage(filename) + filename = 'icons/qutebrowser-64x64.png' + icon = QImage.fromData(resources.read_file_binary(filename)) key = self._quirks.icon_key or "image-data" data = self._convert_image(icon) diff --git a/icons/qutebrowser-128x128.png b/qutebrowser/icons/qutebrowser-128x128.png similarity index 100% rename from icons/qutebrowser-128x128.png rename to qutebrowser/icons/qutebrowser-128x128.png diff --git a/icons/qutebrowser-16x16.png b/qutebrowser/icons/qutebrowser-16x16.png similarity index 100% rename from icons/qutebrowser-16x16.png rename to qutebrowser/icons/qutebrowser-16x16.png diff --git a/icons/qutebrowser-24x24.png b/qutebrowser/icons/qutebrowser-24x24.png similarity index 100% rename from icons/qutebrowser-24x24.png rename to qutebrowser/icons/qutebrowser-24x24.png diff --git a/icons/qutebrowser-256x256.png b/qutebrowser/icons/qutebrowser-256x256.png similarity index 100% rename from icons/qutebrowser-256x256.png rename to qutebrowser/icons/qutebrowser-256x256.png diff --git a/icons/qutebrowser-32x32.png b/qutebrowser/icons/qutebrowser-32x32.png similarity index 100% rename from icons/qutebrowser-32x32.png rename to qutebrowser/icons/qutebrowser-32x32.png diff --git a/icons/qutebrowser-48x48.png b/qutebrowser/icons/qutebrowser-48x48.png similarity index 100% rename from icons/qutebrowser-48x48.png rename to qutebrowser/icons/qutebrowser-48x48.png diff --git a/icons/qutebrowser-512x512.png b/qutebrowser/icons/qutebrowser-512x512.png similarity index 100% rename from icons/qutebrowser-512x512.png rename to qutebrowser/icons/qutebrowser-512x512.png diff --git a/icons/qutebrowser-64x64.png b/qutebrowser/icons/qutebrowser-64x64.png similarity index 100% rename from icons/qutebrowser-64x64.png rename to qutebrowser/icons/qutebrowser-64x64.png diff --git a/icons/qutebrowser-96x96.png b/qutebrowser/icons/qutebrowser-96x96.png similarity index 100% rename from icons/qutebrowser-96x96.png rename to qutebrowser/icons/qutebrowser-96x96.png diff --git a/icons/qutebrowser-all.svg b/qutebrowser/icons/qutebrowser-all.svg similarity index 100% rename from icons/qutebrowser-all.svg rename to qutebrowser/icons/qutebrowser-all.svg diff --git a/icons/qutebrowser-favicon.svg b/qutebrowser/icons/qutebrowser-favicon.svg similarity index 100% rename from icons/qutebrowser-favicon.svg rename to qutebrowser/icons/qutebrowser-favicon.svg diff --git a/icons/qutebrowser.icns b/qutebrowser/icons/qutebrowser.icns similarity index 100% rename from icons/qutebrowser.icns rename to qutebrowser/icons/qutebrowser.icns diff --git a/icons/qutebrowser.ico b/qutebrowser/icons/qutebrowser.ico similarity index 100% rename from icons/qutebrowser.ico rename to qutebrowser/icons/qutebrowser.ico diff --git a/icons/qutebrowser.svg b/qutebrowser/icons/qutebrowser.svg similarity index 100% rename from icons/qutebrowser.svg rename to qutebrowser/icons/qutebrowser.svg diff --git a/icons/qutebrowser.xpm b/qutebrowser/icons/qutebrowser.xpm similarity index 100% rename from icons/qutebrowser.xpm rename to qutebrowser/icons/qutebrowser.xpm diff --git a/scripts/asciidoc2html.py b/scripts/asciidoc2html.py index 0a6912b82..6b4e3fb0d 100755 --- a/scripts/asciidoc2html.py +++ b/scripts/asciidoc2html.py @@ -196,7 +196,11 @@ class AsciiDoc: continue self._build_website_file(item_path.parent, item_path.name) - copy = {'icons': 'icons', 'doc/img': 'doc/img', 'www/media': 'media/'} + copy = { + 'qutebrowser/icons': 'icons', + 'doc/img': 'doc/img', + 'www/media': 'media/', + } for src, dest in copy.items(): full_src = REPO_ROOT / src diff --git a/scripts/dev/gen_resources.py b/scripts/dev/gen_resources.py deleted file mode 100644 index efa6c6a3d..000000000 --- a/scripts/dev/gen_resources.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 -# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et: - -# Copyright 2014-2021 Florian Bruhin (The-Compiler) - -# this file is part of qutebrowser. -# -# qutebrowser is free software: you can redistribute it and/or modify -# it under the terms of the gnu general public license as published by -# the free software foundation, either version 3 of the license, or -# (at your option) any later version. -# -# qutebrowser is distributed in the hope that it will be useful, -# but without any warranty; without even the implied warranty of -# merchantability or fitness for a particular purpose. see the -# gnu general public license for more details. -# -# you should have received a copy of the gnu general public license -# along with qutebrowser. If not, see . - -"""Generate Qt resources based on source files.""" - -import subprocess -import pathlib - -ROOT = pathlib.Path(__file__).parents[2] -OUTPUT = ROOT / 'qutebrowser' / 'resources.py' -INPUT = ROOT / 'misc' / 'qutebrowser.rcc' - -subprocess.run(['pyrcc5', '-o', str(OUTPUT), str(INPUT)], check=True) diff --git a/tests/end2end/fixtures/webserver_sub.py b/tests/end2end/fixtures/webserver_sub.py index 6a4b249c2..392fbe43f 100644 --- a/tests/end2end/fixtures/webserver_sub.py +++ b/tests/end2end/fixtures/webserver_sub.py @@ -294,7 +294,7 @@ def view_user_agent(): def favicon(): # WORKAROUND for https://github.com/PyCQA/pylint/issues/5783 # pylint: disable-next=no-member,useless-suppression - icon_dir = END2END_DIR.parents[1] / 'icons' + icon_dir = END2END_DIR.parents[1] / 'qutebrowser' / 'icons' return flask.send_from_directory( icon_dir, 'qutebrowser.ico', mimetype='image/vnd.microsoft.icon')