From c4e1edfa8008170fe6d1988ed6f6986a1852f802 Mon Sep 17 00:00:00 2001 From: Martin Fitzpatrick Date: Fri, 9 Feb 2018 23:10:03 +0100 Subject: [PATCH] Initial commit. --- .gitignore | 66 + README.md | 55 + browser/browser.py | 202 +++ browser/images/arrow-000.png | Bin 0 -> 615 bytes browser/images/arrow-180.png | Bin 0 -> 589 bytes browser/images/arrow-circle-315.png | Bin 0 -> 829 bytes browser/images/cross-circle.png | Bin 0 -> 729 bytes browser/images/cross.png | Bin 0 -> 2237 bytes browser/images/disk--arrow.png | Bin 0 -> 621 bytes browser/images/disk--pencil.png | Bin 0 -> 677 bytes browser/images/home.png | Bin 0 -> 752 bytes browser/images/lifebuoy.png | Bin 0 -> 902 bytes browser/images/lock-nossl.png | Bin 0 -> 694 bytes browser/images/lock-ssl.png | Bin 0 -> 1622 bytes browser/images/ma-icon-128.png | Bin 0 -> 17778 bytes browser/images/ma-icon-256.png | Bin 0 -> 48868 bytes browser/images/ma-icon-64.png | Bin 0 -> 6281 bytes browser/images/printer.png | Bin 0 -> 715 bytes browser/images/question.png | Bin 0 -> 766 bytes browser/images/ui-tab--plus.png | Bin 0 -> 489 bytes browser_tabbed/browser_tabbed.py | 255 +++ browser_tabbed/images/arrow-000.png | Bin 0 -> 615 bytes browser_tabbed/images/arrow-180.png | Bin 0 -> 589 bytes browser_tabbed/images/arrow-circle-315.png | Bin 0 -> 829 bytes browser_tabbed/images/cross-circle.png | Bin 0 -> 729 bytes browser_tabbed/images/cross.png | Bin 0 -> 2237 bytes browser_tabbed/images/disk--arrow.png | Bin 0 -> 621 bytes browser_tabbed/images/disk--pencil.png | Bin 0 -> 677 bytes browser_tabbed/images/home.png | Bin 0 -> 752 bytes browser_tabbed/images/lifebuoy.png | Bin 0 -> 902 bytes browser_tabbed/images/lock-nossl.png | Bin 0 -> 694 bytes browser_tabbed/images/lock-ssl.png | Bin 0 -> 1622 bytes browser_tabbed/images/ma-icon-128.png | Bin 0 -> 17778 bytes browser_tabbed/images/ma-icon-256.png | Bin 0 -> 48868 bytes browser_tabbed/images/ma-icon-64.png | Bin 0 -> 6281 bytes browser_tabbed/images/printer.png | Bin 0 -> 715 bytes browser_tabbed/images/question.png | Bin 0 -> 766 bytes browser_tabbed/images/ui-tab--plus.png | Bin 0 -> 489 bytes calculator/MainWindow.py | 318 ++++ calculator/calculator.py | 105 ++ calculator/mainwindow.ui | 583 +++++++ camera/camera.py | 107 ++ camera/images/blue-folder-horizontal-open.png | Bin 0 -> 504 bytes camera/images/camera-black.png | Bin 0 -> 571 bytes mediaplayer/MainWindow.py | 141 ++ mediaplayer/images/application-image.png | Bin 0 -> 544 bytes mediaplayer/images/control-pause.png | Bin 0 -> 427 bytes mediaplayer/images/control-skip-180.png | Bin 0 -> 577 bytes mediaplayer/images/control-skip.png | Bin 0 -> 572 bytes mediaplayer/images/control-stop-square.png | Bin 0 -> 411 bytes mediaplayer/images/control.png | Bin 0 -> 470 bytes mediaplayer/images/speaker-volume.png | Bin 0 -> 566 bytes mediaplayer/mainwindow.ui | 227 +++ mediaplayer/mainwindow.ui.autosave | 227 +++ mediaplayer/mediaplayer.py | 184 +++ minesweeper/images/bomb.png | Bin 0 -> 752 bytes minesweeper/images/bug.png | Bin 0 -> 704 bytes minesweeper/images/cactus.png | Bin 0 -> 1609 bytes minesweeper/images/cake.png | Bin 0 -> 755 bytes minesweeper/images/clock-select.png | Bin 0 -> 741 bytes minesweeper/images/cross.png | Bin 0 -> 2237 bytes minesweeper/images/cup.png | Bin 0 -> 734 bytes minesweeper/images/flag.png | Bin 0 -> 728 bytes minesweeper/images/fruit.png | Bin 0 -> 904 bytes minesweeper/images/hamburger.png | Bin 0 -> 1804 bytes minesweeper/images/ice-cream-sprinkles.png | Bin 0 -> 1715 bytes minesweeper/images/mushroom.png | Bin 0 -> 827 bytes minesweeper/images/plus.png | Bin 0 -> 963 bytes minesweeper/images/rocket.png | Bin 0 -> 668 bytes minesweeper/images/smiley-lol.png | Bin 0 -> 2362 bytes minesweeper/images/smiley.png | Bin 0 -> 2361 bytes minesweeper/minesweeper.py | 309 ++++ notepad/images/arrow-continue.png | Bin 0 -> 790 bytes notepad/images/arrow-curve-180-left.png | Bin 0 -> 631 bytes notepad/images/arrow-curve.png | Bin 0 -> 613 bytes notepad/images/blue-folder-open-document.png | Bin 0 -> 630 bytes .../images/clipboard-paste-document-text.png | Bin 0 -> 715 bytes notepad/images/disk--pencil.png | Bin 0 -> 677 bytes notepad/images/disk.png | Bin 0 -> 507 bytes notepad/images/document-copy.png | Bin 0 -> 606 bytes notepad/images/printer.png | Bin 0 -> 715 bytes notepad/images/question.png | Bin 0 -> 766 bytes notepad/images/scissors.png | Bin 0 -> 690 bytes notepad/images/selection-input.png | Bin 0 -> 265 bytes notepad/images/ui-tab--plus.png | Bin 0 -> 489 bytes notepad/notepad.py | 190 +++ notes/MainWindow.py | 83 + notes/images/cross-small.png | Bin 0 -> 344 bytes notes/images/cross.png | Bin 0 -> 544 bytes notes/mainwindow.ui | 139 ++ notes/notes.db | Bin 0 -> 8192 bytes notes/notes.py | 121 ++ paint/MainWindow.py | 663 ++++++++ paint/images/cake.png | Bin 0 -> 755 bytes paint/images/edit.png | Bin 0 -> 445 bytes paint/images/eraser.png | Bin 0 -> 680 bytes paint/images/layer-shape-ellipse.png | Bin 0 -> 761 bytes paint/images/layer-shape-line.png | Bin 0 -> 483 bytes paint/images/layer-shape-polygon.png | Bin 0 -> 643 bytes paint/images/layer-shape-polyline.png | Bin 0 -> 431 bytes paint/images/layer-shape-round.png | Bin 0 -> 646 bytes paint/images/layer-shape.png | Bin 0 -> 513 bytes paint/images/magnifier-zoom.png | Bin 0 -> 704 bytes paint/images/paint-brush.png | Bin 0 -> 589 bytes paint/images/paint-can.png | Bin 0 -> 721 bytes paint/images/pencil.png | Bin 0 -> 1529 bytes paint/images/pipette.png | Bin 0 -> 578 bytes paint/images/printer.png | Bin 0 -> 715 bytes paint/images/selection-poly.png | Bin 0 -> 346 bytes paint/images/selection.png | Bin 0 -> 231 bytes paint/images/spray.png | Bin 0 -> 616 bytes paint/images/stamp.png | Bin 0 -> 621 bytes paint/mainwindow.ui | 1452 +++++++++++++++++ paint/paint.py | 624 +++++++ paint/stamps/pie-apple.png | Bin 0 -> 44839 bytes paint/stamps/pie-cherry.png | Bin 0 -> 47426 bytes paint/stamps/pie-cherry2.png | Bin 0 -> 49551 bytes paint/stamps/pie-lemon.png | Bin 0 -> 34465 bytes paint/stamps/pie-moon.png | Bin 0 -> 30017 bytes paint/stamps/pie-pork.png | Bin 0 -> 75508 bytes paint/stamps/pie-pumpkin.png | Bin 0 -> 45109 bytes paint/stamps/pie-walnut.png | Bin 0 -> 37074 bytes wordprocessor/images/arrow-continue.png | Bin 0 -> 790 bytes wordprocessor/images/arrow-curve-180-left.png | Bin 0 -> 631 bytes wordprocessor/images/arrow-curve.png | Bin 0 -> 613 bytes .../images/blue-folder-open-document.png | Bin 0 -> 630 bytes .../images/clipboard-paste-document-text.png | Bin 0 -> 715 bytes wordprocessor/images/disk--pencil.png | Bin 0 -> 677 bytes wordprocessor/images/disk.png | Bin 0 -> 507 bytes wordprocessor/images/document-copy.png | Bin 0 -> 606 bytes .../images/edit-alignment-center.png | Bin 0 -> 266 bytes .../images/edit-alignment-justify.png | Bin 0 -> 270 bytes wordprocessor/images/edit-alignment-right.png | Bin 0 -> 267 bytes wordprocessor/images/edit-alignment.png | Bin 0 -> 261 bytes wordprocessor/images/edit-bold.png | Bin 0 -> 282 bytes wordprocessor/images/edit-color.png | Bin 0 -> 326 bytes wordprocessor/images/edit-italic.png | Bin 0 -> 247 bytes wordprocessor/images/edit-list-order.png | Bin 0 -> 298 bytes wordprocessor/images/edit-list.png | Bin 0 -> 300 bytes wordprocessor/images/edit-underline.png | Bin 0 -> 274 bytes wordprocessor/images/printer.png | Bin 0 -> 715 bytes wordprocessor/images/question.png | Bin 0 -> 766 bytes wordprocessor/images/scissors.png | Bin 0 -> 690 bytes wordprocessor/images/selection-input.png | Bin 0 -> 265 bytes wordprocessor/images/ui-tab--plus.png | Bin 0 -> 489 bytes wordprocessor/wordprocessor.py | 378 +++++ 146 files changed, 6429 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 browser/browser.py create mode 100644 browser/images/arrow-000.png create mode 100755 browser/images/arrow-180.png create mode 100755 browser/images/arrow-circle-315.png create mode 100755 browser/images/cross-circle.png create mode 100755 browser/images/cross.png create mode 100755 browser/images/disk--arrow.png create mode 100755 browser/images/disk--pencil.png create mode 100755 browser/images/home.png create mode 100755 browser/images/lifebuoy.png create mode 100755 browser/images/lock-nossl.png create mode 100755 browser/images/lock-ssl.png create mode 100644 browser/images/ma-icon-128.png create mode 100644 browser/images/ma-icon-256.png create mode 100644 browser/images/ma-icon-64.png create mode 100755 browser/images/printer.png create mode 100755 browser/images/question.png create mode 100755 browser/images/ui-tab--plus.png create mode 100644 browser_tabbed/browser_tabbed.py create mode 100644 browser_tabbed/images/arrow-000.png create mode 100755 browser_tabbed/images/arrow-180.png create mode 100755 browser_tabbed/images/arrow-circle-315.png create mode 100755 browser_tabbed/images/cross-circle.png create mode 100755 browser_tabbed/images/cross.png create mode 100755 browser_tabbed/images/disk--arrow.png create mode 100755 browser_tabbed/images/disk--pencil.png create mode 100755 browser_tabbed/images/home.png create mode 100755 browser_tabbed/images/lifebuoy.png create mode 100755 browser_tabbed/images/lock-nossl.png create mode 100755 browser_tabbed/images/lock-ssl.png create mode 100644 browser_tabbed/images/ma-icon-128.png create mode 100644 browser_tabbed/images/ma-icon-256.png create mode 100644 browser_tabbed/images/ma-icon-64.png create mode 100755 browser_tabbed/images/printer.png create mode 100755 browser_tabbed/images/question.png create mode 100755 browser_tabbed/images/ui-tab--plus.png create mode 100644 calculator/MainWindow.py create mode 100644 calculator/calculator.py create mode 100644 calculator/mainwindow.ui create mode 100644 camera/camera.py create mode 100755 camera/images/blue-folder-horizontal-open.png create mode 100755 camera/images/camera-black.png create mode 100644 mediaplayer/MainWindow.py create mode 100755 mediaplayer/images/application-image.png create mode 100755 mediaplayer/images/control-pause.png create mode 100755 mediaplayer/images/control-skip-180.png create mode 100755 mediaplayer/images/control-skip.png create mode 100755 mediaplayer/images/control-stop-square.png create mode 100755 mediaplayer/images/control.png create mode 100755 mediaplayer/images/speaker-volume.png create mode 100644 mediaplayer/mainwindow.ui create mode 100644 mediaplayer/mainwindow.ui.autosave create mode 100644 mediaplayer/mediaplayer.py create mode 100755 minesweeper/images/bomb.png create mode 100755 minesweeper/images/bug.png create mode 100755 minesweeper/images/cactus.png create mode 100755 minesweeper/images/cake.png create mode 100755 minesweeper/images/clock-select.png create mode 100755 minesweeper/images/cross.png create mode 100755 minesweeper/images/cup.png create mode 100755 minesweeper/images/flag.png create mode 100755 minesweeper/images/fruit.png create mode 100755 minesweeper/images/hamburger.png create mode 100755 minesweeper/images/ice-cream-sprinkles.png create mode 100755 minesweeper/images/mushroom.png create mode 100755 minesweeper/images/plus.png create mode 100755 minesweeper/images/rocket.png create mode 100755 minesweeper/images/smiley-lol.png create mode 100755 minesweeper/images/smiley.png create mode 100644 minesweeper/minesweeper.py create mode 100755 notepad/images/arrow-continue.png create mode 100755 notepad/images/arrow-curve-180-left.png create mode 100755 notepad/images/arrow-curve.png create mode 100755 notepad/images/blue-folder-open-document.png create mode 100755 notepad/images/clipboard-paste-document-text.png create mode 100755 notepad/images/disk--pencil.png create mode 100755 notepad/images/disk.png create mode 100755 notepad/images/document-copy.png create mode 100755 notepad/images/printer.png create mode 100755 notepad/images/question.png create mode 100755 notepad/images/scissors.png create mode 100755 notepad/images/selection-input.png create mode 100755 notepad/images/ui-tab--plus.png create mode 100644 notepad/notepad.py create mode 100644 notes/MainWindow.py create mode 100755 notes/images/cross-small.png create mode 100755 notes/images/cross.png create mode 100644 notes/mainwindow.ui create mode 100644 notes/notes.db create mode 100644 notes/notes.py create mode 100644 paint/MainWindow.py create mode 100755 paint/images/cake.png create mode 100755 paint/images/edit.png create mode 100755 paint/images/eraser.png create mode 100755 paint/images/layer-shape-ellipse.png create mode 100755 paint/images/layer-shape-line.png create mode 100755 paint/images/layer-shape-polygon.png create mode 100755 paint/images/layer-shape-polyline.png create mode 100755 paint/images/layer-shape-round.png create mode 100755 paint/images/layer-shape.png create mode 100755 paint/images/magnifier-zoom.png create mode 100755 paint/images/paint-brush.png create mode 100755 paint/images/paint-can.png create mode 100755 paint/images/pencil.png create mode 100755 paint/images/pipette.png create mode 100755 paint/images/printer.png create mode 100644 paint/images/selection-poly.png create mode 100755 paint/images/selection.png create mode 100755 paint/images/spray.png create mode 100755 paint/images/stamp.png create mode 100644 paint/mainwindow.ui create mode 100644 paint/paint.py create mode 100644 paint/stamps/pie-apple.png create mode 100644 paint/stamps/pie-cherry.png create mode 100644 paint/stamps/pie-cherry2.png create mode 100644 paint/stamps/pie-lemon.png create mode 100644 paint/stamps/pie-moon.png create mode 100644 paint/stamps/pie-pork.png create mode 100644 paint/stamps/pie-pumpkin.png create mode 100644 paint/stamps/pie-walnut.png create mode 100755 wordprocessor/images/arrow-continue.png create mode 100755 wordprocessor/images/arrow-curve-180-left.png create mode 100755 wordprocessor/images/arrow-curve.png create mode 100755 wordprocessor/images/blue-folder-open-document.png create mode 100755 wordprocessor/images/clipboard-paste-document-text.png create mode 100755 wordprocessor/images/disk--pencil.png create mode 100755 wordprocessor/images/disk.png create mode 100755 wordprocessor/images/document-copy.png create mode 100755 wordprocessor/images/edit-alignment-center.png create mode 100755 wordprocessor/images/edit-alignment-justify.png create mode 100755 wordprocessor/images/edit-alignment-right.png create mode 100755 wordprocessor/images/edit-alignment.png create mode 100755 wordprocessor/images/edit-bold.png create mode 100755 wordprocessor/images/edit-color.png create mode 100755 wordprocessor/images/edit-italic.png create mode 100755 wordprocessor/images/edit-list-order.png create mode 100755 wordprocessor/images/edit-list.png create mode 100755 wordprocessor/images/edit-underline.png create mode 100755 wordprocessor/images/printer.png create mode 100755 wordprocessor/images/question.png create mode 100755 wordprocessor/images/scissors.png create mode 100755 wordprocessor/images/selection-input.png create mode 100755 wordprocessor/images/ui-tab--plus.png create mode 100644 wordprocessor/wordprocessor.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..34613a1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,66 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ + +.idea +*~ +.DS_Store +Thumbs.db +build/* +dist diff --git a/README.md b/README.md new file mode 100644 index 0000000..19dd986 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +# Minute Apps + +A collection of minute (small) desktop applications written in Python +using the PyQt framework. These apps are intended as examples from +which you can poke, hack and prod your way to writing your own tools. + +If you find these apps interesting, or want to learn more about +PyQt in general, [take a look at my ebook & online course +"Create Simple GUI Applications"](https://martinfitzpatrick.name/create-simple-gui-applications) +which covers everything you need to know to get you programming with PyQt. + +Write-ups of these apps, including design explanations and walkthroughs, can be found [on my site](). + +All code is **licensed under an MIT license**. This allows you to re-use the code freely, +remixed in both commercial and non-commercial projects. The only requirement is that you must +include the MIT license file when distributing. + +## Completed + +1. Web Browser (untabbed) - "MooseAche" +1. Web Browser (tabbed) - "Mozzarella Ashbadger" +1. Minesweeper - "Moonsweeper" +1. Notepad - "No2Pads" +1. Calculator - "Calculon" (QtDesigner) +1. Word Processor - "Megasolid Idiom" +1. Webcam/Snapshot - "NSAViewer" +1. Media Player - "Failamp" +1. Post-it Notes - "Brown Note" (QtDesigner) + +## In progress + +1. Paint - "Piecasso" (QtDesigner) +1. Translator - "Babelvis" (QtDesigner) + +## Up next + +1. Solitaire - "Ronery" +1. Unzip - "7Pez" (QtDesigner) +1. Address Book - "PeepKeep" (QtDesigner) +1. RSS Reader + +## Maybe oneday + +1. Photo Gallery - "PeepPeek" +1. Vector Graphics - "Madcap Artisan" +1. Email - "GeeMail" +1. IRC - "kIRC" +1. Sound Editor +1. (Audio) Spectrum Analyzer +1. IM (Jabber) +1. FTP +1. Weather +1. Finance/Stocks +1. Process Explorer +1. Internet Radio diff --git a/browser/browser.py b/browser/browser.py new file mode 100644 index 0000000..1c18536 --- /dev/null +++ b/browser/browser.py @@ -0,0 +1,202 @@ +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.QtWebEngineWidgets import * +from PyQt5.QtPrintSupport import * + +import os +import sys + + +class AboutDialog(QDialog): + def __init__(self, *args, **kwargs): + super(AboutDialog, self).__init__(*args, **kwargs) + + QBtn = QDialogButtonBox.Ok # No cancel + self.buttonBox = QDialogButtonBox(QBtn) + self.buttonBox.accepted.connect(self.accept) + self.buttonBox.rejected.connect(self.reject) + + layout = QVBoxLayout() + + title = QLabel("MooseAche") + font = title.font() + font.setPointSize(20) + title.setFont(font) + + layout.addWidget(title) + + logo = QLabel() + logo.setPixmap(QPixmap(os.path.join('images', 'ma-icon-128.png'))) + layout.addWidget(logo) + + layout.addWidget(QLabel("Version 23.35.211.233232")) + layout.addWidget(QLabel("Copyright 2015 MooseAche Inc.")) + + for i in range(0, layout.count()): + layout.itemAt(i).setAlignment(Qt.AlignHCenter) + + layout.addWidget(self.buttonBox) + + self.setLayout(layout) + + +class MainWindow(QMainWindow): + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + self.browser = QWebEngineView() + self.browser.setUrl(QUrl("http://google.com")) + + self.browser.urlChanged.connect(self.update_urlbar) + self.browser.loadFinished.connect(self.update_title) + self.setCentralWidget(self.browser) + + self.status = QStatusBar() + self.setStatusBar(self.status) + + navtb = QToolBar("Navigation") + navtb.setIconSize(QSize(16, 16)) + self.addToolBar(navtb) + + back_btn = QAction(QIcon(os.path.join('images', 'arrow-180.png')), "Back", self) + back_btn.setStatusTip("Back to previous page") + back_btn.triggered.connect(self.browser.back) + navtb.addAction(back_btn) + + next_btn = QAction(QIcon(os.path.join('images', 'arrow-000.png')), "Forward", self) + next_btn.setStatusTip("Forward to next page") + next_btn.triggered.connect(self.browser.forward) + navtb.addAction(next_btn) + + reload_btn = QAction(QIcon(os.path.join('images', 'arrow-circle-315.png')), "Reload", self) + reload_btn.setStatusTip("Reload page") + reload_btn.triggered.connect(self.browser.reload) + navtb.addAction(reload_btn) + + home_btn = QAction(QIcon(os.path.join('images', 'home.png')), "Home", self) + home_btn.setStatusTip("Go home") + home_btn.triggered.connect(self.navigate_home) + navtb.addAction(home_btn) + + navtb.addSeparator() + + self.httpsicon = QLabel() # Yes, really! + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-nossl.png'))) + navtb.addWidget(self.httpsicon) + + self.urlbar = QLineEdit() + self.urlbar.returnPressed.connect(self.navigate_to_url) + navtb.addWidget(self.urlbar) + + stop_btn = QAction(QIcon(os.path.join('images', 'cross-circle.png')), "Stop", self) + stop_btn.setStatusTip("Stop loading current page") + stop_btn.triggered.connect(self.browser.stop) + navtb.addAction(stop_btn) + + # Uncomment to disable native menubar on Mac + # self.menuBar().setNativeMenuBar(False) + + file_menu = self.menuBar().addMenu("&File") + + open_file_action = QAction(QIcon(os.path.join('images', 'disk--arrow.png')), "Open file...", self) + open_file_action.setStatusTip("Open from file") + open_file_action.triggered.connect(self.open_file) + file_menu.addAction(open_file_action) + + save_file_action = QAction(QIcon(os.path.join('images', 'disk--pencil.png')), "Save Page As...", self) + save_file_action.setStatusTip("Save current page to file") + save_file_action.triggered.connect(self.save_file) + file_menu.addAction(save_file_action) + + print_action = QAction(QIcon(os.path.join('images', 'printer.png')), "Print...", self) + print_action.setStatusTip("Print current page") + print_action.triggered.connect(self.print_page) + file_menu.addAction(print_action) + + help_menu = self.menuBar().addMenu("&Help") + + about_action = QAction(QIcon(os.path.join('images', 'question.png')), "About MooseAche", self) + about_action.setStatusTip("Find out more about MooseAche") # Hungry! + about_action.triggered.connect(self.about) + help_menu.addAction(about_action) + + navigate_mozarella_action = QAction(QIcon(os.path.join('images', 'lifebuoy.png')), "MooseAche Homepage", self) + navigate_mozarella_action.setStatusTip("Go to MooseAche Homepage") + navigate_mozarella_action.triggered.connect(self.navigate_mozarella) + help_menu.addAction(navigate_mozarella_action) + + self.show() + + self.setWindowIcon(QIcon(os.path.join('images', 'ma-icon-64.png'))) + + def update_title(self): + title = self.browser.page().title() + self.setWindowTitle("%s - MooseAche" % title) + + def navigate_mozarella(self): + self.browser.setUrl(QUrl("https://www.udemy.com/522076")) + + def about(self): + dlg = AboutDialog() + dlg.exec_() + + def open_file(self): + filename, _ = QFileDialog.getOpenFileName(self, "Open file", "", + "Hypertext Markup Language (*.htm *.html);;" + "All files (*.*)") + + if filename: + with open(filename, 'r') as f: + html = f.read() + + self.browser.setHtml(html) + self.urlbar.setText(filename) + + def save_file(self): + filename, _ = QFileDialog.getSaveFileName(self, "Save Page As", "", + "Hypertext Markup Language (*.htm *html);;" + "All files (*.*)") + + if filename: + html = self.browser.page().mainFrame().toHtml() + with open(filename, 'w') as f: + f.write(html) + + def print_page(self): + dlg = QPrintPreviewDialog() + dlg.paintRequested.connect(self.browser.print_) + dlg.exec_() + + def navigate_home(self): + self.browser.setUrl(QUrl("http://www.google.com")) + + def navigate_to_url(self): # Does not receive the Url + q = QUrl(self.urlbar.text()) + if q.scheme() == "": + q.setScheme("http") + + self.browser.setUrl(q) + + def update_urlbar(self, q): + + if q.scheme() == 'https': + # Secure padlock icon + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-ssl.png'))) + + else: + # Insecure padlock icon + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-nossl.png'))) + + self.urlbar.setText(q.toString()) + self.urlbar.setCursorPosition(0) + + +app = QApplication(sys.argv) +app.setApplicationName("MooseAche") +app.setOrganizationName("MooseAche") +app.setOrganizationDomain("MooseAche.org") + +window = MainWindow() + +app.exec_() diff --git a/browser/images/arrow-000.png b/browser/images/arrow-000.png new file mode 100644 index 0000000000000000000000000000000000000000..b39a43b1e053fb59dd4d7ae2d50e1f9aec57c556 GIT binary patch literal 615 zcmV-t0+{`YP)Qmi0&IJ%0^L9l~M1recZ7I#M%r5Y#%bP$dr zh?9dTI0+8YbTFx{ii-}7wY5o1&E38C?m6U=HvI!aAAI57<9;8$?|a`9Yb^&^F2MPF zHAG}^c%)byJc~#Lc&D}YwNj`sM1>(y5U_OjVh^x$b(&4`g+hPpB?9nwzMI+$pq1ip zyNy-~trRyVMm?=m32UeR3jkoWCfwXag(0n$;pWv7o{FMf5EsB&TiIrF3t|k$7=pmi zXawAvJndEH>ZK%je*jQn=uKW3_mr~qvlIalK?F87Lb_c;t=8i9^>J_ZX>|Z`0iqz_ z+xJ!0);kzu0B{_KbUMvQK2KpJPsZ)#U9Y#8p1RWsi_yV<3 zhldui)(+Kps3gTP+)H=n0qol6nRxl7Z&sIv9QLd10Ed9XiE;q(uVr-O(-(r~LcH)~ z2{;S16Lo;N?;r(afNUanpF9;1CW@@JRu1|*{{wHc@r5)z;~M|~002ovPDHLkV1gxm B4m$t< literal 0 HcmV?d00001 diff --git a/browser/images/arrow-180.png b/browser/images/arrow-180.png new file mode 100755 index 0000000000000000000000000000000000000000..fc1355503a9670aea869e35f03d4942215e2ea17 GIT binary patch literal 589 zcmV-T0` z54cp+7FvgXnFLWsQ76$sP8_NY2*Qny?h+9T4$i?%aS^59B)HfN+A0#9vZ!RxOJnZu zyYGCz>*W$`;?ftMd*QwJd4HbwPK)ChdoiXS3->=DS17>D=Myl~1Y^viS7)d}ZIJxC z)5(ac@yB~hI|as=C4{g?1Mc?r*hGC-B#tc+hW3q%M>u&X^t;`}Ph4S?90q}X``QWa zI1xhMhZF)*%KvMS?v#*g*B5!K^#`SrnG_(~7)PZ1Cb=5R$i8pixykwFrjsT}TsnJ< zt0O7F2FFs~G&MYb^LaRdBHz7rns046S%+VahxT_Deb+@u`$tif#0|s1%ybcf=M6;+ zJ?~L{?QL^zu86*j@ulaZQaqcuf|P)-o~?Gfq@yb3()5;TiVRY2n5~fn@)0bDyqflCw@9Xsuj*`BcqDS0lP(Y24Bji(<6SNZqKSe-XsqOW5 b{wu%$bd>bhsNRRp00000NkvXXu0mjf)qNG8 literal 0 HcmV?d00001 diff --git a/browser/images/arrow-circle-315.png b/browser/images/arrow-circle-315.png new file mode 100755 index 0000000000000000000000000000000000000000..8baf084bd99bc218500d029ae66f65f9701d1bd0 GIT binary patch literal 829 zcmV-D1H$}?P)Nm~lE z2m#~`(O5KEQ{%!%gj5YCMoBlWh&$sCaM6UFabe;=FqpWCmU#JG@+5~4vt3q@!P zp>IZ}o#(xtTMIRATsX-$bLZUiefOO2%y5)a_@7H)x8o01K`@&^5CkysyqDv+aSR6# zJ(axgh&eoLh7hvJ^L!ZJgKuwoCWXHQLjq4DhYs4@t&J9^!zS2RP%P^GiL@Myu1i-5 zrE`X^U)Up<_NkPHthF$8<+SHWo72+D>0m3B3{Vt;WpcK5m!);=r2CAHEwOHABCz%lI8A<+;!|nCWO?CA7 z>&5kI3$h&DF33g6B!J_9wE;buP)jo8QYpx1GO&ZdDv#FH)ttkep?G??QBxH2z5u?w zUyEmQqEHJhy=^``?GBbbQQ5;T=qSdndHdR1Fo)YnWL1psRs~dbW^MULhS;r;;O&;7 z(ZHamtucaA_=tFi>)S&Y0|QBOJ!Lr?(YS=1Y}pHDkR$w<^&R5vwkg-;(czL#!EWZj zQB&3zMU^BajmE43w~~GOV!pU9-XZIlR=1z=Bpvw!8 zS^7j*W|wJx?I*_4hzxS|Jpop$tped6f3Q&&1t=ny{1RXQVEB`lW)j*&00000NkvXX Hu0mjfd5nwG literal 0 HcmV?d00001 diff --git a/browser/images/cross-circle.png b/browser/images/cross-circle.png new file mode 100755 index 0000000000000000000000000000000000000000..20d6f5ea032148de928c22c640158b61cbff6fca GIT binary patch literal 729 zcmV;~0w(>5P)|LfiOHS}TjIms%#6R5$ctGV!9nIUnSg*o zp)I8?o>K~e#W!#AZEt(e=X=k+_gvdxFo6GQ96esxY{251WCIAIcCovG3R!XAQ6F%s z9O_EP57IN7oV#ZD*e(d^@bYprxU}RIW@jCgq1&isZ^YqnMo5fHo*1lh7yVBZ&4KP=5pqg_YMz16h%|irxrUn01-_VB9W** z+^69ZG=N8Lzu#MLHsNJ73QtQVP!t71`}-hC5|r?pVHkLwOoH8R2jASBml#B!GnT=k z!7vUD*X?$>AnWr%p-_NowQ3sK@RZ&l%+o3L`=CgYgP6$-K*IqQ)0Hp_mtg?QvgT|& z&zrh2vD+-hYF6LOpbzjvtksl3y$*t|L+to?3g$QtQpF-T={N{bRfU+b0lK}fRVocP z1};v(pV!vl)5?lzK-wsmO@p>9H;I`v$bD-x%D7YV<<^!7pCNn;$4Do!n3?XoNCXVS zkSo1jiI}m0f#uoN^~}e5z2F6qzpk&tZTv4-qW%fO9)$CqPC+t^3^Byos8nf}DJY56 zc!y!qah{LHc;4$_SqBCE(RHP$s?CC`mM##^V-;Rf0TOE&&}q!0d{|zA1i#EeOnq`0y zjYKV1VRBSS)H8~=qcIp8z&-sv1cgc{kC0)SkK{_tOtSE_k+otK86tsX^|XyXzFCw& z@Ogwn@zGj?36VdX|5JXAXr~Gx3lR+(qn6-R3}5w$)aQlthBGm+1Y&h0f>+T?9Hl{~ z4+H|%X54wXQXB=Nk{AV|#C%~k5ECPpvfM!)mkZM&K7$IuUJ%6OQYc6h z&XWI`I>n7fhd40Bi$UXq5X5lv;&PbyrW*uPm~<{MgO&c@=_2Evko7(GNzcu0;f<`H ze!M~W;^Q4elz7S1_zk<#KF5PVFh1)Gb41#%y5LZs<-rynrKN*uPm^7Go|#|nTm8Vp zV!*&NSo=BJG}HsqG&meqN-9Q3>}aKmFTVDgZM+hGe~`Xc$Y<~|3)dRvgN!z zSL#nrB>R;Q4yKk^=k){q4UHw`~T(>uNo`}KfFM) z<0N^BQA*EpqxYerr!RU+BU~m8NhP-lM^>9T?4;xwA5Ays0fYS=q0EZg!TovEt&TZK znXN@GlcSw&E4^CU+5(&U$2>J}Y7<3OH^Qn}n~t@#4A92-K-cEN?*HC$`u-(nw7#C- z^dGgAPN#e9zq^LEw4~|5=7Q$-_V$0rXXhF}zXl1EYIQ zN*&Z&OZ*HkY{bULS%ax6#)6s!i*k6{;#0{lcXZA(Nj{O4xivd~*V&T5n+91erT#UK6xZK0;o&VmnwYT>HU_EC-+VK8i=A-f* z0#qgo%bv1xwz<#y3wd-Iv3G>Y4@>)(X6)>?;NX6y+UxHhs$G5xTo`Infi(<16jXM# zpH(OnTRxm{(RrXsCD-g8BY|XLdeHYw$IN@7b5v`~ot%Y-p)Vo_p0hAYj-yHGQA?zBQ2S!o^>7)V#fU z*FKaOXS}a1WOu!)GhP+6BBg$0eOm5o;`IRwaI~tpxa;~W+Bu(X_1`wQoOIq3Z(|lH zawO`UMrERJz6m*KE|Q3&m;RgvjGCS4c3SnQCi2^|sfo+?qX}7ERZ`&xx167Q;493O zj`l-ONP@~LO_8qtg_|dA-o2?P23zKoadKYKkoiN;CCndn8KUY(_fOkuZx0C&_IvnqFd1&j(fg1VSRi*_o)3lx>N5h z%chqAY1iVBn*mG0u1X(0KFYEUg&UvtRA)@2N;-qqk;+rRge|U}5ogr5;}XgK$Jpf; zn`cmo*@T?k?Z4R3TKiYrYtGP)Ai1`+lY+07o^CkOY&y)E>YjWbn}~ir zaN57=T&-e+**O2$wOc&P4GNA~+_;2(#hNgAss4YH2DK~Ve@vRl|24ZJ%+!C5Qy@1m zXs>-~c%zOy)O}&i+90&1IbkH>u5r3E5IbUTU_yvr)gp`aD<0DSQ26pU!9Q@r_WTBq CbeJIk literal 0 HcmV?d00001 diff --git a/browser/images/disk--arrow.png b/browser/images/disk--arrow.png new file mode 100755 index 0000000000000000000000000000000000000000..bd581031ac2092772ea3c4e6810952367b677681 GIT binary patch literal 621 zcmV-z0+RiSP)KDo&R`p z5UiD-RGw7+VK;zZub#HP%X5u=eJK@AF{#t?$c^;G^`n=gkUb5z7C$3j_BwGwxqIO- z9?flCl0v*y06}?^a}Hlh1VPXRSlOuH)cIko|4<|P&D?SY7#mLwEIi3xQviLYDTDx5 z&5cH*3osNj@FJb*#D-y@Ha3dvorN!6zjLpx!18@x1H2x<^x1=5@x|NA@YAnwV0H5y z_B!)SNG;hS>0GJk1@u~Se;Y{p`BOZ_I zVtUtmDy=R6?TqTP^#Wz&Q*6q@{n_b>tPvNZcrb?u3Y-g%(87__cCVTj7qmf!` zOfVW_O*6@4W}ff9n2>0(cpnF5-rRHUx%a)X1m!RQ3n+e``;IlkFfceacCbH@IFkjg zE5EmobGSI(ttn8cY@RFa8VsKIdtMI>ZA5@O;JA{!x6CNae;}WYvPdMtR8?jEwnMX{ zfKOpCNmtS|4LW1op|NV=A75ffy}XQpyeL=y zG${+~CNsbxlXZ=|Xs%qyCGqi9SdhmjV(92OjZGbgMVrJSu4FL@w8k92UgB-EQYCn4$&6 zgqXT;5Rb>fPpctt(SHXh0w3N2i|q^l{7dU z4v|dH6pYC&0(56M&nk{_irqz)rEY~ox1W5?h00000 LNkvXXu0mjfyNN4+ literal 0 HcmV?d00001 diff --git a/browser/images/home.png b/browser/images/home.png new file mode 100755 index 0000000000000000000000000000000000000000..622a2b736d19b63f63acb8434bf7dd8853f3beb0 GIT binary patch literal 752 zcmV z3pK-1N{L2h)SA)y6WN8#un;2aqLeTy3Q{POB(q=yBlODJMHdl~P+pjLQJRB6WJFE8 zXp%I`i8h;h&e`DfzTf6aA^PAsd(QJd&-;Dv$BwW800e>{q<+)DwI6XQMd3l-dKk{j zF)EPfAZ8G6sledhi;S1OU0v1ma;33Rnv8;YuHIdGx~2P}|4ze&|1~&Z09?KA^SR5) z3b}C4=c~Tf)WkyJ*z`hd2IBEWdD$#wt{&ka((4^wZaEW^Uj2`F*a@?zv=C)cQ^905v#@)y)BJ)kIxd8F(Ni^(NP;vf&5Brr78Mw5&9XkW|Nn|IIJ&f9D@)0k;1fbYRR4&uu? zdB{r{$}-%&ydXaZJT?0oL{a1>TE{MSn7bDj|K;TI)Of_XCnL=tzy1KR5W}Zx%Rx^h zMG?b{F^=)zFnG^Ya}ZzF$wOYsP?nuNz8f?>!J7+W%0%n^iyrW}9h?V{@2EJ;IeE}e zqXT7`s_EuEtsKG77x|4_tyb8wX``u=2Q!j6(wB*8SW-0tHjvEAQWOiQstU8S^U&Kn zXzJu4FJ&kzcK3aPv2Qads*j z28YEWgQjT^i9}#(YRc5fLte^ImOg`g`p@jdZy+0>i01kQ@ai{XB}l{RQ8!zY$=_U0000r* zg-R*PqZTod4OLTNrN)qAB!+}E3UOmJEc^iw-RQyvi3?poT#y)p0T#YC2pEKzpkk`L z5-pF~TBlN`52h_;#(U~>l5ghZe2<(v_g?a-5Ad;2oTd0qAy7mR`=?11$qlz+pdZt3 zm??@Wo=^nU|CxtK{-Gl4vqgtC3Y~>tpk!YXcnm0eOT=wEge3z^Z=P|?DalViXuBIj z)PK!Y{aMgCc-#BS-T5so4chi2`x%boFkmkpj~f>jHjLZ}ID2|}_+Ze@Figc% zYimg8=-3fsu>?-Q>-7cZkrCZ7hOxR_u4|&ja(Lq?42qQ?FdZjBXIda_#+nmuZgutG z49kYRUhnOpaQN0KS-v65^1VxvG&wOb5o~H|YOEd{EYC0uN&N7qqjm5Gmk`l@fzo{k z4p>vM7$m&jooqJylJ8z(zR)*4RT1HK;`odhunD zv=B=OLP9OeV6xi_-qqGNe4r+Vk_fD^ha759iyri1fJw9~q0q`ocsCx0(ibmuHk+-L z5Yq7H2VjjoNESXsf+_M_gY1wT*Rk1;(*4 zT_%$$TUuHQ#5|sliYs$R8@b%=%w1>7Js+8Z cuRjGC09Q<4qq^2i4FCWD07*qoM6N<$g2fb*-~a#s literal 0 HcmV?d00001 diff --git a/browser/images/lock-nossl.png b/browser/images/lock-nossl.png new file mode 100755 index 0000000000000000000000000000000000000000..006528cd3cb1b38509d8707153f93b8a0ae5523c GIT binary patch literal 694 zcmV;n0!jUeP)wY0ZT9*EM7cVsMw?6Ne@Ll`yYsS zQRqR9P%pLUMT=?tDvG5^gF}y6_IL8>f03dl#S24yEt_?r?r2m8szwQ8=I|l6aJu5<7+MSzB zBoa4sx!k2nrD6j>GMQ|xuCBhTR;!O^kH1(yT+ds6)ROP}xokE&Qz#T_8yg$10AONb z;$k+Noyq6(Zp%j$AUW$@s>*!W|+45n+6M{A#=1MyXT+ z=X_EKfpj`OE2YHB%F2V@3=R)uZEX#)SPYzVFvg&@M!jAKV+@>g2q7>qFc2Af1TZx< zg{}i4Lc86D*19JaLO@Cx1q7Wi(OR2+9cZmhSI2iN;bt`&4c)H;rBqP*73%o?WrOSI zfqk_v`*l#O)r1=upeILH>gNPu6=s~-u*=!Cieg?|F z4H$r<0ESbk)LqAMhJ+A%wrzX1ZCg@GXM1~ldr;GM9IuZJ>~wRAaBwRN#d*x5ZPL)^TCr_fs2C0k3iH4bn$XtLrY5N^D9A%m znc{PZZc}vX)agVVhfKsdwiD-cIPqixH+;;;Ttz3M(}_zFkUw_jF8RGapU?OC%c`Wr zxCz`aE{DUJV2nph>^RZ?2ENXI-+k~LV~0>ipU$L^IgAIR2#y9PvkAcHz$}D`!0^0< zrwJ8@Gsb31O=r^4*-A6%5Mq9e(CcuqYz{{i>vdsfJHY_igvI7m^Lvh+-~%>X%}rkeBZW(CfVodKx4N>;!@Fc{!<`Yv=z)bKWf4INg~G2P77JK}fX;I=m{;JWBZm|af;Lk&7h@xx zfL{^ICf$sh&wBbI1c%FHvsf8=SlmeuCW}p*$cwo|kPsA60~mjNLo5`1HN)W;M$?Rm zceH!tE<$7?XwprY*(&BljxhCVLw?|33`!KE>;zjy1C~n@0|zLoL`bvSK{y#B zqUN(uA#TH!QUrn}a-B2=1Q7_*Lvp!HuNOmdi9{olgYuXmuF**|nA1!QacwWTl2>w- zI*Py;l1e4X+@WSjvXTr*TS*t7OM!tjn-eEJw7*WQSAIVU%C?BW4HW4B22!T9jj--^ zv!*pV$RO6sVOSiaK@1S2(P-s539JASxkM|`!u&xZJ|g4+qE3OpF$$?PMg!{*HexL( z*J!m`oxuRf#E?YF7qM=L{QWVaUxv2WCiG8-yPsVQ-yg!srki4K$ElFihaAr6QX`^C z^|3#Sb76JBj_{qg0%k?+ zTv0x;G-~nf9yF+K?5di3^;4RYLNed$V%!#srM^RPB;n|%ZN+P!o>e?5?4+9-em!Og z{VEcz%t||~8?EZSJ!_ZcwN_q5wWu#)sxNKbByF|nJU8)^OWWizzUNoEGfqBHJ+oWr zhN|s_$oB0U#`d;+G%29I$GP{8&-%vd-la>4w5a+r9THFGy?HRgfF3#X!58_$ zUs6Xo-m00qDfqJMAwDDfdUd>KYR4^JXrIdFJbC^}{&l(Jz>VVFgq`>2m;G;EDxQbz z2}gqi!=T*D8D(1wp059?xs7}1ogeiTv4Yi2_5Jln*PL4-3p><_T=;z2uD_F_@Pn&Q zzt5XIS-EFgb5-WVtxGjU5jT&Wxqt7jzBIIVg+&oQ z)uJ57WB^YK}%z9VbTh16@U%sDF;PRd#Pk&@GSF)y-VHVgG{m@0jfQ zqsNKsOU|ELm=U?)Vtf06y7@PjmOLBZADqRh`~B^yhvva|{eOC+J`wp^n^p23I8AQf literal 0 HcmV?d00001 diff --git a/browser/images/ma-icon-128.png b/browser/images/ma-icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..bd04bd36e3ab4a3030473868c8dab37a640f20a9 GIT binary patch literal 17778 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 literal 0 HcmV?d00001 diff --git a/browser/images/ma-icon-64.png b/browser/images/ma-icon-64.png new file mode 100644 index 0000000000000000000000000000000000000000..884fcb79d0cdb15f474c76277687c34ca8691131 GIT binary patch literal 6281 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 iHU$-|`nW4{FT-5TadukCOe4$ literal 0 HcmV?d00001 diff --git a/browser/images/printer.png b/browser/images/printer.png new file mode 100755 index 0000000000000000000000000000000000000000..9edfbbcbca9325d89d668115c904bf0b9621a075 GIT binary patch literal 715 zcmV;+0yO=JP)z%;ecjLJh;D zNlls{u@u2&+ihI7+Ads*JJF>(!9^fl6a*Jt2v!sqmAcVwK`H28$ihNPgS1tI*fj4< z9^=e-@6bmoTD)-hZti!_nR9bLaXX*KNeCfs(lLg=$0ysiON4Vp#c`a|AC$*m<@2jX zzYmM*CwIkS5o?>95BM8|-C+UAwk!-m2>OCG7@*tfpxthx)oQut`=zB-y1&sgjEVZu z5g4LUfh6thxQRsq1R)CnzoH=E^+J&(9t+iK70=e!k(-)&UfSNi^L>9G;#fd&ZBT=! z+eKg3CH5%GGW^FDyW}R9%emvIs)~=rV$D}BLr^~t$N~~!jtcP)D=V3T5V$C~XK``y zKBYeh8}j7jWR$Q_C={MHo6T8G(_GsMjWG<@mEVtSHaok#ygXkjm3AtX$`{2nO)VCS zrHPDsy^e4=?4EtvM6=lf*L%Gls1MO-6p=_6TU)ybh14{2SwK%D5~*6P22vz}2=?~A z!7#cwTd@p}M9*hR7DJVr~Jc)KwDUS2(2Wc&6%qhhT$+opWJ;$~)7ugn)^wm5(eA%bx%<)@*0RTx=T(w7R8kztA002ovPDHLkV1mqm?G)iJ4iAVne6SOec!%)^9H%D3;(ku{)oQ@Kmvdu(l^uw2qma-j-sQQ zw@NV$u1gc$-#{F?5x}#FJ%PX0pxPkaJ$t&NI~r+j)qGwbE3j1BH5R^QFMa;9He_1% zQ=0eoKm|2&D5yNVm5BEdhiDs_ENs+cf#|VNAkrBMk5A48ck(9GM5+RASXIQ~p}~`V z1-+>0dI2V$#1EAAU?dG|Ia#}QxvOvd&DUY8?95PiM&ME6BzjMUy90#*V&B zaZDyNJSBEi1{T}3EG-%dbu-R>1+Ih7x3_7ndcLs##j*DWCk*uFphaDW^im#DDIG*f zgkZ3-m2qg=v%Oy+xI+{`bsPsUc0ezbz_iNHA5-A=^+rf7oABzL34-JWcIdW^RmQ3J zfMA3%M%FF{y;uf95Fk;4M|Y0!@Z%R7AbGX@>Ijk$c=wMAfKf}T7nx7$`D`pv|F5uv?mBr;W zt6?dk<9%SKF2WcYO}Xrw>4WY*I&- wVvBNdO@Q@6twQ?84W?HS3|1KBl0O0r0Hc5`CJFBOhyVZp07*qoM6N<$f}U|+z5oCK literal 0 HcmV?d00001 diff --git a/browser/images/ui-tab--plus.png b/browser/images/ui-tab--plus.png new file mode 100755 index 0000000000000000000000000000000000000000..de2fe4affff9ab78a6dc6fc02cac6326b1d9587c GIT binary patch literal 489 zcmVnTblfnZQX z&=?MZg$_bGL=ZOB*3u9(nKiaZb5KFh;MOKBO^#B3Ai=q%ASwvc1mAn=d%oK_FBB0o z$qx?qo^#Ll-FwbGBArfyA%t+OA5P{jfpLYCGUSHH3XpOinhgcRq9FlOhW6HWL%cdZ zK^=-Lk%2`dOQPDUl99LVP2}W#Iny4yt8Y z?Yu}Tl{yXt0>NH^_k0C~eDSA}Rf(sY$7f9#pAhtddcEGx^ZEV$V3%MASFtl^4PVDm zZdCwXDr0W3+;T~D3n)ysZTr_&EO{1D%ogGKFkhxc0H%)w%H=Y=Ua#|$EYR--ZJckO zLRD2HlgTXmM#+F$tJTnGG~jZ%glU>!8~7noLesQPu1bL|+RU=Uw>O*3fdV{ix~}v5 z91!8I$ literal 0 HcmV?d00001 diff --git a/browser_tabbed/browser_tabbed.py b/browser_tabbed/browser_tabbed.py new file mode 100644 index 0000000..4b8c0fb --- /dev/null +++ b/browser_tabbed/browser_tabbed.py @@ -0,0 +1,255 @@ +from PyQt5.QtCore import * +from PyQt5.QtWidgets import * +from PyQt5.QtGui import * +from PyQt5.QtWebEngineWidgets import * +from PyQt5.QtPrintSupport import * + +import os +import sys + + +class AboutDialog(QDialog): + def __init__(self, *args, **kwargs): + super(AboutDialog, self).__init__(*args, **kwargs) + + QBtn = QDialogButtonBox.Ok # No cancel + self.buttonBox = QDialogButtonBox(QBtn) + self.buttonBox.accepted.connect(self.accept) + self.buttonBox.rejected.connect(self.reject) + + layout = QVBoxLayout() + + title = QLabel("Mozarella Ashbadger") + font = title.font() + font.setPointSize(20) + title.setFont(font) + + layout.addWidget(title) + + logo = QLabel() + logo.setPixmap(QPixmap(os.path.join('images', 'ma-icon-128.png'))) + layout.addWidget(logo) + + layout.addWidget(QLabel("Version 23.35.211.233232")) + layout.addWidget(QLabel("Copyright 2015 Mozarella Inc.")) + + for i in range(0, layout.count()): + layout.itemAt(i).setAlignment(Qt.AlignHCenter) + + layout.addWidget(self.buttonBox) + + self.setLayout(layout) + + +class MainWindow(QMainWindow): + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + self.tabs = QTabWidget() + self.tabs.setDocumentMode(True) + self.tabs.tabBarDoubleClicked.connect(self.tab_open_doubleclick) + self.tabs.currentChanged.connect(self.current_tab_changed) + self.tabs.setTabsClosable(True) + self.tabs.tabCloseRequested.connect(self.close_current_tab) + + self.setCentralWidget(self.tabs) + + self.status = QStatusBar() + self.setStatusBar(self.status) + + navtb = QToolBar("Navigation") + navtb.setIconSize(QSize(16, 16)) + self.addToolBar(navtb) + + back_btn = QAction(QIcon(os.path.join('images', 'arrow-180.png')), "Back", self) + back_btn.setStatusTip("Back to previous page") + back_btn.triggered.connect(lambda: self.tabs.currentWidget().back()) + navtb.addAction(back_btn) + + next_btn = QAction(QIcon(os.path.join('images', 'arrow-000.png')), "Forward", self) + next_btn.setStatusTip("Forward to next page") + next_btn.triggered.connect(lambda: self.tabs.currentWidget().forward()) + navtb.addAction(next_btn) + + reload_btn = QAction(QIcon(os.path.join('images', 'arrow-circle-315.png')), "Reload", self) + reload_btn.setStatusTip("Reload page") + reload_btn.triggered.connect(lambda: self.tabs.currentWidget().reload()) + navtb.addAction(reload_btn) + + home_btn = QAction(QIcon(os.path.join('images', 'home.png')), "Home", self) + home_btn.setStatusTip("Go home") + home_btn.triggered.connect(self.navigate_home) + navtb.addAction(home_btn) + + navtb.addSeparator() + + self.httpsicon = QLabel() # Yes, really! + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-nossl.png'))) + navtb.addWidget(self.httpsicon) + + self.urlbar = QLineEdit() + self.urlbar.returnPressed.connect(self.navigate_to_url) + navtb.addWidget(self.urlbar) + + stop_btn = QAction(QIcon(os.path.join('images', 'cross-circle.png')), "Stop", self) + stop_btn.setStatusTip("Stop loading current page") + stop_btn.triggered.connect(lambda: self.tabs.currentWidget().stop()) + navtb.addAction(stop_btn) + + # Uncomment to disable native menubar on Mac + # self.menuBar().setNativeMenuBar(False) + + file_menu = self.menuBar().addMenu("&File") + + new_tab_action = QAction(QIcon(os.path.join('images', 'ui-tab--plus.png')), "New Tab", self) + new_tab_action.setStatusTip("Open a new tab") + new_tab_action.triggered.connect(lambda _: self.add_new_tab()) + file_menu.addAction(new_tab_action) + + open_file_action = QAction(QIcon(os.path.join('images', 'disk--arrow.png')), "Open file...", self) + open_file_action.setStatusTip("Open from file") + open_file_action.triggered.connect(self.open_file) + file_menu.addAction(open_file_action) + + save_file_action = QAction(QIcon(os.path.join('images', 'disk--pencil.png')), "Save Page As...", self) + save_file_action.setStatusTip("Save current page to file") + save_file_action.triggered.connect(self.save_file) + file_menu.addAction(save_file_action) + + print_action = QAction(QIcon(os.path.join('images', 'printer.png')), "Print...", self) + print_action.setStatusTip("Print current page") + print_action.triggered.connect(self.print_page) + file_menu.addAction(print_action) + + help_menu = self.menuBar().addMenu("&Help") + + about_action = QAction(QIcon(os.path.join('images', 'question.png')), "About Mozarella Ashbadger", self) + about_action.setStatusTip("Find out more about Mozarella Ashbadger") # Hungry! + about_action.triggered.connect(self.about) + help_menu.addAction(about_action) + + navigate_mozarella_action = QAction(QIcon(os.path.join('images', 'lifebuoy.png')), + "Mozarella Ashbadger Homepage", self) + navigate_mozarella_action.setStatusTip("Go to Mozarella Ashbadger Homepage") + navigate_mozarella_action.triggered.connect(self.navigate_mozarella) + help_menu.addAction(navigate_mozarella_action) + + self.add_new_tab(QUrl('http://www.google.com'), 'Homepage') + + self.show() + + self.setWindowTitle("Mozarella Ashbadger") + self.setWindowIcon(QIcon(os.path.join('images', 'ma-icon-64.png'))) + + def add_new_tab(self, qurl=None, label="Blank"): + + if qurl is None: + qurl = QUrl('') + + browser = QWebEngineView() + browser.setUrl(qurl) + i = self.tabs.addTab(browser, label) + + self.tabs.setCurrentIndex(i) + + # More difficult! We only want to update the url when it's from the + # correct tab + browser.urlChanged.connect(lambda qurl, browser=browser: + self.update_urlbar(qurl, browser)) + + browser.loadFinished.connect(lambda _, i=i, browser=browser: + self.tabs.setTabText(i, browser.page().title())) + + def tab_open_doubleclick(self, i): + if i == -1: # No tab under the click + self.add_new_tab() + + def current_tab_changed(self, i): + qurl = self.tabs.currentWidget().url() + self.update_urlbar(qurl, self.tabs.currentWidget()) + self.update_title(self.tabs.currentWidget()) + + def close_current_tab(self, i): + if self.tabs.count() < 2: + return + + self.tabs.removeTab(i) + + def update_title(self, browser): + if browser != self.tabs.currentWidget(): + # If this signal is not from the current tab, ignore + return + + title = self.tabs.currentWidget().page().title() + self.setWindowTitle("%s - Mozarella Ashbadger" % title) + + def navigate_mozarella(self): + self.tabs.currentWidget().setUrl(QUrl("https://www.udemy.com/522076")) + + def about(self): + dlg = AboutDialog() + dlg.exec_() + + def open_file(self): + filename, _ = QFileDialog.getOpenFileName(self, "Open file", "", + "Hypertext Markup Language (*.htm *.html);;" + "All files (*.*)") + + if filename: + with open(filename, 'r') as f: + html = f.read() + + self.tabs.currentWidget().setHtml(html) + self.urlbar.setText(filename) + + def save_file(self): + filename, _ = QFileDialog.getSaveFileName(self, "Save Page As", "", + "Hypertext Markup Language (*.htm *html);;" + "All files (*.*)") + + if filename: + html = self.tabs.currentWidget().page().mainFrame().toHtml() + with open(filename, 'w') as f: + f.write(html.encode('utf8')) + + def print_page(self): + dlg = QPrintPreviewDialog() + dlg.paintRequested.connect(self.browser.print_) + dlg.exec_() + + def navigate_home(self): + self.tabs.currentWidget().setUrl(QUrl("http://www.google.com")) + + def navigate_to_url(self): # Does not receive the Url + q = QUrl(self.urlbar.text()) + if q.scheme() == "": + q.setScheme("http") + + self.tabs.currentWidget().setUrl(q) + + def update_urlbar(self, q, browser=None): + + if browser != self.tabs.currentWidget(): + # If this signal is not from the current tab, ignore + return + + if q.scheme() == 'https': + # Secure padlock icon + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-ssl.png'))) + + else: + # Insecure padlock icon + self.httpsicon.setPixmap(QPixmap(os.path.join('images', 'lock-nossl.png'))) + + self.urlbar.setText(q.toString()) + self.urlbar.setCursorPosition(0) + + +app = QApplication(sys.argv) +app.setApplicationName("Mozarella Ashbadger") +app.setOrganizationName("Mozarella") +app.setOrganizationDomain("mozarella.org") + +window = MainWindow() + +app.exec_() diff --git a/browser_tabbed/images/arrow-000.png b/browser_tabbed/images/arrow-000.png new file mode 100644 index 0000000000000000000000000000000000000000..b39a43b1e053fb59dd4d7ae2d50e1f9aec57c556 GIT binary patch literal 615 zcmV-t0+{`YP)Qmi0&IJ%0^L9l~M1recZ7I#M%r5Y#%bP$dr zh?9dTI0+8YbTFx{ii-}7wY5o1&E38C?m6U=HvI!aAAI57<9;8$?|a`9Yb^&^F2MPF zHAG}^c%)byJc~#Lc&D}YwNj`sM1>(y5U_OjVh^x$b(&4`g+hPpB?9nwzMI+$pq1ip zyNy-~trRyVMm?=m32UeR3jkoWCfwXag(0n$;pWv7o{FMf5EsB&TiIrF3t|k$7=pmi zXawAvJndEH>ZK%je*jQn=uKW3_mr~qvlIalK?F87Lb_c;t=8i9^>J_ZX>|Z`0iqz_ z+xJ!0);kzu0B{_KbUMvQK2KpJPsZ)#U9Y#8p1RWsi_yV<3 zhldui)(+Kps3gTP+)H=n0qol6nRxl7Z&sIv9QLd10Ed9XiE;q(uVr-O(-(r~LcH)~ z2{;S16Lo;N?;r(afNUanpF9;1CW@@JRu1|*{{wHc@r5)z;~M|~002ovPDHLkV1gxm B4m$t< literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/arrow-180.png b/browser_tabbed/images/arrow-180.png new file mode 100755 index 0000000000000000000000000000000000000000..fc1355503a9670aea869e35f03d4942215e2ea17 GIT binary patch literal 589 zcmV-T0` z54cp+7FvgXnFLWsQ76$sP8_NY2*Qny?h+9T4$i?%aS^59B)HfN+A0#9vZ!RxOJnZu zyYGCz>*W$`;?ftMd*QwJd4HbwPK)ChdoiXS3->=DS17>D=Myl~1Y^viS7)d}ZIJxC z)5(ac@yB~hI|as=C4{g?1Mc?r*hGC-B#tc+hW3q%M>u&X^t;`}Ph4S?90q}X``QWa zI1xhMhZF)*%KvMS?v#*g*B5!K^#`SrnG_(~7)PZ1Cb=5R$i8pixykwFrjsT}TsnJ< zt0O7F2FFs~G&MYb^LaRdBHz7rns046S%+VahxT_Deb+@u`$tif#0|s1%ybcf=M6;+ zJ?~L{?QL^zu86*j@ulaZQaqcuf|P)-o~?Gfq@yb3()5;TiVRY2n5~fn@)0bDyqflCw@9Xsuj*`BcqDS0lP(Y24Bji(<6SNZqKSe-XsqOW5 b{wu%$bd>bhsNRRp00000NkvXXu0mjf)qNG8 literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/arrow-circle-315.png b/browser_tabbed/images/arrow-circle-315.png new file mode 100755 index 0000000000000000000000000000000000000000..8baf084bd99bc218500d029ae66f65f9701d1bd0 GIT binary patch literal 829 zcmV-D1H$}?P)Nm~lE z2m#~`(O5KEQ{%!%gj5YCMoBlWh&$sCaM6UFabe;=FqpWCmU#JG@+5~4vt3q@!P zp>IZ}o#(xtTMIRATsX-$bLZUiefOO2%y5)a_@7H)x8o01K`@&^5CkysyqDv+aSR6# zJ(axgh&eoLh7hvJ^L!ZJgKuwoCWXHQLjq4DhYs4@t&J9^!zS2RP%P^GiL@Myu1i-5 zrE`X^U)Up<_NkPHthF$8<+SHWo72+D>0m3B3{Vt;WpcK5m!);=r2CAHEwOHABCz%lI8A<+;!|nCWO?CA7 z>&5kI3$h&DF33g6B!J_9wE;buP)jo8QYpx1GO&ZdDv#FH)ttkep?G??QBxH2z5u?w zUyEmQqEHJhy=^``?GBbbQQ5;T=qSdndHdR1Fo)YnWL1psRs~dbW^MULhS;r;;O&;7 z(ZHamtucaA_=tFi>)S&Y0|QBOJ!Lr?(YS=1Y}pHDkR$w<^&R5vwkg-;(czL#!EWZj zQB&3zMU^BajmE43w~~GOV!pU9-XZIlR=1z=Bpvw!8 zS^7j*W|wJx?I*_4hzxS|Jpop$tped6f3Q&&1t=ny{1RXQVEB`lW)j*&00000NkvXX Hu0mjfd5nwG literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/cross-circle.png b/browser_tabbed/images/cross-circle.png new file mode 100755 index 0000000000000000000000000000000000000000..20d6f5ea032148de928c22c640158b61cbff6fca GIT binary patch literal 729 zcmV;~0w(>5P)|LfiOHS}TjIms%#6R5$ctGV!9nIUnSg*o zp)I8?o>K~e#W!#AZEt(e=X=k+_gvdxFo6GQ96esxY{251WCIAIcCovG3R!XAQ6F%s z9O_EP57IN7oV#ZD*e(d^@bYprxU}RIW@jCgq1&isZ^YqnMo5fHo*1lh7yVBZ&4KP=5pqg_YMz16h%|irxrUn01-_VB9W** z+^69ZG=N8Lzu#MLHsNJ73QtQVP!t71`}-hC5|r?pVHkLwOoH8R2jASBml#B!GnT=k z!7vUD*X?$>AnWr%p-_NowQ3sK@RZ&l%+o3L`=CgYgP6$-K*IqQ)0Hp_mtg?QvgT|& z&zrh2vD+-hYF6LOpbzjvtksl3y$*t|L+to?3g$QtQpF-T={N{bRfU+b0lK}fRVocP z1};v(pV!vl)5?lzK-wsmO@p>9H;I`v$bD-x%D7YV<<^!7pCNn;$4Do!n3?XoNCXVS zkSo1jiI}m0f#uoN^~}e5z2F6qzpk&tZTv4-qW%fO9)$CqPC+t^3^Byos8nf}DJY56 zc!y!qah{LHc;4$_SqBCE(RHP$s?CC`mM##^V-;Rf0TOE&&}q!0d{|zA1i#EeOnq`0y zjYKV1VRBSS)H8~=qcIp8z&-sv1cgc{kC0)SkK{_tOtSE_k+otK86tsX^|XyXzFCw& z@Ogwn@zGj?36VdX|5JXAXr~Gx3lR+(qn6-R3}5w$)aQlthBGm+1Y&h0f>+T?9Hl{~ z4+H|%X54wXQXB=Nk{AV|#C%~k5ECPpvfM!)mkZM&K7$IuUJ%6OQYc6h z&XWI`I>n7fhd40Bi$UXq5X5lv;&PbyrW*uPm~<{MgO&c@=_2Evko7(GNzcu0;f<`H ze!M~W;^Q4elz7S1_zk<#KF5PVFh1)Gb41#%y5LZs<-rynrKN*uPm^7Go|#|nTm8Vp zV!*&NSo=BJG}HsqG&meqN-9Q3>}aKmFTVDgZM+hGe~`Xc$Y<~|3)dRvgN!z zSL#nrB>R;Q4yKk^=k){q4UHw`~T(>uNo`}KfFM) z<0N^BQA*EpqxYerr!RU+BU~m8NhP-lM^>9T?4;xwA5Ays0fYS=q0EZg!TovEt&TZK znXN@GlcSw&E4^CU+5(&U$2>J}Y7<3OH^Qn}n~t@#4A92-K-cEN?*HC$`u-(nw7#C- z^dGgAPN#e9zq^LEw4~|5=7Q$-_V$0rXXhF}zXl1EYIQ zN*&Z&OZ*HkY{bULS%ax6#)6s!i*k6{;#0{lcXZA(Nj{O4xivd~*V&T5n+91erT#UK6xZK0;o&VmnwYT>HU_EC-+VK8i=A-f* z0#qgo%bv1xwz<#y3wd-Iv3G>Y4@>)(X6)>?;NX6y+UxHhs$G5xTo`Infi(<16jXM# zpH(OnTRxm{(RrXsCD-g8BY|XLdeHYw$IN@7b5v`~ot%Y-p)Vo_p0hAYj-yHGQA?zBQ2S!o^>7)V#fU z*FKaOXS}a1WOu!)GhP+6BBg$0eOm5o;`IRwaI~tpxa;~W+Bu(X_1`wQoOIq3Z(|lH zawO`UMrERJz6m*KE|Q3&m;RgvjGCS4c3SnQCi2^|sfo+?qX}7ERZ`&xx167Q;493O zj`l-ONP@~LO_8qtg_|dA-o2?P23zKoadKYKkoiN;CCndn8KUY(_fOkuZx0C&_IvnqFd1&j(fg1VSRi*_o)3lx>N5h z%chqAY1iVBn*mG0u1X(0KFYEUg&UvtRA)@2N;-qqk;+rRge|U}5ogr5;}XgK$Jpf; zn`cmo*@T?k?Z4R3TKiYrYtGP)Ai1`+lY+07o^CkOY&y)E>YjWbn}~ir zaN57=T&-e+**O2$wOc&P4GNA~+_;2(#hNgAss4YH2DK~Ve@vRl|24ZJ%+!C5Qy@1m zXs>-~c%zOy)O}&i+90&1IbkH>u5r3E5IbUTU_yvr)gp`aD<0DSQ26pU!9Q@r_WTBq CbeJIk literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/disk--arrow.png b/browser_tabbed/images/disk--arrow.png new file mode 100755 index 0000000000000000000000000000000000000000..bd581031ac2092772ea3c4e6810952367b677681 GIT binary patch literal 621 zcmV-z0+RiSP)KDo&R`p z5UiD-RGw7+VK;zZub#HP%X5u=eJK@AF{#t?$c^;G^`n=gkUb5z7C$3j_BwGwxqIO- z9?flCl0v*y06}?^a}Hlh1VPXRSlOuH)cIko|4<|P&D?SY7#mLwEIi3xQviLYDTDx5 z&5cH*3osNj@FJb*#D-y@Ha3dvorN!6zjLpx!18@x1H2x<^x1=5@x|NA@YAnwV0H5y z_B!)SNG;hS>0GJk1@u~Se;Y{p`BOZ_I zVtUtmDy=R6?TqTP^#Wz&Q*6q@{n_b>tPvNZcrb?u3Y-g%(87__cCVTj7qmf!` zOfVW_O*6@4W}ff9n2>0(cpnF5-rRHUx%a)X1m!RQ3n+e``;IlkFfceacCbH@IFkjg zE5EmobGSI(ttn8cY@RFa8VsKIdtMI>ZA5@O;JA{!x6CNae;}WYvPdMtR8?jEwnMX{ zfKOpCNmtS|4LW1op|NV=A75ffy}XQpyeL=y zG${+~CNsbxlXZ=|Xs%qyCGqi9SdhmjV(92OjZGbgMVrJSu4FL@w8k92UgB-EQYCn4$&6 zgqXT;5Rb>fPpctt(SHXh0w3N2i|q^l{7dU z4v|dH6pYC&0(56M&nk{_irqz)rEY~ox1W5?h00000 LNkvXXu0mjfyNN4+ literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/home.png b/browser_tabbed/images/home.png new file mode 100755 index 0000000000000000000000000000000000000000..622a2b736d19b63f63acb8434bf7dd8853f3beb0 GIT binary patch literal 752 zcmV z3pK-1N{L2h)SA)y6WN8#un;2aqLeTy3Q{POB(q=yBlODJMHdl~P+pjLQJRB6WJFE8 zXp%I`i8h;h&e`DfzTf6aA^PAsd(QJd&-;Dv$BwW800e>{q<+)DwI6XQMd3l-dKk{j zF)EPfAZ8G6sledhi;S1OU0v1ma;33Rnv8;YuHIdGx~2P}|4ze&|1~&Z09?KA^SR5) z3b}C4=c~Tf)WkyJ*z`hd2IBEWdD$#wt{&ka((4^wZaEW^Uj2`F*a@?zv=C)cQ^905v#@)y)BJ)kIxd8F(Ni^(NP;vf&5Brr78Mw5&9XkW|Nn|IIJ&f9D@)0k;1fbYRR4&uu? zdB{r{$}-%&ydXaZJT?0oL{a1>TE{MSn7bDj|K;TI)Of_XCnL=tzy1KR5W}Zx%Rx^h zMG?b{F^=)zFnG^Ya}ZzF$wOYsP?nuNz8f?>!J7+W%0%n^iyrW}9h?V{@2EJ;IeE}e zqXT7`s_EuEtsKG77x|4_tyb8wX``u=2Q!j6(wB*8SW-0tHjvEAQWOiQstU8S^U&Kn zXzJu4FJ&kzcK3aPv2Qads*j z28YEWgQjT^i9}#(YRc5fLte^ImOg`g`p@jdZy+0>i01kQ@ai{XB}l{RQ8!zY$=_U0000r* zg-R*PqZTod4OLTNrN)qAB!+}E3UOmJEc^iw-RQyvi3?poT#y)p0T#YC2pEKzpkk`L z5-pF~TBlN`52h_;#(U~>l5ghZe2<(v_g?a-5Ad;2oTd0qAy7mR`=?11$qlz+pdZt3 zm??@Wo=^nU|CxtK{-Gl4vqgtC3Y~>tpk!YXcnm0eOT=wEge3z^Z=P|?DalViXuBIj z)PK!Y{aMgCc-#BS-T5so4chi2`x%boFkmkpj~f>jHjLZ}ID2|}_+Ze@Figc% zYimg8=-3fsu>?-Q>-7cZkrCZ7hOxR_u4|&ja(Lq?42qQ?FdZjBXIda_#+nmuZgutG z49kYRUhnOpaQN0KS-v65^1VxvG&wOb5o~H|YOEd{EYC0uN&N7qqjm5Gmk`l@fzo{k z4p>vM7$m&jooqJylJ8z(zR)*4RT1HK;`odhunD zv=B=OLP9OeV6xi_-qqGNe4r+Vk_fD^ha759iyri1fJw9~q0q`ocsCx0(ibmuHk+-L z5Yq7H2VjjoNESXsf+_M_gY1wT*Rk1;(*4 zT_%$$TUuHQ#5|sliYs$R8@b%=%w1>7Js+8Z cuRjGC09Q<4qq^2i4FCWD07*qoM6N<$g2fb*-~a#s literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/lock-nossl.png b/browser_tabbed/images/lock-nossl.png new file mode 100755 index 0000000000000000000000000000000000000000..006528cd3cb1b38509d8707153f93b8a0ae5523c GIT binary patch literal 694 zcmV;n0!jUeP)wY0ZT9*EM7cVsMw?6Ne@Ll`yYsS zQRqR9P%pLUMT=?tDvG5^gF}y6_IL8>f03dl#S24yEt_?r?r2m8szwQ8=I|l6aJu5<7+MSzB zBoa4sx!k2nrD6j>GMQ|xuCBhTR;!O^kH1(yT+ds6)ROP}xokE&Qz#T_8yg$10AONb z;$k+Noyq6(Zp%j$AUW$@s>*!W|+45n+6M{A#=1MyXT+ z=X_EKfpj`OE2YHB%F2V@3=R)uZEX#)SPYzVFvg&@M!jAKV+@>g2q7>qFc2Af1TZx< zg{}i4Lc86D*19JaLO@Cx1q7Wi(OR2+9cZmhSI2iN;bt`&4c)H;rBqP*73%o?WrOSI zfqk_v`*l#O)r1=upeILH>gNPu6=s~-u*=!Cieg?|F z4H$r<0ESbk)LqAMhJ+A%wrzX1ZCg@GXM1~ldr;GM9IuZJ>~wRAaBwRN#d*x5ZPL)^TCr_fs2C0k3iH4bn$XtLrY5N^D9A%m znc{PZZc}vX)agVVhfKsdwiD-cIPqixH+;;;Ttz3M(}_zFkUw_jF8RGapU?OC%c`Wr zxCz`aE{DUJV2nph>^RZ?2ENXI-+k~LV~0>ipU$L^IgAIR2#y9PvkAcHz$}D`!0^0< zrwJ8@Gsb31O=r^4*-A6%5Mq9e(CcuqYz{{i>vdsfJHY_igvI7m^Lvh+-~%>X%}rkeBZW(CfVodKx4N>;!@Fc{!<`Yv=z)bKWf4INg~G2P77JK}fX;I=m{;JWBZm|af;Lk&7h@xx zfL{^ICf$sh&wBbI1c%FHvsf8=SlmeuCW}p*$cwo|kPsA60~mjNLo5`1HN)W;M$?Rm zceH!tE<$7?XwprY*(&BljxhCVLw?|33`!KE>;zjy1C~n@0|zLoL`bvSK{y#B zqUN(uA#TH!QUrn}a-B2=1Q7_*Lvp!HuNOmdi9{olgYuXmuF**|nA1!QacwWTl2>w- zI*Py;l1e4X+@WSjvXTr*TS*t7OM!tjn-eEJw7*WQSAIVU%C?BW4HW4B22!T9jj--^ zv!*pV$RO6sVOSiaK@1S2(P-s539JASxkM|`!u&xZJ|g4+qE3OpF$$?PMg!{*HexL( z*J!m`oxuRf#E?YF7qM=L{QWVaUxv2WCiG8-yPsVQ-yg!srki4K$ElFihaAr6QX`^C z^|3#Sb76JBj_{qg0%k?+ zTv0x;G-~nf9yF+K?5di3^;4RYLNed$V%!#srM^RPB;n|%ZN+P!o>e?5?4+9-em!Og z{VEcz%t||~8?EZSJ!_ZcwN_q5wWu#)sxNKbByF|nJU8)^OWWizzUNoEGfqBHJ+oWr zhN|s_$oB0U#`d;+G%29I$GP{8&-%vd-la>4w5a+r9THFGy?HRgfF3#X!58_$ zUs6Xo-m00qDfqJMAwDDfdUd>KYR4^JXrIdFJbC^}{&l(Jz>VVFgq`>2m;G;EDxQbz z2}gqi!=T*D8D(1wp059?xs7}1ogeiTv4Yi2_5Jln*PL4-3p><_T=;z2uD_F_@Pn&Q zzt5XIS-EFgb5-WVtxGjU5jT&Wxqt7jzBIIVg+&oQ z)uJ57WB^YK}%z9VbTh16@U%sDF;PRd#Pk&@GSF)y-VHVgG{m@0jfQ zqsNKsOU|ELm=U?)Vtf06y7@PjmOLBZADqRh`~B^yhvva|{eOC+J`wp^n^p23I8AQf literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/ma-icon-128.png b/browser_tabbed/images/ma-icon-128.png new file mode 100644 index 0000000000000000000000000000000000000000..bd04bd36e3ab4a3030473868c8dab37a640f20a9 GIT binary patch literal 17778 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 literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/ma-icon-64.png b/browser_tabbed/images/ma-icon-64.png new file mode 100644 index 0000000000000000000000000000000000000000..884fcb79d0cdb15f474c76277687c34ca8691131 GIT binary patch literal 6281 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 iHU$-|`nW4{FT-5TadukCOe4$ literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/printer.png b/browser_tabbed/images/printer.png new file mode 100755 index 0000000000000000000000000000000000000000..9edfbbcbca9325d89d668115c904bf0b9621a075 GIT binary patch literal 715 zcmV;+0yO=JP)z%;ecjLJh;D zNlls{u@u2&+ihI7+Ads*JJF>(!9^fl6a*Jt2v!sqmAcVwK`H28$ihNPgS1tI*fj4< z9^=e-@6bmoTD)-hZti!_nR9bLaXX*KNeCfs(lLg=$0ysiON4Vp#c`a|AC$*m<@2jX zzYmM*CwIkS5o?>95BM8|-C+UAwk!-m2>OCG7@*tfpxthx)oQut`=zB-y1&sgjEVZu z5g4LUfh6thxQRsq1R)CnzoH=E^+J&(9t+iK70=e!k(-)&UfSNi^L>9G;#fd&ZBT=! z+eKg3CH5%GGW^FDyW}R9%emvIs)~=rV$D}BLr^~t$N~~!jtcP)D=V3T5V$C~XK``y zKBYeh8}j7jWR$Q_C={MHo6T8G(_GsMjWG<@mEVtSHaok#ygXkjm3AtX$`{2nO)VCS zrHPDsy^e4=?4EtvM6=lf*L%Gls1MO-6p=_6TU)ybh14{2SwK%D5~*6P22vz}2=?~A z!7#cwTd@p}M9*hR7DJVr~Jc)KwDUS2(2Wc&6%qhhT$+opWJ;$~)7ugn)^wm5(eA%bx%<)@*0RTx=T(w7R8kztA002ovPDHLkV1mqm?G)iJ4iAVne6SOec!%)^9H%D3;(ku{)oQ@Kmvdu(l^uw2qma-j-sQQ zw@NV$u1gc$-#{F?5x}#FJ%PX0pxPkaJ$t&NI~r+j)qGwbE3j1BH5R^QFMa;9He_1% zQ=0eoKm|2&D5yNVm5BEdhiDs_ENs+cf#|VNAkrBMk5A48ck(9GM5+RASXIQ~p}~`V z1-+>0dI2V$#1EAAU?dG|Ia#}QxvOvd&DUY8?95PiM&ME6BzjMUy90#*V&B zaZDyNJSBEi1{T}3EG-%dbu-R>1+Ih7x3_7ndcLs##j*DWCk*uFphaDW^im#DDIG*f zgkZ3-m2qg=v%Oy+xI+{`bsPsUc0ezbz_iNHA5-A=^+rf7oABzL34-JWcIdW^RmQ3J zfMA3%M%FF{y;uf95Fk;4M|Y0!@Z%R7AbGX@>Ijk$c=wMAfKf}T7nx7$`D`pv|F5uv?mBr;W zt6?dk<9%SKF2WcYO}Xrw>4WY*I&- wVvBNdO@Q@6twQ?84W?HS3|1KBl0O0r0Hc5`CJFBOhyVZp07*qoM6N<$f}U|+z5oCK literal 0 HcmV?d00001 diff --git a/browser_tabbed/images/ui-tab--plus.png b/browser_tabbed/images/ui-tab--plus.png new file mode 100755 index 0000000000000000000000000000000000000000..de2fe4affff9ab78a6dc6fc02cac6326b1d9587c GIT binary patch literal 489 zcmVnTblfnZQX z&=?MZg$_bGL=ZOB*3u9(nKiaZb5KFh;MOKBO^#B3Ai=q%ASwvc1mAn=d%oK_FBB0o z$qx?qo^#Ll-FwbGBArfyA%t+OA5P{jfpLYCGUSHH3XpOinhgcRq9FlOhW6HWL%cdZ zK^=-Lk%2`dOQPDUl99LVP2}W#Iny4yt8Y z?Yu}Tl{yXt0>NH^_k0C~eDSA}Rf(sY$7f9#pAhtddcEGx^ZEV$V3%MASFtl^4PVDm zZdCwXDr0W3+;T~D3n)ysZTr_&EO{1D%ogGKFkhxc0H%)w%H=Y=Ua#|$EYR--ZJckO zLRD2HlgTXmM#+F$tJTnGG~jZ%glU>!8~7noLesQPu1bL|+RU=Uw>O*3fdV{ix~}v5 z91!8I$ literal 0 HcmV?d00001 diff --git a/calculator/MainWindow.py b/calculator/MainWindow.py new file mode 100644 index 0000000..a8655c1 --- /dev/null +++ b/calculator/MainWindow.py @@ -0,0 +1,318 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'mainwindow.ui' +# +# Created by: PyQt5 UI code generator 5.10 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(484, 433) + self.centralWidget = QtWidgets.QWidget(MainWindow) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.centralWidget.sizePolicy().hasHeightForWidth()) + self.centralWidget.setSizePolicy(sizePolicy) + self.centralWidget.setObjectName("centralWidget") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralWidget) + self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) + self.verticalLayout_2.setSpacing(6) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setSpacing(6) + self.verticalLayout.setObjectName("verticalLayout") + self.lcdNumber = QtWidgets.QLCDNumber(self.centralWidget) + self.lcdNumber.setDigitCount(10) + self.lcdNumber.setObjectName("lcdNumber") + self.verticalLayout.addWidget(self.lcdNumber) + self.gridLayout = QtWidgets.QGridLayout() + self.gridLayout.setSpacing(6) + self.gridLayout.setObjectName("gridLayout") + self.pushButton_n4 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n4.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n4.setFont(font) + self.pushButton_n4.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n4.setObjectName("pushButton_n4") + self.gridLayout.addWidget(self.pushButton_n4, 3, 0, 1, 1) + self.pushButton_n1 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n1.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n1.setFont(font) + self.pushButton_n1.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n1.setObjectName("pushButton_n1") + self.gridLayout.addWidget(self.pushButton_n1, 4, 0, 1, 1) + self.pushButton_n8 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n8.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n8.setFont(font) + self.pushButton_n8.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n8.setObjectName("pushButton_n8") + self.gridLayout.addWidget(self.pushButton_n8, 2, 1, 1, 1) + self.pushButton_mul = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_mul.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_mul.setFont(font) + self.pushButton_mul.setObjectName("pushButton_mul") + self.gridLayout.addWidget(self.pushButton_mul, 2, 3, 1, 1) + self.pushButton_n7 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n7.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n7.setFont(font) + self.pushButton_n7.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n7.setObjectName("pushButton_n7") + self.gridLayout.addWidget(self.pushButton_n7, 2, 0, 1, 1) + self.pushButton_n6 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n6.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n6.setFont(font) + self.pushButton_n6.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n6.setObjectName("pushButton_n6") + self.gridLayout.addWidget(self.pushButton_n6, 3, 2, 1, 1) + self.pushButton_n5 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n5.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n5.setFont(font) + self.pushButton_n5.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n5.setObjectName("pushButton_n5") + self.gridLayout.addWidget(self.pushButton_n5, 3, 1, 1, 1) + self.pushButton_n0 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n0.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n0.setFont(font) + self.pushButton_n0.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n0.setObjectName("pushButton_n0") + self.gridLayout.addWidget(self.pushButton_n0, 5, 0, 1, 1) + self.pushButton_n2 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n2.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n2.setFont(font) + self.pushButton_n2.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n2.setObjectName("pushButton_n2") + self.gridLayout.addWidget(self.pushButton_n2, 4, 1, 1, 1) + self.pushButton_n9 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n9.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n9.setFont(font) + self.pushButton_n9.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n9.setObjectName("pushButton_n9") + self.gridLayout.addWidget(self.pushButton_n9, 2, 2, 1, 1) + self.pushButton_n3 = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_n3.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_n3.setFont(font) + self.pushButton_n3.setStyleSheet("QPushButton {\n" +"color: #1976D2;\n" +"}") + self.pushButton_n3.setObjectName("pushButton_n3") + self.gridLayout.addWidget(self.pushButton_n3, 4, 2, 1, 1) + self.pushButton_div = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_div.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_div.setFont(font) + self.pushButton_div.setObjectName("pushButton_div") + self.gridLayout.addWidget(self.pushButton_div, 1, 3, 1, 1) + self.pushButton_sub = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_sub.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_sub.setFont(font) + self.pushButton_sub.setObjectName("pushButton_sub") + self.gridLayout.addWidget(self.pushButton_sub, 3, 3, 1, 1) + self.pushButton_add = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_add.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_add.setFont(font) + self.pushButton_add.setObjectName("pushButton_add") + self.gridLayout.addWidget(self.pushButton_add, 4, 3, 1, 1) + self.pushButton_ac = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_ac.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_ac.setFont(font) + self.pushButton_ac.setStyleSheet("QPushButton {\n" +" color: #f44336;\n" +"}") + self.pushButton_ac.setObjectName("pushButton_ac") + self.gridLayout.addWidget(self.pushButton_ac, 1, 0, 1, 1) + self.pushButton_mr = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_mr.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_mr.setFont(font) + self.pushButton_mr.setStyleSheet("QPushButton {\n" +" color: #FFC107;\n" +"}") + self.pushButton_mr.setObjectName("pushButton_mr") + self.gridLayout.addWidget(self.pushButton_mr, 1, 2, 1, 1) + self.pushButton_m = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_m.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_m.setFont(font) + self.pushButton_m.setStyleSheet("QPushButton {\n" +" color: #FFC107;\n" +"}") + self.pushButton_m.setObjectName("pushButton_m") + self.gridLayout.addWidget(self.pushButton_m, 1, 1, 1, 1) + self.pushButton_pc = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_pc.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(False) + font.setWeight(50) + self.pushButton_pc.setFont(font) + self.pushButton_pc.setObjectName("pushButton_pc") + self.gridLayout.addWidget(self.pushButton_pc, 5, 1, 1, 1) + self.pushButton_eq = QtWidgets.QPushButton(self.centralWidget) + self.pushButton_eq.setMinimumSize(QtCore.QSize(0, 50)) + font = QtGui.QFont() + font.setPointSize(27) + font.setBold(True) + font.setWeight(75) + self.pushButton_eq.setFont(font) + self.pushButton_eq.setStyleSheet("QPushButton {\n" +"color: #4CAF50;\n" +"}") + self.pushButton_eq.setObjectName("pushButton_eq") + self.gridLayout.addWidget(self.pushButton_eq, 5, 2, 1, 2) + self.verticalLayout.addLayout(self.gridLayout) + self.verticalLayout_2.addLayout(self.verticalLayout) + MainWindow.setCentralWidget(self.centralWidget) + self.menuBar = QtWidgets.QMenuBar(MainWindow) + self.menuBar.setGeometry(QtCore.QRect(0, 0, 484, 22)) + self.menuBar.setObjectName("menuBar") + self.menuFIle = QtWidgets.QMenu(self.menuBar) + self.menuFIle.setObjectName("menuFIle") + MainWindow.setMenuBar(self.menuBar) + self.statusBar = QtWidgets.QStatusBar(MainWindow) + self.statusBar.setObjectName("statusBar") + MainWindow.setStatusBar(self.statusBar) + self.actionExit = QtWidgets.QAction(MainWindow) + self.actionExit.setObjectName("actionExit") + self.actionReset = QtWidgets.QAction(MainWindow) + self.actionReset.setObjectName("actionReset") + self.menuFIle.addAction(self.actionReset) + self.menuFIle.addAction(self.actionExit) + self.menuBar.addAction(self.menuFIle.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Calculon")) + self.pushButton_n4.setText(_translate("MainWindow", "4")) + self.pushButton_n4.setShortcut(_translate("MainWindow", "4")) + self.pushButton_n1.setText(_translate("MainWindow", "1")) + self.pushButton_n1.setShortcut(_translate("MainWindow", "1")) + self.pushButton_n8.setText(_translate("MainWindow", "8")) + self.pushButton_n8.setShortcut(_translate("MainWindow", "8")) + self.pushButton_mul.setText(_translate("MainWindow", "x")) + self.pushButton_mul.setShortcut(_translate("MainWindow", "*")) + self.pushButton_n7.setText(_translate("MainWindow", "7")) + self.pushButton_n7.setShortcut(_translate("MainWindow", "7")) + self.pushButton_n6.setText(_translate("MainWindow", "6")) + self.pushButton_n6.setShortcut(_translate("MainWindow", "6")) + self.pushButton_n5.setText(_translate("MainWindow", "5")) + self.pushButton_n5.setShortcut(_translate("MainWindow", "5")) + self.pushButton_n0.setText(_translate("MainWindow", "0")) + self.pushButton_n0.setShortcut(_translate("MainWindow", "0")) + self.pushButton_n2.setText(_translate("MainWindow", "2")) + self.pushButton_n2.setShortcut(_translate("MainWindow", "2")) + self.pushButton_n9.setText(_translate("MainWindow", "9")) + self.pushButton_n9.setShortcut(_translate("MainWindow", "9")) + self.pushButton_n3.setText(_translate("MainWindow", "3")) + self.pushButton_n3.setShortcut(_translate("MainWindow", "3")) + self.pushButton_div.setText(_translate("MainWindow", "÷")) + self.pushButton_div.setShortcut(_translate("MainWindow", "/")) + self.pushButton_sub.setText(_translate("MainWindow", "-")) + self.pushButton_sub.setShortcut(_translate("MainWindow", "-")) + self.pushButton_add.setText(_translate("MainWindow", "+")) + self.pushButton_add.setShortcut(_translate("MainWindow", "+")) + self.pushButton_ac.setText(_translate("MainWindow", "AC")) + self.pushButton_ac.setShortcut(_translate("MainWindow", "Esc")) + self.pushButton_mr.setText(_translate("MainWindow", "MR")) + self.pushButton_mr.setShortcut(_translate("MainWindow", "R")) + self.pushButton_m.setText(_translate("MainWindow", "M")) + self.pushButton_m.setShortcut(_translate("MainWindow", "M")) + self.pushButton_pc.setText(_translate("MainWindow", "%")) + self.pushButton_pc.setShortcut(_translate("MainWindow", "%")) + self.pushButton_eq.setText(_translate("MainWindow", "=")) + self.pushButton_eq.setShortcut(_translate("MainWindow", "Return")) + self.menuFIle.setTitle(_translate("MainWindow", "FIle")) + self.actionExit.setText(_translate("MainWindow", "Exit")) + self.actionExit.setShortcut(_translate("MainWindow", "Ctrl+Q")) + self.actionReset.setText(_translate("MainWindow", "Reset")) + self.actionReset.setShortcut(_translate("MainWindow", "Ctrl+R")) + diff --git a/calculator/calculator.py b/calculator/calculator.py new file mode 100644 index 0000000..ed4e897 --- /dev/null +++ b/calculator/calculator.py @@ -0,0 +1,105 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * + +import operator + +from MainWindow import Ui_MainWindow + +# Calculator state. +READY = 0 +INPUT = 1 + + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + # Setup numbers. + for n in range(0, 10): + getattr(self, 'pushButton_n%s' % n).pressed.connect(lambda v=n: self.input_number(v)) + + # Setup operations. + self.pushButton_add.pressed.connect(lambda: self.operation(operator.add)) + self.pushButton_sub.pressed.connect(lambda: self.operation(operator.sub)) + self.pushButton_mul.pressed.connect(lambda: self.operation(operator.mul)) + self.pushButton_div.pressed.connect(lambda: self.operation(operator.truediv)) # operator.div for Python2.7 + + self.pushButton_pc.pressed.connect(self.operation_pc) + self.pushButton_eq.pressed.connect(self.equals) + + # Setup actions + self.actionReset.triggered.connect(self.reset) + self.pushButton_ac.pressed.connect(self.reset) + + self.pushButton_m.pressed.connect(self.memory_store) + self.pushButton_mr.pressed.connect(self.memory_recall) + + self.memory = 0 + self.reset() + + self.show() + + def display(self): + self.lcdNumber.display(self.stack[-1]) + + def reset(self): + self.state = READY + self.stack = [0] + self.last_operation = None + self.current_op = None + self.display() + + def memory_store(self): + self.memory = self.lcdNumber.value() + + def memory_recall(self): + self.state = INPUT + self.stack[-1] = self.memory + self.display() + + def input_number(self, v): + if self.state == READY: + self.state = INPUT + self.stack[-1] = v + else: + self.stack[-1] = self.stack[-1] * 10 + v + + self.display() + + def operation(self, op): + if self.current_op: # Complete the current operation + self.equals() + + self.stack.append(0) + self.state = INPUT + self.current_op = op + + def operation_pc(self): + self.state = INPUT + self.stack[-1] *= 0.01 + self.display() + + def equals(self): + # Support to allow '=' to repeat previous operation + # if no further input has been added. + if self.state == READY and self.last_operation: + s, self.current_op = self.last_operation + self.stack.append(s) + + if self.current_op: + self.last_operation = self.stack[-1], self.current_op + + self.stack = [self.current_op(*self.stack)] + self.current_op = None + self.state = READY + self.display() + + +if __name__ == '__main__': + app = QApplication([]) + app.setApplicationName("Calculon") + + window = MainWindow() + app.exec_() diff --git a/calculator/mainwindow.ui b/calculator/mainwindow.ui new file mode 100644 index 0000000..5d14863 --- /dev/null +++ b/calculator/mainwindow.ui @@ -0,0 +1,583 @@ + + + MainWindow + + + + 0 + 0 + 484 + 433 + + + + Calculon + + + + + 0 + 0 + + + + + + + 10 + + + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 4 + + + 4 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 1 + + + 1 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 8 + + + 8 + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + x + + + * + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 7 + + + 7 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 6 + + + 6 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 5 + + + 5 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 0 + + + 0 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 2 + + + 2 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 9 + + + 9 + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #1976D2; +} + + + 3 + + + 3 + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + ÷ + + + / + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + - + + + - + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + + + + + + + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + QPushButton { + color: #f44336; +} + + + AC + + + Esc + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + QPushButton { + color: #FFC107; +} + + + MR + + + R + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + QPushButton { + color: #FFC107; +} + + + M + + + M + + + + + + + + 0 + 50 + + + + + 27 + 50 + false + + + + % + + + % + + + + + + + + 0 + 50 + + + + + 27 + 75 + true + + + + QPushButton { +color: #4CAF50; +} + + + = + + + Return + + + + + + + + + + + 0 + 0 + 484 + 22 + + + + + FIle + + + + + + + + + + Exit + + + Ctrl+Q + + + + + Reset + + + Ctrl+R + + + + + + + diff --git a/camera/camera.py b/camera/camera.py new file mode 100644 index 0000000..e3b948c --- /dev/null +++ b/camera/camera.py @@ -0,0 +1,107 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtPrintSupport import * +from PyQt5.QtMultimedia import * +from PyQt5.QtMultimediaWidgets import * + +import os +import sys +import time + + +class MainWindow(QMainWindow): + + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + self.available_cameras = QCameraInfo.availableCameras() + if not self.available_cameras: + pass #quit + + self.status = QStatusBar() + self.setStatusBar(self.status) + + + self.save_path = "" + + self.viewfinder = QCameraViewfinder() + self.viewfinder.show() + self.setCentralWidget(self.viewfinder) + + # Set the default camera. + self.select_camera(0) + + # Setup tools + camera_toolbar = QToolBar("Camera") + camera_toolbar.setIconSize(QSize(14, 14)) + self.addToolBar(camera_toolbar) + + photo_action = QAction(QIcon(os.path.join('images', 'camera-black.png')), "Take photo...", self) + photo_action.setStatusTip("Take photo of current view") + photo_action.triggered.connect(self.take_photo) + camera_toolbar.addAction(photo_action) + + change_folder_action = QAction(QIcon(os.path.join('images', 'blue-folder-horizontal-open.png')), "Change save location...", self) + change_folder_action.setStatusTip("Change folder where photos are saved.") + change_folder_action.triggered.connect(self.change_folder) + camera_toolbar.addAction(change_folder_action) + + + camera_selector = QComboBox() + camera_selector.addItems([c.description() for c in self.available_cameras]) + camera_selector.currentIndexChanged.connect( self.select_camera ) + + camera_toolbar.addWidget(camera_selector) + + + self.setWindowTitle("NSAViewer") + self.show() + + def select_camera(self, i): + self.camera = QCamera(self.available_cameras[i]) + self.camera.setViewfinder(self.viewfinder) + self.camera.setCaptureMode(QCamera.CaptureStillImage) + self.camera.error.connect(lambda: self.alert(self.camera.errorString())) + self.camera.start() + + self.capture = QCameraImageCapture(self.camera) + self.capture.error.connect(lambda i, e, s: self.alert(s)) + self.capture.imageCaptured.connect(lambda d, i: self.status.showMessage("Image %04d captured" % self.save_seq)) + + self.current_camera_name = self.available_cameras[i].description() + self.save_seq = 0 + + def take_photo(self): + self.viewfinder.setContrast(100) + #self.viewfinder.setBrightness(0) + + timestamp = time.strftime("%d-%b-%Y-%H_%M_%S") + self.capture.capture(os.path.join(self.save_path, "%s-%04d-%s.jpg" % ( + self.current_camera_name, + self.save_seq, + timestamp + ))) + self.save_seq += 1 + + def change_folder(self): + path = QFileDialog.getExistingDirectory(self, "Snapshot save location", "") + if path: + self.save_path = path + self.save_seq = 0 + + def alert(self, s): + """ + Handle errors coming from QCamera dn QCameraImageCapture by displaying alerts. + """ + err = QErrorMessage(self) + err.showMessage(s) + + +if __name__ == '__main__': + + app = QApplication(sys.argv) + app.setApplicationName("NSAViewer") + + window = MainWindow() + app.exec_() \ No newline at end of file diff --git a/camera/images/blue-folder-horizontal-open.png b/camera/images/blue-folder-horizontal-open.png new file mode 100755 index 0000000000000000000000000000000000000000..f2454ae9a9e45a46a39c8e137b2c865ddb7115e7 GIT binary patch literal 504 zcmVhScS;a57p{V6 z(V}S4FNj)8fwZYz{eTFHpcX+3X;ERc3fi>~DxyU{pjBHj3rW3dRvPv&wd;LNXYSPs zE4<->Z_W(o^_@90gmVt<2%*81KP)haYv32l8F07;unRN96r%Ts8`=*;^I^eIkZkDb z&@M&mFyg>Yzz__mJZ?&*ilt5S3&-mV;mOsVH!Fm%NA^ zZW)+dDm<4#k|dZJA9FOi*@@9WBA4%<+uq+04A?{Q1^nG!NTu$<$-AJ~`*}2;z~XT# z7~~31;B&h{(+tpcvn3c~5Q)o4FwBH#fxRm#Fd{)!*BrG_uBxxGn`{>EA#Ww{d%f0p z#4S6KsGO0px-6ax literal 0 HcmV?d00001 diff --git a/camera/images/camera-black.png b/camera/images/camera-black.png new file mode 100755 index 0000000000000000000000000000000000000000..9880aeda38209115de2c5e0c44ac6abeaebcab50 GIT binary patch literal 571 zcmV-B0>u4^P)7K#F$PBWJ zUJ??6EFR)Pf-kTOk(|OxUSV%J=PE9Q9K7r$u#d3F=9srg(1QmPga`o-#=jAnam<*i z_GcFs0&WUEsIH%{s;jF*v)K&qkr2sJFA`at&fnG{5QI}kp-}kBhDxOpTO++m6`4#1Oxo-9;CY_%o2Cidwjrg2 zVHj-E_zG@1oi>CJsMTtiPN&G_a_DxuXt&!)rBaASql#cS9HP-^ARdonF*}_JG{x~y^dsZU(HZsg2`k828-uS(CKvX z^wd_Zb_T%Zmfl8~d1ibp=l5s`Jf~3bq}?{rw|M z&BbQWRA8NL?Bkea2N;b;D%rL_P<3UZXA-b1K?$wZeE8`s%Z8Yzu}Ib)j*d=0y}Shf zER2*oVlnfr<%;km&IxD#`Imk$0WZMT;$N&IQ-TwE?{|I`U;tE%vk`Buy@vn*002ov JPDHLkV1oK`1cv|s literal 0 HcmV?d00001 diff --git a/mediaplayer/MainWindow.py b/mediaplayer/MainWindow.py new file mode 100644 index 0000000..09df321 --- /dev/null +++ b/mediaplayer/MainWindow.py @@ -0,0 +1,141 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'mainwindow.ui' +# +# Created by: PyQt5 UI code generator 5.10 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(484, 371) + self.centralWidget = QtWidgets.QWidget(MainWindow) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.centralWidget.sizePolicy().hasHeightForWidth()) + self.centralWidget.setSizePolicy(sizePolicy) + self.centralWidget.setObjectName("centralWidget") + self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralWidget) + self.horizontalLayout.setContentsMargins(11, 11, 11, 11) + self.horizontalLayout.setSpacing(6) + self.horizontalLayout.setObjectName("horizontalLayout") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setSpacing(6) + self.verticalLayout.setObjectName("verticalLayout") + self.playlistView = QtWidgets.QListView(self.centralWidget) + self.playlistView.setAcceptDrops(True) + self.playlistView.setProperty("showDropIndicator", True) + self.playlistView.setDragDropMode(QtWidgets.QAbstractItemView.DropOnly) + self.playlistView.setAlternatingRowColors(True) + self.playlistView.setUniformItemSizes(True) + self.playlistView.setObjectName("playlistView") + self.verticalLayout.addWidget(self.playlistView) + self.horizontalLayout_4 = QtWidgets.QHBoxLayout() + self.horizontalLayout_4.setSpacing(6) + self.horizontalLayout_4.setObjectName("horizontalLayout_4") + self.currentTimeLabel = QtWidgets.QLabel(self.centralWidget) + self.currentTimeLabel.setMinimumSize(QtCore.QSize(80, 0)) + self.currentTimeLabel.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter) + self.currentTimeLabel.setObjectName("currentTimeLabel") + self.horizontalLayout_4.addWidget(self.currentTimeLabel) + self.timeSlider = QtWidgets.QSlider(self.centralWidget) + self.timeSlider.setOrientation(QtCore.Qt.Horizontal) + self.timeSlider.setObjectName("timeSlider") + self.horizontalLayout_4.addWidget(self.timeSlider) + self.totalTimeLabel = QtWidgets.QLabel(self.centralWidget) + self.totalTimeLabel.setMinimumSize(QtCore.QSize(80, 0)) + self.totalTimeLabel.setAlignment(QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft|QtCore.Qt.AlignVCenter) + self.totalTimeLabel.setObjectName("totalTimeLabel") + self.horizontalLayout_4.addWidget(self.totalTimeLabel) + self.verticalLayout.addLayout(self.horizontalLayout_4) + self.horizontalLayout_5 = QtWidgets.QHBoxLayout() + self.horizontalLayout_5.setSpacing(6) + self.horizontalLayout_5.setObjectName("horizontalLayout_5") + self.previousButton = QtWidgets.QPushButton(self.centralWidget) + self.previousButton.setText("") + icon = QtGui.QIcon() + icon.addPixmap(QtGui.QPixmap("images/control-skip-180.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.previousButton.setIcon(icon) + self.previousButton.setObjectName("previousButton") + self.horizontalLayout_5.addWidget(self.previousButton) + self.playButton = QtWidgets.QPushButton(self.centralWidget) + self.playButton.setText("") + icon1 = QtGui.QIcon() + icon1.addPixmap(QtGui.QPixmap("images/control.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.playButton.setIcon(icon1) + self.playButton.setObjectName("playButton") + self.horizontalLayout_5.addWidget(self.playButton) + self.pauseButton = QtWidgets.QPushButton(self.centralWidget) + self.pauseButton.setText("") + icon2 = QtGui.QIcon() + icon2.addPixmap(QtGui.QPixmap("images/control-pause.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.pauseButton.setIcon(icon2) + self.pauseButton.setObjectName("pauseButton") + self.horizontalLayout_5.addWidget(self.pauseButton) + self.stopButton = QtWidgets.QPushButton(self.centralWidget) + self.stopButton.setText("") + icon3 = QtGui.QIcon() + icon3.addPixmap(QtGui.QPixmap("images/control-stop-square.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.stopButton.setIcon(icon3) + self.stopButton.setObjectName("stopButton") + self.horizontalLayout_5.addWidget(self.stopButton) + self.nextButton = QtWidgets.QPushButton(self.centralWidget) + self.nextButton.setText("") + icon4 = QtGui.QIcon() + icon4.addPixmap(QtGui.QPixmap("images/control-skip.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.nextButton.setIcon(icon4) + self.nextButton.setObjectName("nextButton") + self.horizontalLayout_5.addWidget(self.nextButton) + self.viewButton = QtWidgets.QPushButton(self.centralWidget) + self.viewButton.setText("") + icon5 = QtGui.QIcon() + icon5.addPixmap(QtGui.QPixmap("images/application-image.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) + self.viewButton.setIcon(icon5) + self.viewButton.setCheckable(True) + self.viewButton.setObjectName("viewButton") + self.horizontalLayout_5.addWidget(self.viewButton) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout_5.addItem(spacerItem) + self.label = QtWidgets.QLabel(self.centralWidget) + self.label.setText("") + self.label.setPixmap(QtGui.QPixmap("images/speaker-volume.png")) + self.label.setObjectName("label") + self.horizontalLayout_5.addWidget(self.label) + self.volumeSlider = QtWidgets.QSlider(self.centralWidget) + self.volumeSlider.setMaximum(100) + self.volumeSlider.setProperty("value", 100) + self.volumeSlider.setOrientation(QtCore.Qt.Horizontal) + self.volumeSlider.setObjectName("volumeSlider") + self.horizontalLayout_5.addWidget(self.volumeSlider) + self.verticalLayout.addLayout(self.horizontalLayout_5) + self.horizontalLayout.addLayout(self.verticalLayout) + MainWindow.setCentralWidget(self.centralWidget) + self.menuBar = QtWidgets.QMenuBar(MainWindow) + self.menuBar.setGeometry(QtCore.QRect(0, 0, 484, 22)) + self.menuBar.setObjectName("menuBar") + self.menuFIle = QtWidgets.QMenu(self.menuBar) + self.menuFIle.setObjectName("menuFIle") + MainWindow.setMenuBar(self.menuBar) + self.statusBar = QtWidgets.QStatusBar(MainWindow) + self.statusBar.setObjectName("statusBar") + MainWindow.setStatusBar(self.statusBar) + self.open_file_action = QtWidgets.QAction(MainWindow) + self.open_file_action.setObjectName("open_file_action") + self.menuFIle.addAction(self.open_file_action) + self.menuBar.addAction(self.menuFIle.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Failamp")) + self.currentTimeLabel.setText(_translate("MainWindow", "0:00")) + self.totalTimeLabel.setText(_translate("MainWindow", "0:00")) + self.menuFIle.setTitle(_translate("MainWindow", "FIle")) + self.open_file_action.setText(_translate("MainWindow", "Open file...")) + diff --git a/mediaplayer/images/application-image.png b/mediaplayer/images/application-image.png new file mode 100755 index 0000000000000000000000000000000000000000..915d63f5dda425c807e9836387d5296da7784706 GIT binary patch literal 544 zcmV+*0^j|KP)Mj3*7mvA=_TZt=LZOhW_u@Ht%EePIJ=BY)v|@vZh@}K7vPO4i zcKgk2s`OHcE3Dx1xgv{q0` z6C|WGy+RmF z0FjR4819Y0)~5ieOa^oL6jqk6kjXG4Qw*u`G$xB>@DUgK`U>X<9Z2856_8Ro=CsS@ zlXyo6?Chk$Y3I?TgNbQ{#gU(QJmul{uMppMuaR~yF<&M(#1%mhaHE#bt3f(R=*JNp zK=m2Ee>uk369?xcaC&5Rj!<0EFkB;GBP^}|xbxs<38g`AIEL%|b+Fv7*o$-c;k~UJ z+fQw6G#dZBk8bB|9SCq%C=_0|+wHgJ<4`jo1S*xv8|Hc58t44^eJ&EYIA&CngFzBQ i@{Q#S_Rw+uBftPdPz`32Rpn9u0000GFc8Mi#4QOCQY8k4 z?p+u&GO)obzzPEo0FMC=zyNQ+Gav>=78az=sBOsKrZj1sMCP0{R;{FE=)fnP&i9M+ z>2k3N=Nz`t4s0n}FHW9pAcQ>N(psW-?C!day=W4)zQbA#F!eCH8;*W~5wsfo+im<6U;vDA V$+ydkgZuyh002ovPDHLkV1nxSxUv8M literal 0 HcmV?d00001 diff --git a/mediaplayer/images/control-skip-180.png b/mediaplayer/images/control-skip-180.png new file mode 100755 index 0000000000000000000000000000000000000000..62daa7a7c08ade8bb2bdde78ccca132fce7daa0d GIT binary patch literal 577 zcmV-H0>1r;P)@^9Bw8T7cb!R zL4oyk){toQ3@R(jY?co|)5E5!I!kqGw3Wn;ZXlgb<6=K!yc z8WqDZnO<0mN!9fMc=eRPE9YixbNgHh)CS?r>w{F07i=FZ07j#7D;rF!vOK@B7L!8t zK}ZO`0^8p@mOP;VBs`^H`#3VVgkq-grq}V3<_}hOB;8-?VCRut>Al47$bir6&w$WA z4LP1?PeaF8S?jLGez;mx*qeW5&#M;Gj%KkR!a{nws)EF2{AO+$AbEX_V_K1*KgQ!O zGQI)c@)jqXh=8}O8Cf-=dk#B4iW@~h;eJv6^!L&7Rk1$axPSkR9|8;jLNHAy*cA-F P00000NkvXXu0mjfK=}d# literal 0 HcmV?d00001 diff --git a/mediaplayer/images/control-skip.png b/mediaplayer/images/control-skip.png new file mode 100755 index 0000000000000000000000000000000000000000..e4a4930a809dde2add4db2babbe664ef9f6f651f GIT binary patch literal 572 zcmV-C0>k}@P)PXAD9EJq-$d7$!rAjrBv?Al@wL0v#dO_*D$Dp*$XB3I=@u;nd&EbrOuy5ddw@2(7vwE}9I0$7~=ts0sZ z5$w|A!@IUR{Q4d%vkR}^l|lIoZhh7GIliP)tr5{S!A!p&vH4{eOI8J3XCPI+55n_l zblWZ?br`V@mZGBfPceCTP%-D`RlYvJ-2JAGx5>@fmi~1cE?g@ zU5rmm0qI1Xd`(17C3*x%UXn*-^n&phw@-|(LF1g0{`+mb7hnKMly7%kQz0S%0000< KMNUMnLSTZep92&C literal 0 HcmV?d00001 diff --git a/mediaplayer/images/control-stop-square.png b/mediaplayer/images/control-stop-square.png new file mode 100755 index 0000000000000000000000000000000000000000..7c6af7f02648e85e14137394eb8014b461803e0b GIT binary patch literal 411 zcmV;M0c8G(P)lvGy1Ib_UUPN z#f&jnrmbMf<`l!>CN%Zj38I4nEd|Ht}mtiq@OQz9EPjwm){Cx zmX$^v=LiDTdUdzUYpg{e(zG4AW!OoJXu{J>*mqwJNczPW|(9KnjxCKu14BM#S`BPx%xU}mw2Z686S1{rp#+}vH zAc}Q9U%{K>;lpjOOhMeTNx^q&4CmPN0Bxon)oiBqAX$ag;|JR5mp-hBGF2hx2WJ=9 z-rN7P4&NW|^V{3Q8t+%LeEKtgY+`uCE*WdUhzyLVwt%C7q`N#kO002ovPDHLk FV1inixWNDb literal 0 HcmV?d00001 diff --git a/mediaplayer/images/control.png b/mediaplayer/images/control.png new file mode 100755 index 0000000000000000000000000000000000000000..2dfaef50f333719401d3963fac3e3c7d90bd72e8 GIT binary patch literal 470 zcmV;{0V)28P)n&vr zqzf4S|BoTb0GM;%zyHG!?&Qae+SdA ze*I_oz|IY3>nI5_tlf0}EHHW}5H}fj9x^|0O@4Tq2wjK`{UpWM^TxK644g+3#*I`EqG3!|&%; zfHEZ*1~4M$1y=0<1||)^Ga&Z=H#aBzyRmu6-&fb+^4RhXiVOZ++sMHrpmL4j$A?S* z&dmi`sR6`4p!huy|HSJ8pp!uc3PBD22Qm{0{{X7}gVz9Z06>5N01C<2jATQ61poj5 M07*qoM6N<$f-i*7RsaA1 literal 0 HcmV?d00001 diff --git a/mediaplayer/images/speaker-volume.png b/mediaplayer/images/speaker-volume.png new file mode 100755 index 0000000000000000000000000000000000000000..62fcfc663d86a09ed6ea5ed969a148a9d43a9cc0 GIT binary patch literal 566 zcmV-60?GY}P) z8xc2!7J*vySOhhMP@9ZE@H@2W8${5qO%}Os)3T4yqD3q7u@rl-!t|kpw&$P4De;qY3yTpm|dl~t=%d#O~SlqkQ>BiIDDBygBaCf8(H_Qd1yeO=dC zyWL@`s#suMm1V#|l z@i*j8flsP41<)KhlgYGPE|)`+yk-MCoeo^I;ouztHmns}v)N?)i;$J^enZGXI-AWN zlWHusl8!`HCzqGk{fe@?q-oAEx7$sTdzkGdq zdZtl5;X^~rfKwpmw@5DSQlVo{~6qalH9;HNza&=?XnJ_8Og!q-tGEh1?Y`wF + + MainWindow + + + + 0 + 0 + 484 + 371 + + + + Failamp + + + + + 0 + 0 + + + + + + + true + + + true + + + QAbstractItemView::DropOnly + + + Qt::CopyAction + + + true + + + true + + + + + + + + + + 80 + 0 + + + + 0:00 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + + + + + 80 + 0 + + + + 0:00 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + + + + + + images/control-skip-180.pngimages/control-skip-180.png + + + + + + + + + + + images/control.pngimages/control.png + + + + + + + + + + + images/control-pause.pngimages/control-pause.png + + + + + + + + + + + images/control-stop-square.pngimages/control-stop-square.png + + + + + + + + + + + images/control-skip.pngimages/control-skip.png + + + + + + + + + + + images/application-image.pngimages/application-image.png + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + images/speaker-volume.png + + + + + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + + + + 0 + 0 + 484 + 22 + + + + + FIle + + + + + + + + + Open file... + + + + + + + diff --git a/mediaplayer/mainwindow.ui.autosave b/mediaplayer/mainwindow.ui.autosave new file mode 100644 index 0000000..2d8a4ba --- /dev/null +++ b/mediaplayer/mainwindow.ui.autosave @@ -0,0 +1,227 @@ + + + MainWindow + + + + 0 + 0 + 484 + 371 + + + + Failamp + + + + + 0 + 0 + + + + + + + true + + + true + + + QAbstractItemView::DropOnly + + + Qt::CopyAction + + + true + + + true + + + + + + + + + + 80 + 0 + + + + 0:00 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + + + + + 80 + 0 + + + + 0:00 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + + + + + + + images/control-skip-180.pngimages/control-skip-180.png + + + + + + + + + + + images/control.pngimages/control.png + + + + + + + + + + + images/control-pause.pngimages/control-pause.png + + + + + + + + + + + images/control-stop-square.pngimages/control-stop-square.png + + + + + + + + + + + images/control-skip.pngimages/control-skip.png + + + + + + + + + + + images/application-image.pngimages/application-image.png + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + images/speaker-volume.png + + + + + + + 100 + + + 100 + + + Qt::Horizontal + + + + + + + + + + + 0 + 0 + 484 + 22 + + + + + FIle + + + + + + + + + Open file... + + + + + + + diff --git a/mediaplayer/mediaplayer.py b/mediaplayer/mediaplayer.py new file mode 100644 index 0000000..2e51ca7 --- /dev/null +++ b/mediaplayer/mediaplayer.py @@ -0,0 +1,184 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtMultimedia import * +from PyQt5.QtMultimediaWidgets import * + +from MainWindow import Ui_MainWindow + +def hhmmss(ms): + # s = 1000 + # m = 60000 + # h = 360000 + h, r = divmod(ms, 36000) + m, r = divmod(r, 60000) + s, _ = divmod(r, 1000) + return ("%d:%02d:%02d" % (h,m,s)) if h else ("%d:%02d" % (m,s)) + +class ViewerWindow(QMainWindow): + state = pyqtSignal(bool) + + def closeEvent(self, e): + # Emit the window state, to update the viewer toggle button. + self.state.emit(False) + + +class PlaylistModel(QAbstractListModel): + def __init__(self, playlist, *args, **kwargs): + super(PlaylistModel, self).__init__(*args, **kwargs) + self.playlist = playlist + + def data(self, index, role): + if role == Qt.DisplayRole: + media = self.playlist.media(index.row()) + return media.canonicalUrl().fileName() + + def rowCount(self, index): + return self.playlist.mediaCount() + + +class MainWindow(QMainWindow, Ui_MainWindow): + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + self.player = QMediaPlayer() + + self.player.error.connect(self.erroralert) + self.player.play() + + # Setup the playlist. + self.playlist = QMediaPlaylist() + self.player.setPlaylist(self.playlist) + + # Add viewer for video playback, separate floating window. + self.viewer = ViewerWindow(self) + self.viewer.setWindowFlags(self.viewer.windowFlags() | Qt.WindowStaysOnTopHint) + self.viewer.setMinimumSize(QSize(480,360)) + + videoWidget = QVideoWidget() + self.viewer.setCentralWidget(videoWidget) + self.player.setVideoOutput(videoWidget) + + # Connect control buttons/slides for media player. + self.playButton.pressed.connect(self.player.play) + self.pauseButton.pressed.connect(self.player.pause) + self.stopButton.pressed.connect(self.player.stop) + self.volumeSlider.valueChanged.connect(self.player.setVolume) + + self.viewButton.toggled.connect(self.toggle_viewer) + self.viewer.state.connect(self.viewButton.setChecked) + + self.previousButton.pressed.connect(self.playlist.previous) + self.nextButton.pressed.connect(self.playlist.next) + + self.model = PlaylistModel(self.playlist) + self.playlistView.setModel(self.model) + self.playlist.currentIndexChanged.connect(self.playlist_position_changed) + selection_model = self.playlistView.selectionModel() + selection_model.selectionChanged.connect(self.playlist_selection_changed) + + self.player.durationChanged.connect(self.update_duration) + self.player.positionChanged.connect(self.update_position) + self.timeSlider.valueChanged.connect(self.player.setPosition) + + self.open_file_action.triggered.connect(self.open_file) + + self.setAcceptDrops(True) + + self.show() + + def dragEnterEvent(self, e): + if e.mimeData().hasUrls(): + e.acceptProposedAction() + + def dropEvent(self, e): + for url in e.mimeData().urls(): + self.playlist.addMedia( + QMediaContent(url) + ) + + self.model.layoutChanged.emit() + + # If not playing, seeking to first of newly added + play. + if self.player.state() != QMediaPlayer.PlayingState: + i = self.playlist.mediaCount() - len(e.mimeData().urls()) + self.playlist.setCurrentIndex(i) + self.player.play() + + def open_file(self): + path, _ = QFileDialog.getOpenFileName(self, "Open file", "", "mp3 Audio (*.mp3);mp4 Video (*.mp4);Movie files (*.mov);All files (*.*)") + + if path: + self.playlist.addMedia( + QMediaContent( + QUrl.fromLocalFile(path) + ) + ) + + self.model.layoutChanged.emit() + + def update_duration(self, mc): + self.timeSlider.setMaximum(self.player.duration()) + duration = self.player.duration() + + if duration >= 0: + self.totalTimeLabel.setText(hhmmss(duration)) + + def update_position(self, *args): + position = self.player.position() + if position >= 0: + self.currentTimeLabel.setText(hhmmss(position)) + + # Disable the events to prevent updating triggering a setPosition event (can cause stuttering). + self.timeSlider.blockSignals(True) + self.timeSlider.setValue(position) + self.timeSlider.blockSignals(False) + + def playlist_selection_changed(self, ix): + # We receive a QItemSelection from selectionChanged. + i = ix.indexes()[0].row() + self.playlist.setCurrentIndex(i) + + def playlist_position_changed(self, i): + if i > -1: + ix = self.model.index(i) + self.playlistView.setCurrentIndex(ix) + + def toggle_viewer(self, state): + if state: + self.viewer.show() + else: + self.viewer.hide() + + def erroralert(self, *args): + print(args) + + + + +if __name__ == '__main__': + app = QApplication([]) + app.setApplicationName("Failamp") + app.setStyle("Fusion") + + # Fusion dark palette from https://gist.github.com/QuantumCD/6245215. + palette = QPalette() + palette.setColor(QPalette.Window, QColor(53, 53, 53)) + palette.setColor(QPalette.WindowText, Qt.white) + palette.setColor(QPalette.Base, QColor(25, 25, 25)) + palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53)) + palette.setColor(QPalette.ToolTipBase, Qt.white) + palette.setColor(QPalette.ToolTipText, Qt.white) + palette.setColor(QPalette.Text, Qt.white) + palette.setColor(QPalette.Button, QColor(53, 53, 53)) + palette.setColor(QPalette.ButtonText, Qt.white) + palette.setColor(QPalette.BrightText, Qt.red) + palette.setColor(QPalette.Link, QColor(42, 130, 218)) + palette.setColor(QPalette.Highlight, QColor(42, 130, 218)) + palette.setColor(QPalette.HighlightedText, Qt.black) + app.setPalette(palette) + app.setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }") + + window = MainWindow() + app.exec_() diff --git a/minesweeper/images/bomb.png b/minesweeper/images/bomb.png new file mode 100755 index 0000000000000000000000000000000000000000..2e731682a6e307ed7daf7cb0d31bc2bfab10c63f GIT binary patch literal 752 zcmVImB8oo$t=qe41Do6X;0rHNuRgrxH@{jk7yQ#z zRRCSAMIw=fUa!kak_0@@BR0SlpxJDK$K!!_TRE_}L%@pwb2tw3`L)C2_Di({ilRQP ztSsLaMbTujSODFq@O&Q{jRv4Nka(xlfowJl=uk|hQd_w8eZ7QBxSFxmY5_J*g(O(5 zRul(Fr_(^3kvPj*@tfI5a{g>1`S14!lpu&8iV_$M1{e$k)dATmo6V+98V-k`l}PEi zxz}4+hM_1LbQFagG6iILNcx2DLwuI81YRaNlLB8VmC9AWf8Itc8w`x<;_m?) zsSTB71%+koOJP8ACI#LUi-pxd;QU30V+viH)OvACHR~gFWo$Ck>ouubEf+|RdWtoH zBmB6rvy&>|WWnK>hA~c!@jE&Y_V&INun!v~ha~FTs2}BJv)Qt~xEMVb3WcYfPM4Vk zPflt=F2}VG4)zOp5?^5Gy`G>8kWyw4mv(_}Az|&Aj55L@X@uN^8d67OU4WFrYB2w} i!3xqtc+#HV0t^6(Y#+e%91wy40000;H#yj8hmV z7!1Ltb)-mqr2qv55>!Yu1RC0iCX~=dqM@QibQGXSp`}0qA<-a`hJ^4FwrmlD&k)=9 z^)jnJeut_t5sJ09dv@qBjK>m;o^l+6*Z08T; zo@;5bO4gV_jXP8YhBs_uSR1&(bqu=SH z+wQ__nIQ@`q$SnVq$9@zIZ7?8!oyo~O53r0$8+Gg4ulX2S!X-@nWy+1rxLihMg6}b zS)~1Tuh+92or35Q5uuQEwzHpk%;&gaf&o?t*C}h4@O`V<>NvuID_rPtT_NjiXMez3 z58@~R|IL_^B*M7Z_|j-vzU4U)2U*1 zY^m+jz{on=*{^uaPmRt&BRCPqa2#)_tSO{x$y&h=`yZhUQgYCK0B57EXS zoS^czCoa?YNKfM=cCn>$r;tSj7che>s9_Bs@B(`j4oWbMGVxyX(D^276N$L6NFd=r mA1yz)M)t(DlbqnM00RI%96s6j64G=40000 literal 0 HcmV?d00001 diff --git a/minesweeper/images/cactus.png b/minesweeper/images/cactus.png new file mode 100755 index 0000000000000000000000000000000000000000..bcd705eba59376694e2142744ceb52c9a5d8f928 GIT binary patch literal 1609 zcmaJ>c~BE)98If&AaS&c2d%n|ibqMZN6sArCfP)=1Zff#Z0)#7masy0CIIm~DhPN84hMKo4#lFpPSUH33iHsmTmtk$xNM!| zl~d`KG{8tR1fZ0GQYWYa0Tm>J5QSQ;jssv20_7kqhhQnBMiCeVL7?xE2-X-^CThjZ zeYS*^PLjoOUQ{mk`Ft`TBBL3%9MWpFAq^Oo3J58iM{zhWrP!(c3K+pU8Pdy$9w35HxjxXcXg0eVx0l7p=0<_f0u zM#v1CGzbDK^q3if^m>EFs6@0NrcoM{21L?FbPWo*muS>th(fDUDfEaD!yw22YV-z! z!Du!^Y8X<8h1>tKipSDo*8>`w&d^hfvZM5FJ(>hrbU@E~2 zTk8I?U)ZV^*S{FKX7j&?=Uv+Opy9$H)$Ezy0ux7`d@^Hv=4Y*A$ob`K!8uQ>MCFyN<_?UP(3tww(XEv(*2j{hN+kJ2t&jc6pR6sOhwo z|GIL)O{eF{*{1Rl;Xh7u1JVfdoln}UOQlF#L0eA!?3Ogcnd94nC-~S63G>4zY-dYe zY&dpr`07=G&e0j0zASAfziWBKA6AH!rH+f=kF$4gq+D00juqE5tiq%GMSpisF`&hD z^(Sgna68&P$ngo-X8|HMol*FYCXHN<3M3GNM&5Q6tQ#n9n*y2 z+%rRyLhM=a*1Ox;>kk$c>GZ|bfq5-Rthlvj)={s$CHME(c7M`)_MWB##dSk#7YRn1uUl~W~8n-|*7zZ?x$eEipp hVR6mqR&g*A6s_Nz5Xjcp~8X$#SmBQ4Csahe*s~k7*|Gg#X=L;;?A&QOMC<)F~qbrDe@4iJUi9t zw56TSv~#>O4FF)y)5#8dXbCukAP3sE`40N>-iQBWYkNCOQ$1)_^LHG%K zXzD4l!!*k(m57Q(dehNCEB*Zx>FJ@l=4L7+5=5F-Rz6RQEBS4&f`qSAOz;c zg|RWz^!DN)orc5VKy4rZIGs>A(BXDN&19HVFyJI#Cy-1+D<2PlRGYD0bdAR0p< ztJtzQM2*Ez)O84aol;dM<#oYXRTD&W&jV!Q^B^We;$6+`e#9?h!v-~8yltm_XfE;c zm|-B1Ofr@_K(!p1fgFAgXLS%QSMH(YY=yAtrr~uQs~9 z9*5WM_qp6Al&vtdbPWFb%cu+91c@$WcX#cZXPG6Q(f#4!sn3e?NxXiEg>}6!7hhl1 zILK>(eC}$W+e1*cqsV8L;i>IHmbcBmx|VrlWa|Cq=DV+^8M6S^|H*PKR0i?R`MZ&p zWxJI}&D`_j5O5e3K@EW$J|ma=$IN92Pw$8)4bxe!yYnweur}*J^r+b$rvFUi9@k?& l&JM0RzV;k7Tk%_f0RUHGjwiLB%3=Tj002ovPDHLkV1h1gTiO5s literal 0 HcmV?d00001 diff --git a/minesweeper/images/clock-select.png b/minesweeper/images/clock-select.png new file mode 100755 index 0000000000000000000000000000000000000000..8c567916c8e09c48c1bcfd3469b07d8526186902 GIT binary patch literal 741 zcmV_iAF~v0|Vh;AP^)cJ2+sujg8IR+S+PaRaepV z;g1X~vM&(0H!(Xqrv!tFB#Q7XvkT{X6%fz#gd(?Yhc5T^-ApVldJBxDED@d-Ov~eR zyJHhGGjm-&pW^B4G!#F7`UslN!G1}H>>C~qtCBK_8(@|(;@ARsrfcD7bl5FPirC%` zJjWRVl}ZH!jPSU42+1ArYO4+>np+th8X6{!EzoE*Lf8BI!}NZ1d<;9qqJghFyHG+A zLiuMEx_tty<$geaI2T2a-4==JtmStOE4m>eI6=ZX7vn`q?J zdL3#st_-FdyfzU?4oO*4YMJ|8?zB#fs8mn1<4b|{z4ZWE`q3)?SJscgMc zVNFxO5@|J>KK|r{JxwOF#IXhN$KifHpLw*fu&kC!OyK#yW}bXCRb>nF^UI8}3~|WM z(PhHf2N5UF>2%(ZWjQ`IJw14LZ0u@}EO*mHUyw6wIox3`zBR;ydJS`7@Y zDL}>SM)(~LM^{^0+Xbw&+|jZa literal 0 HcmV?d00001 diff --git a/minesweeper/images/cross.png b/minesweeper/images/cross.png new file mode 100755 index 0000000000000000000000000000000000000000..6b3d5179693b2f52857e8652ec766d5baa47a86c GIT binary patch literal 2237 zcmb7Gc~ld39uJ3TQBjdoRKmCd6-j225Rzz+BonS0r6C;J#U&;K$%AA#EeOnq`0y zjYKV1VRBSS)H8~=qcIp8z&-sv1cgc{kC0)SkK{_tOtSE_k+otK86tsX^|XyXzFCw& z@Ogwn@zGj?36VdX|5JXAXr~Gx3lR+(qn6-R3}5w$)aQlthBGm+1Y&h0f>+T?9Hl{~ z4+H|%X54wXQXB=Nk{AV|#C%~k5ECPpvfM!)mkZM&K7$IuUJ%6OQYc6h z&XWI`I>n7fhd40Bi$UXq5X5lv;&PbyrW*uPm~<{MgO&c@=_2Evko7(GNzcu0;f<`H ze!M~W;^Q4elz7S1_zk<#KF5PVFh1)Gb41#%y5LZs<-rynrKN*uPm^7Go|#|nTm8Vp zV!*&NSo=BJG}HsqG&meqN-9Q3>}aKmFTVDgZM+hGe~`Xc$Y<~|3)dRvgN!z zSL#nrB>R;Q4yKk^=k){q4UHw`~T(>uNo`}KfFM) z<0N^BQA*EpqxYerr!RU+BU~m8NhP-lM^>9T?4;xwA5Ays0fYS=q0EZg!TovEt&TZK znXN@GlcSw&E4^CU+5(&U$2>J}Y7<3OH^Qn}n~t@#4A92-K-cEN?*HC$`u-(nw7#C- z^dGgAPN#e9zq^LEw4~|5=7Q$-_V$0rXXhF}zXl1EYIQ zN*&Z&OZ*HkY{bULS%ax6#)6s!i*k6{;#0{lcXZA(Nj{O4xivd~*V&T5n+91erT#UK6xZK0;o&VmnwYT>HU_EC-+VK8i=A-f* z0#qgo%bv1xwz<#y3wd-Iv3G>Y4@>)(X6)>?;NX6y+UxHhs$G5xTo`Infi(<16jXM# zpH(OnTRxm{(RrXsCD-g8BY|XLdeHYw$IN@7b5v`~ot%Y-p)Vo_p0hAYj-yHGQA?zBQ2S!o^>7)V#fU z*FKaOXS}a1WOu!)GhP+6BBg$0eOm5o;`IRwaI~tpxa;~W+Bu(X_1`wQoOIq3Z(|lH zawO`UMrERJz6m*KE|Q3&m;RgvjGCS4c3SnQCi2^|sfo+?qX}7ERZ`&xx167Q;493O zj`l-ONP@~LO_8qtg_|dA-o2?P23zKoadKYKkoiN;CCndn8KUY(_fOkuZx0C&_IvnqFd1&j(fg1VSRi*_o)3lx>N5h z%chqAY1iVBn*mG0u1X(0KFYEUg&UvtRA)@2N;-qqk;+rRge|U}5ogr5;}XgK$Jpf; zn`cmo*@T?k?Z4R3TKiYrYtGP)Ai1`+lY+07o^CkOY&y)E>YjWbn}~ir zaN57=T&-e+**O2$wOc&P4GNA~+_;2(#hNgAss4YH2DK~Ve@vRl|24ZJ%+!C5Qy@1m zXs>-~c%zOy)O}&i+90&1IbkH>u5r3E5IbUTU_yvr)gp`aD<0DSQ26pU!9Q@r_WTBq CbeJIk literal 0 HcmV?d00001 diff --git a/minesweeper/images/cup.png b/minesweeper/images/cup.png new file mode 100755 index 0000000000000000000000000000000000000000..16a43428e8776484f74b7b1b397f87828315687d GIT binary patch literal 734 zcmV<40wMj0P)Wp|Y%mY0_oQmND%xn8e}sEbBkyr$g8ceGkW2HF~J)JkOhJ4@6Tr0&Z%==%NV z#BqT@;4yEFjnkD%r6t#DH31@RU;jnn;m9bVcC$I1l}UzSm@CIId3$?1oy}%v%H{Hw zjHc|vQ2{}5I2>lMrfG!#rhq7lgr=H+h)^sR)6>(_+41r5Da3q}(c$v^{QU31!NDl+ za&&Zb4E~lR$rRy?3WdV=p`oD(B(Vm;uZp7Vh!FURX3U@z9VbGEhlj^$v(5h)$WrGx zm&^6O*=$a7C0veVv)Qzjl@$>IwrDgO#%?wyG#U+4z{*6&@l9qjnJGRx_Jc=VU0oz$ zXM*B-KA+#u<#Ib-uh*`sDi4w!ovzQ#%@q=f1d}uP{(`z&oMES2!5Ro2Umr+8pbxeS zZ~_fLLo-)_P1svNg{QbPiNc9X<+Q+qE?GVfG^{((v;>Wlmq|G7b^b5F0F?}D%{FEv QhyVZp07*qoM6N<$f|y5DVgLXD literal 0 HcmV?d00001 diff --git a/minesweeper/images/flag.png b/minesweeper/images/flag.png new file mode 100755 index 0000000000000000000000000000000000000000..5c008b0a6fa5e8a1f8ddc294419aeb3e37f79f46 GIT binary patch literal 728 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 literal 0 HcmV?d00001 diff --git a/minesweeper/images/mushroom.png b/minesweeper/images/mushroom.png new file mode 100755 index 0000000000000000000000000000000000000000..122887b04da249b5fe2ba1ad84883bbb7dfed543 GIT binary patch literal 827 zcmV-B1H}A^P)PK^VrL*=@J8{Q^o0 zw$MTfXpv|@LNpi?O$-{NF+mfr1`i%Q7)d;62;t^Q@BR~BOo$vb%E5yP%0&b6Wm{UC zR?A1X-R^eVab^vrlRTT9ec#_RGw;4b7-Lu%C2%PK<#Ni15Q1p{lUy`L%f|z4`MFvy4|f_3aVk zXoa2Bzc4v9HB8+eHQXD6EX(kEePEL8?oXU?hkE)tzkK?*z)THCCX#s68;CICn!Rx4 z>M$dcn$PEvPNz|+RIt0di&CkCy}dmU*`c02KRH~7GAo#-fo@5TB7NP4p z*4Njuyu6IHwKaP#q-h#r{e9}l=($0`G!4pCTcdZpE?dN8Oy=dqR zPQG_;aNI}&c0>pmFmm(W%xF9whtKD08Yt9_hTwRPmE}N<9e3iUm!N|J?G5|m#N``z zCr~$9yBxvp9#{>gi1+CH4mPI5UPzzjUrB_cqDTvs+cmEC%1@Y#|gVcjX=s(Z}&&6&lT0ICWcE{bFk0j~zWq=U$gB6_<14!*Oqi*FYO&A*-DVO9JQ|IRzHYZG2Q0v+Ok))Y7$lrV0&yH0 zeT*?2XaMK(MNy0a)05CIcAQ!Q3NX_+=k*HAis0o0QW7|!eH~Y;lvQ%B8AmjDG=9#Hxo!nAQr7BP*8wDBe)%bl!TBf zICBE|AT$)<(3}wq5rD)YCzS-00zC8XBBi*YyqY8u0xInaX{g3`EU{JDb`#0^>vz}t zm|l5H(=KcI)u->Q-CFC{&CB+0f7;F{z_ruiaCqWV&G&s}Hm%ia9S3NtKta-`hJ>*e z;NIhNx;jD#P)fmdUGO|lJ(sDK#*3jqQ~jUKX5deJ2!cR?H{B(W43cQK+pyeQhEAuW z`ZNJc1!5M%k$LNrCfofrKRK5a>2o$`Y;a1 zAY1{xQ#~C>c;d(p5;D?BN{#^8KubyJkN%7PCZkC~fx-K&ch>uV?Z)-KADINGN8!i8 zx4{BoG|1M04eR2;VTTbJFJ4Y=sggRt9Jp!ahmb`pVN%~QE*u#PtsF1P^}g~XJ_!87 zQjFlyTp>nTfq)>HlMhLF#EOK)X_%bp*&0AgwtxupI1YrqOE@PXu*bArky>6XxsbTL z;8;a@{`j5A--punrLR@0t(E|SZpjVYt zPRk&o32X%bpP31qHgvEqCtY&Ph_AZ!rtPbIeiP=DmHwZ_n#fg2;z>&2Lr}j_=;)r@ z^b5p}z;`+RHmdfAM3Tii)@g_i5178FVgQyIj^R6X;FeiHl5BP}?p@eq6zn{{#!uLl-{+7DZb)L21i19HBY0>K lLhKZ>n8(q0|BL)|OC4z;3JB5N;2$&`n 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 literal 0 HcmV?d00001 diff --git a/minesweeper/images/smiley.png b/minesweeper/images/smiley.png new file mode 100755 index 0000000000000000000000000000000000000000..d2bf8a4811db734d12a8eb32da370b0189d08c09 GIT binary patch literal 2361 zcmV-93C8w`P)T{f@GfNbCvGXBqg3(ul)Xf;17S%M8!|4PvBkz_g!G@C8yT+tJ42UgB+N1(?64$Kijwx4oDUl?=lITDndF*`ti zO-2-U#!{d$k;keqN=wz!-7Cq;$|v(?qk4uYu8^3Ib3pzNOQVszF1w>AJkOqp$(~US zdJQOiMF>phATn|UN?Tp0@hUl0p>aU6yX>yXpN(k42mQG(&qws!$^GgWb>THv+`}imQ?En?qbTa@ zx3GLShgAF{R7(}84m-TTFh;*N0##)Uu?^EiwNk^E%(}Z%=z57rQ)f~)X$_hz;pAFtA0`yGb+}~#L;@dZH zVf7W*?PS)_cL8Mu_k0i zgw#Jy_6ElHe+&6i9UpvAv+_jK(rL8Cu*N38`*Ta@;>Wiw8@6Q(#m<^IeQ&A z>)kFObo$JmlxDWadUZN>jKMQx9f8M)gSnWq z*MYEN*VJaMNSlj7#YKW&as>2}mG%5SFUEIAaOYn95eGU>`F$SJ86urED*~Jy8G|vc zL(99GI25~6WzOCu@JOPhG;0;gxDC{+4e0d-y)+@FJ|KWHzCYndJh6cv3@tzs+R4Lc z3qA7~zhfQNWgE6-492oB37a`AF5>Ks0Ig-6W?M&{l#;0m0)9L6MicG_??Oua5l3kX zFO8U;BTFfEX9TEr;YWSvNI2Bw%}q|L0`gmRC=`a&Mis$;10rz<%w_Z>BKjxSC>M1u zG-cYw16~E2n-w@69BZRnM+LK8&N}yAF(1;g#taLCu^5xFnS;5Qvo`{XS}|91I8?>e zCsR~Sg#9Xc$3Q$c6WzwCy+2I!WOSibL^}DLU$mMS!CHbaMbn`74x0>75>X*8=Ilm5 z*D;?@CCj2DQ@8}EGV?TP(@?n;Rjd385|v=V4nedLq|_oe+cW1Sp)oRfDg_-FKn6{HisJ$ zm0HQBku#R306U^mCJOnq z*8Wf&AdV_?QQ)R~9iYQ*Tw0vH`}EW|$45X>P?{C&9}i)ANkQQ7J8*hJC=?0^hr^Z= z>2w;wV9+8>CX?{_eAd}dBoYWxLMmh);K9eg#s1L-6p7YIwo|YK5J$3FF)ne_x}zW9 z26AyO{&F-L@Vh;l#_d%s+=m>6GBtY^p&!0Y5!i)DBtj8U;cz%GJUnbUpePFben0B< zx)lK@^$Kf$Ka0^_HNx<;PLgCtE|n=02Y1fzbsBMN6IQ5NR;$QVD#n>>SLc>%RZ0em zW)+ZqPx%qH$FcI!uTam-{ntLfp1F<14}Xb}x{ArYes0OYSd7Wo%+ccN=?6N^0bN&8 z$>PNIPZxi2@K7u!%MMX$)G)axfc1im<(bo%Ph3WL@+Z)x0A;&Ct0mo9#b)kbNZkB0 zDybPfJrqR99iYveu{K_VGTQaemR1P+U7GooM?Oq?E>7`h=jS)whS5BB=-b0ln~j=M zeG6fa4}rnwk)?cVKH*5dGcBGl`BkB+;KtovHo zNG}p$nwpMfYK+&wx>S>q-Yk?q`E+?{GhIIa#J2qCexav~wsJi!pFna%QKVCQpV~F{ z%w#m^_66)#yRA?&BdM)CV1~SE4ce@_!tM+PkZ}=l)sYHhzE{+Av`k`!Pmns zL@2HM$;#C(2?eUS8;JteZme1P>-JjC3U{@A-ub!quoF*mfCp?$+`cRAvH#^_vU;1C frSUii{w=@&68G2rW30Tq00000NkvXXu0mjfjhk`a literal 0 HcmV?d00001 diff --git a/minesweeper/minesweeper.py b/minesweeper/minesweeper.py new file mode 100644 index 0000000..ab213fc --- /dev/null +++ b/minesweeper/minesweeper.py @@ -0,0 +1,309 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * + +import random +import time + +IMG_BOMB = QImage("./images/bug.png") +IMG_FLAG = QImage("./images/flag.png") +IMG_START = QImage("./images/rocket.png") +IMG_CLOCK = QImage("./images/clock-select.png") + +NUM_COLORS = { + 1: QColor('#f44336'), + 2: QColor('#9C27B0'), + 3: QColor('#3F51B5'), + 4: QColor('#03A9F4'), + 5: QColor('#00BCD4'), + 6: QColor('#4CAF50'), + 7: QColor('#E91E63'), + 8: QColor('#FF9800') +} + +LEVELS = [ + (8, 10), + (16, 40), + (24, 99) +] + +STATUS_READY = 0 +STATUS_PLAYING = 1 +STATUS_FAILED = 2 +STATUS_SUCCESS = 3 + +STATUS_ICONS = { + STATUS_READY: "./images/plus.png", + STATUS_PLAYING: "./images/smiley.png", + STATUS_FAILED: "./images/cross.png", + STATUS_SUCCESS: "./images/smiley-lol.png", +} + + +class Pos(QWidget): + expandable = pyqtSignal(int, int) + clicked = pyqtSignal() + ohno = pyqtSignal() + + def __init__(self, x, y, *args, **kwargs): + super(Pos, self).__init__(*args, **kwargs) + + self.setFixedSize(QSize(20, 20)) + + self.x = x + self.y = y + + def reset(self): + self.is_start = False + self.is_mine = False + self.adjacent_n = 0 + + self.is_revealed = False + self.is_flagged = False + + self.update() + + def paintEvent(self, event): + p = QPainter(self) + p.setRenderHint(QPainter.Antialiasing) + + r = event.rect() + + if self.is_revealed: + color = self.palette().color(QPalette.Background) + outer, inner = color, color + else: + outer, inner = Qt.gray, Qt.lightGray + + p.fillRect(r, QBrush(inner)) + pen = QPen(outer) + pen.setWidth(1) + p.setPen(pen) + p.drawRect(r) + + if self.is_revealed: + if self.is_start: + p.drawPixmap(r, QPixmap(IMG_START)) + + elif self.is_mine: + p.drawPixmap(r, QPixmap(IMG_BOMB)) + + elif self.adjacent_n > 0: + pen = QPen(NUM_COLORS[self.adjacent_n]) + p.setPen(pen) + f = p.font() + f.setBold(True) + p.setFont(f) + p.drawText(r, Qt.AlignHCenter | Qt.AlignVCenter, str(self.adjacent_n)) + + elif self.is_flagged: + p.drawPixmap(r, QPixmap(IMG_FLAG)) + + def flag(self): + self.is_flagged = True + self.update() + + self.clicked.emit() + + def reveal(self): + self.is_revealed = True + self.update() + + def click(self): + if not self.is_revealed: + self.reveal() + if self.adjacent_n == 0: + self.expandable.emit(self.x, self.y) + + self.clicked.emit() + + def mouseReleaseEvent(self, e): + + if (e.button() == Qt.RightButton and not self.is_revealed): + self.flag() + + elif (e.button() == Qt.LeftButton): + self.click() + + if self.is_mine: + self.ohno.emit() + + +class MainWindow(QMainWindow): + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + self.b_size, self.n_mines = LEVELS[1] + + w = QWidget() + hb = QHBoxLayout() + + self.mines = QLabel() + self.mines.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) + + self.clock = QLabel() + self.clock.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter) + + f = self.mines.font() + f.setPointSize(24) + f.setWeight(75) + self.mines.setFont(f) + self.clock.setFont(f) + + self._timer = QTimer() + self._timer.timeout.connect(self.update_timer) + self._timer.start(1000) # 1 second timer + + self.mines.setText("%03d" % self.n_mines) + self.clock.setText("000") + + self.button = QPushButton() + self.button.setFixedSize(QSize(32, 32)) + self.button.setIconSize(QSize(32, 32)) + self.button.setIcon(QIcon("./images/smiley.png")) + self.button.setFlat(True) + + self.button.pressed.connect(self.button_pressed) + + l = QLabel() + l.setPixmap(QPixmap.fromImage(IMG_BOMB)) + l.setAlignment(Qt.AlignRight | Qt.AlignVCenter) + hb.addWidget(l) + + hb.addWidget(self.mines) + hb.addWidget(self.button) + hb.addWidget(self.clock) + + l = QLabel() + l.setPixmap(QPixmap.fromImage(IMG_CLOCK)) + l.setAlignment(Qt.AlignLeft | Qt.AlignVCenter) + hb.addWidget(l) + + vb = QVBoxLayout() + vb.addLayout(hb) + + self.grid = QGridLayout() + self.grid.setSpacing(5) + + vb.addLayout(self.grid) + w.setLayout(vb) + self.setCentralWidget(w) + + self.init_map() + self.update_status(STATUS_READY) + + self.reset_map() + self.update_status(STATUS_READY) + + self.show() + + def init_map(self): + # Add positions to the map + for x in range(0, self.b_size): + for y in range(0, self.b_size): + w = Pos(x, y) + self.grid.addWidget(w, y, x) + # Connect signal to handle expansion. + w.clicked.connect(self.trigger_start) + w.expandable.connect(self.expand_reveal) + w.ohno.connect(self.game_over) + + def reset_map(self): + # Clear all mine positions + for x in range(0, self.b_size): + for y in range(0, self.b_size): + w = self.grid.itemAtPosition(y, x).widget() + w.reset() + + # Add mines to the positions + positions = [] + while len(positions) < self.n_mines: + x, y = random.randint(0, self.b_size - 1), random.randint(0, self.b_size - 1) + if (x, y) not in positions: + w = self.grid.itemAtPosition(y, x).widget() + w.is_mine = True + positions.append((x, y)) + + def get_adjacency_n(x, y): + positions = self.get_surrounding(x, y) + n_mines = sum(1 if w.is_mine else 0 for w in positions) + + return n_mines + + # Add adjacencies to the positions + for x in range(0, self.b_size): + for y in range(0, self.b_size): + w = self.grid.itemAtPosition(y, x).widget() + w.adjacent_n = get_adjacency_n(x, y) + + # Place starting marker + while True: + x, y = random.randint(0, self.b_size - 1), random.randint(0, self.b_size - 1) + w = self.grid.itemAtPosition(y, x).widget() + # We don't want to start on a mine. + if (x, y) not in positions: + w = self.grid.itemAtPosition(y, x).widget() + w.is_start = True + + # Reveal all positions around this, if they are not mines either. + for w in self.get_surrounding(x, y): + if not w.is_mine: + w.click() + break + + def get_surrounding(self, x, y): + positions = [] + + for xi in range(max(0, x - 1), min(x + 2, self.b_size)): + for yi in range(max(0, y - 1), min(y + 2, self.b_size)): + positions.append(self.grid.itemAtPosition(yi, xi).widget()) + + return positions + + def button_pressed(self): + if self.status == STATUS_PLAYING: + self.update_status(STATUS_FAILED) + self.reveal_map() + + elif self.status == STATUS_FAILED: + self.update_status(STATUS_READY) + self.reset_map() + + def reveal_map(self): + for x in range(0, self.b_size): + for y in range(0, self.b_size): + w = self.grid.itemAtPosition(y, x).widget() + w.reveal() + + def expand_reveal(self, x, y): + for xi in range(max(0, x - 1), min(x + 2, self.b_size)): + for yi in range(max(0, y - 1), min(y + 2, self.b_size)): + w = self.grid.itemAtPosition(yi, xi).widget() + if not w.is_mine: + w.click() + + def trigger_start(self, *args): + if self.status != STATUS_PLAYING: + # First click. + self.update_status(STATUS_PLAYING) + # Start timer. + self._timer_start_nsecs = int(time.time()) + + def update_status(self, status): + self.status = status + self.button.setIcon(QIcon(STATUS_ICONS[self.status])) + + def update_timer(self): + if self.status == STATUS_PLAYING: + n_secs = int(time.time()) - self._timer_start_nsecs + self.clock.setText("%03d" % n_secs) + + def game_over(self): + self.reveal_map() + self.update_status(STATUS_FAILED) + + +if __name__ == '__main__': + app = QApplication([]) + window = MainWindow() + app.exec_() diff --git a/notepad/images/arrow-continue.png b/notepad/images/arrow-continue.png new file mode 100755 index 0000000000000000000000000000000000000000..803431188e3a5944d86bb793c87f8b1aac9f9268 GIT binary patch literal 790 zcmV+x1L^#UP)rqF4N<<}4@ zs7+Bm3pE)ljf&Am3^6e=Mm8=?3_)DDaicpRBrc5`7dA1vaG{BSzYQc{B4`9cC1Q-_ z;{q&DErqtuK&PE)y>GBp78)iwIi1&c?&sV)+=Y$~u!rNgvqTlx-m{#^WL~i!ylivB z932N8IC{Ff@BMu%oylx6f&NEkGZQX$c3#ci;pHMXRG|{q;8QMpn7z!H1<5jlAukVU zP2;4>7RX#FxW@a-J}O^i!hNN@xSjfEBC4OUnoPFy8<)2zV2T^NdDc%H)`0Zr^?v$81E! zxjGY0I`g-PH8vH(*wE{ql-xi@_`HWpYP|bvF0;&^79}(^*zsgCih&t^!aN_QQ9e=pP2|tk;yupE+d6gv#}Nr`~5iXa_M50-AEN_sgxnNNUW5J zXCuA|dU5Tt=~IZ;*1@&Mj6AUDow18dz8k3Wc(74i%rg_~E6n)t@;O>hxp3w{ zSuS%Tkw9~EGY)#aT}ulKBk8p@q}d)&5aHYCXkod>Q^3)l-)r+gr9e!mlF<13gJJ>p zy4|;;!Qhk@3Qg0|4uZs%tAyYXoX*n*L9qX83#mFzSy`FX!r?i3C7Tf@eE%iD0CuW> UMo_x}1^@s607*qoM6N<$f|v*_ z{hQg@@oj!eMM0zo2R>%^%{T9T@0%GSgn;7=3643Gsi!r_WV4{@I;fcpD5`2<{01t! zpAy_o=a4Lt1XvXHk#Igp@Jl)&te7!-^cw}iKeT|G8Kw4}Yh^R75PBZ)IR1MJgT2C{ zQDi^3J!Lu$2O5THcx{v#ae$~JZxQF!qY235lU0ilV$a?+&8;mDbY1ErJ)8jqgi%ae z9p9~QA2d2nIL{e-fgbpM1vCikhclPVjg24ujJ`kYALYA22p;-CDbtdKpDGr$B8$nr zc8jGZK1)rNbJbgW%PYH;E0@QOcAEmIGIV5sZ;61etbmu%p_k2pqvxPWbcq-81(b7^ z`N0}`v`@;jZvjbJcv;mEilrQthxuNg_no6e)K?Bl&!m8b%3%kdoT^D_njg z6CkOaZLSvfKCOJIoVj?xXntI8pf6P<%*9dkl84bk?DXESR{KM|v)kovuf$z9iwa(o zQ6+h-0`lZ_OFBK#zX$C7^D1v{{&sBI`DuWY?a zx%3(1V+aFL9?k}D)(zzCh|;+U RV`TsU002ovPDHLkV1oAS7YqOZ literal 0 HcmV?d00001 diff --git a/notepad/images/arrow-curve.png b/notepad/images/arrow-curve.png new file mode 100755 index 0000000000000000000000000000000000000000..56776f5fdb4bc1632aebe0758b09c6e105459459 GIT binary patch literal 613 zcmV-r0-F7aP)@rabhG{AgZJRfn%c+wP zau<(BNgTUz6anjWAPPg!cdO9$eK0Lcx{gA(W%r+3;7J0VAOKmlG=9{H8Jj|q@vRnq zPe4(}K!^!+i-^3uJr_a|)oKi`TsZDLcv79}iSPCk3tri2%<8bNx3FqO$M@2&H>o1jPDB{giC-YaGQQOAbQokKR!wj0qxV0>?^R00eOg?O4FEgBh4# zC@n*P5n1$LDo~hw!OkBq@rB^Di6NYV+Q-N+uhh+}8385ITGsjB_{2;``bx zG^)4R``JH6`71{H7&pmR=Unbpx?|+E)gk!yp~4sMJnJpXjx|6e7!za63Iw&MeEI%6 zxu6IpzY#gU-V6GdJraFLdW8KD7XOjZY$wB6x00000NkvXXu0mjf2YnK8 literal 0 HcmV?d00001 diff --git a/notepad/images/blue-folder-open-document.png b/notepad/images/blue-folder-open-document.png new file mode 100755 index 0000000000000000000000000000000000000000..6b5fab5ef600c33b4c1cc8ec7a691777b94eecfd GIT binary patch literal 630 zcmV-+0*U>JP)g zTGB#tXi-ZqDk=yC|3E-5dJr!j{0s{E2|V^zdeLj?A$n6h=|MaR!M%7=@X#QIkTk_4 zyK#4CeBaG(vKuHk@G!H>yuW$gXBZ*xzd$k`l2-74qeW`)LcvUauI@a2vi-Al2pEIv z@)=ahCD=;kDs5Zg-t+Be>9^v|$&f4M(^xJ!=nZ`Q`rXEd&tI^$S(^daD4!DN&MpWl zH8}@TYYpEYVa^h`v|dFt?BVgvt5C%vLfWiJuIpm8B-g8Dxu&D&hm0MJWkr#}R2rTa z;JDkxVXK9|zK_9RfPTM^=I+Y}RD6dHUCRPw9$+x?16V@9wk*t(^&;ibCE(899&T@J z?0$FMN7)Q4Zh^%kUXu$cC4Zohgn74K$0!WpI1b)7n>__R$zaj~k9bXmk{l2vc2daP z2!q2QkU0losKMgFvmr?8VAjbLpv{R6xD7ep9XmhrTXax}q1&ey@rJno~JopdzRq^9cdZ~Db2gQrvxe-izXpn?NsDY^c zkZ6-lvf172I`i^by zP$(dB=LIxPMKBl;j^kq;hGF9H^<5;BNqkCgFu+B@pyLcFn5KzZt%k!#OHfr+s3b|S zEKB%&KA%`ebCgbJXmrR(Boe6C>%uNeA+#iI;MX(_Swn^H4{N`}Q*fNlI0FXYY8=R7 zA%N8f8?fozbR4v88`+&5pC93**Z&S z^Hd`#*~DO=RH2{TYPBf10g3v%ozJ6CE<^KrQLR?7wz-LgRO(qFms?iskvHH(!!Xcn zHqmakq5Cue5Rb=&U#17WwYUg_;v{;|cbQC0vF#xMSLH4^MB77&4h@S$=fz^NJ58a` zAnyG1GZR04qjRAOVc+md390Pu85y=2i9+ZBMNQc2h$ zV!&67Mx%lm0mw>O2hRA11J3sx3>Mv$zsSaW&Q}kv=hZY)x-feth{` xc}&~703eN&8z?@1mBIhW9~ayfhPVF-FaRZ;J`t+B(rf?#002ovPDHLkV1nhuPn-Y% literal 0 HcmV?d00001 diff --git a/notepad/images/disk--pencil.png b/notepad/images/disk--pencil.png new file mode 100755 index 0000000000000000000000000000000000000000..47bf953013021a9c9fefae287ccf6e0bc5a62bd8 GIT binary patch literal 677 zcmV;W0$TlvP)>tPvNZcrb?u3Y-g%(87__cCVTj7qmf!` zOfVW_O*6@4W}ff9n2>0(cpnF5-rRHUx%a)X1m!RQ3n+e``;IlkFfceacCbH@IFkjg zE5EmobGSI(ttn8cY@RFa8VsKIdtMI>ZA5@O;JA{!x6CNae;}WYvPdMtR8?jEwnMX{ zfKOpCNmtS|4LW1op|NV=A75ffy}XQpyeL=y zG${+~CNsbxlXZ=|Xs%qyCGqi9SdhmjV(92OjZGbgMVrJSu4FL@w8k92UgB-EQYCn4$&6 zgqXT;5Rb>fPpctt(SHXh0w3N2i|q^l{7dU z4v|dH6pYC&0(56M&nk{_irqz)rEY~ox1W5?h00000 LNkvXXu0mjfyNN4+ literal 0 HcmV?d00001 diff --git a/notepad/images/disk.png b/notepad/images/disk.png new file mode 100755 index 0000000000000000000000000000000000000000..c6194618205d9cd720a3655d12f9f1212e3ee582 GIT binary patch literal 507 zcmVJNRCwB?lfO&DP!Pv2FE5e~MV;&v z#8O>d>Y|Xp!@)ti=;Gj{;NalkR7D&_5C?H_c5^D~D4m3&?IfiRqJ`F4UXz@6uW3zD z+lqn9%a8kh-uLbj0}i< zehi9-nHuaaon*BGgn(C}lmd^+@qNE9z%)(ZT+)dUp!XC(5P%|atJUfYuqZf}bRz1& z^gK@kngakR1aL0tObrN7TQ=FcBJv=Buq<6B=|Vv0fFHhB6pT#ReF2=K0UZa?5{eg3 zL(M)Gi$zL+uM+b4JpA@y8HUllc3qdY?JYsF10K=*TJqZ@EUNqVpahQNK)GDjO(dO+ zI*{x@N(uFP6LQ&mEu34O>RRS^eAu=f_P}ogeDL%pg2uy1jfR3mBB7J{T8|FR9sqv_ zq_gx?uJIh6v3R(*d3^O!d95miI++8p9i3-UfWnVBYq>KH#aI&3=}DN)eK^(>3%7-n|AZ{BBiR=rqUgi>lAz-rIIXo?H>qsx3K@q zhZRMUtljy%w6x*{0S27=d^w6^*tU&NYin=$Tv7YR(YpTxdh!v*er`gGGo@lSMl^^9 z0}L)N;kqvR{XV`fFR$?VGxkjuqm4bJQNSjO6bdD(Vp%xqbkN${L;Ls`@0v|KsMVTh z-R=kWyr%BuO)N2BY0YM>HNYglx%>0kS=47{GNdZ=BPIf~ z=!5lj^c-hICT3S&T^J;tJ6to0m|RPG>rc0P*Eu;kzdk+v-Z0)8AAkI+(U>zxY3?kE zZ0#Ea>dZYn{E}Xdq-qlrF(-2dsc0hWMAz==X=2bzW$I?%b-fIUisfF&*~kSG6H2f< s8yln6kl*)45ouUO7Z>LoM*j*h052ROJm1I;B>(^b07*qoM6N<$f`R`H!~g&Q literal 0 HcmV?d00001 diff --git a/notepad/images/printer.png b/notepad/images/printer.png new file mode 100755 index 0000000000000000000000000000000000000000..9edfbbcbca9325d89d668115c904bf0b9621a075 GIT binary patch literal 715 zcmV;+0yO=JP)z%;ecjLJh;D zNlls{u@u2&+ihI7+Ads*JJF>(!9^fl6a*Jt2v!sqmAcVwK`H28$ihNPgS1tI*fj4< z9^=e-@6bmoTD)-hZti!_nR9bLaXX*KNeCfs(lLg=$0ysiON4Vp#c`a|AC$*m<@2jX zzYmM*CwIkS5o?>95BM8|-C+UAwk!-m2>OCG7@*tfpxthx)oQut`=zB-y1&sgjEVZu z5g4LUfh6thxQRsq1R)CnzoH=E^+J&(9t+iK70=e!k(-)&UfSNi^L>9G;#fd&ZBT=! z+eKg3CH5%GGW^FDyW}R9%emvIs)~=rV$D}BLr^~t$N~~!jtcP)D=V3T5V$C~XK``y zKBYeh8}j7jWR$Q_C={MHo6T8G(_GsMjWG<@mEVtSHaok#ygXkjm3AtX$`{2nO)VCS zrHPDsy^e4=?4EtvM6=lf*L%Gls1MO-6p=_6TU)ybh14{2SwK%D5~*6P22vz}2=?~A z!7#cwTd@p}M9*hR7DJVr~Jc)KwDUS2(2Wc&6%qhhT$+opWJ;$~)7ugn)^wm5(eA%bx%<)@*0RTx=T(w7R8kztA002ovPDHLkV1mqm?G)iJ4iAVne6SOec!%)^9H%D3;(ku{)oQ@Kmvdu(l^uw2qma-j-sQQ zw@NV$u1gc$-#{F?5x}#FJ%PX0pxPkaJ$t&NI~r+j)qGwbE3j1BH5R^QFMa;9He_1% zQ=0eoKm|2&D5yNVm5BEdhiDs_ENs+cf#|VNAkrBMk5A48ck(9GM5+RASXIQ~p}~`V z1-+>0dI2V$#1EAAU?dG|Ia#}QxvOvd&DUY8?95PiM&ME6BzjMUy90#*V&B zaZDyNJSBEi1{T}3EG-%dbu-R>1+Ih7x3_7ndcLs##j*DWCk*uFphaDW^im#DDIG*f zgkZ3-m2qg=v%Oy+xI+{`bsPsUc0ezbz_iNHA5-A=^+rf7oABzL34-JWcIdW^RmQ3J zfMA3%M%FF{y;uf95Fk;4M|Y0!@Z%R7AbGX@>Ijk$c=wMAfKf}T7nx7$`D`pv|F5uv?mBr;W zt6?dk<9%SKF2WcYO}Xrw>4WY*I&- wVvBNdO@Q@6twQ?84W?HS3|1KBl0O0r0Hc5`CJFBOhyVZp07*qoM6N<$f}U|+z5oCK literal 0 HcmV?d00001 diff --git a/notepad/images/scissors.png b/notepad/images/scissors.png new file mode 100755 index 0000000000000000000000000000000000000000..85f80b593f616145c6210097351749af0faae30b GIT binary patch literal 690 zcmV;j0!{siP)_0@Jsyvq&1RMSBs~xa`1|_$;BvXZ$eMl5$s^w|{oBOr_3HV2UPU4i zU5I`fFtTQ!^L_CjgR7c`NkLG+p={I(g@Ou&Lb}uGyvWF!ea?dhpSqSoPLfZ8O+n(f zk>BU@>BVAEg~Q>+bULkAv!5_{$uK6Z8OjK<^r!s+L_ z#@5!)A4^NY-R0#0>D>@i@J`dlz6=e$Rq?ob($lkk6L`HhJ*^fb3T`bJHT#^CM?Q6} z|KNqD-D?-url!=K#HYa6Gg-knXY|`mS~@W>eN(EtzP+tBH#W-Su~^{o%*>lzVD z;Gq~WvSy!i^2n#Ib(gn+JFA0(MY`UX4Kdkx@}F18ntjg6BcHm~E%<=ZN#L?@23`S) zyTGF4vJ`ym4SsNf!vf1V5IGH8k~}*LJjyBcoI_{(lNU4%;hvH691@s~Xli?jUw;WO Y0K{B8%8@~yF8}}l07*qoM6N<$g8HpcV*mgE literal 0 HcmV?d00001 diff --git a/notepad/images/selection-input.png b/notepad/images/selection-input.png new file mode 100755 index 0000000000000000000000000000000000000000..18e2d70bf02d6672f10cd6aab857dc2ceab387eb GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XR(rZQhE&{2`t$$4J+o`W#EF6}(v20oQ}(ubn0fHuX($bt zCBk$0u*XFH84JFssTc}a3;FU$Go0S+V0p$vsLo-JXvbboi32?{9WN@_HzqQEK9sj+ z*<<$I6Aw4c1GKwe=7jAZhck{TR}`D~JN#i*IKc3vNOL#y+v!Ju&Svm* L^>bP0l+XkKAdz9> literal 0 HcmV?d00001 diff --git a/notepad/images/ui-tab--plus.png b/notepad/images/ui-tab--plus.png new file mode 100755 index 0000000000000000000000000000000000000000..de2fe4affff9ab78a6dc6fc02cac6326b1d9587c GIT binary patch literal 489 zcmVnTblfnZQX z&=?MZg$_bGL=ZOB*3u9(nKiaZb5KFh;MOKBO^#B3Ai=q%ASwvc1mAn=d%oK_FBB0o z$qx?qo^#Ll-FwbGBArfyA%t+OA5P{jfpLYCGUSHH3XpOinhgcRq9FlOhW6HWL%cdZ zK^=-Lk%2`dOQPDUl99LVP2}W#Iny4yt8Y z?Yu}Tl{yXt0>NH^_k0C~eDSA}Rf(sY$7f9#pAhtddcEGx^ZEV$V3%MASFtl^4PVDm zZdCwXDr0W3+;T~D3n)ysZTr_&EO{1D%ogGKFkhxc0H%)w%H=Y=Ua#|$EYR--ZJckO zLRD2HlgTXmM#+F$tJTnGG~jZ%glU>!8~7noLesQPu1bL|+RU=Uw>O*3fdV{ix~}v5 z91!8I$ literal 0 HcmV?d00001 diff --git a/notepad/notepad.py b/notepad/notepad.py new file mode 100644 index 0000000..8cd1bc1 --- /dev/null +++ b/notepad/notepad.py @@ -0,0 +1,190 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtPrintSupport import * + +import os +import sys + + +class MainWindow(QMainWindow): + + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + layout = QVBoxLayout() + self.editor = QPlainTextEdit() # Could also use a QTextEdit and set self.editor.setAcceptRichText(False) + + + # Setup the QTextEdit editor configuration + fixedfont = QFontDatabase.systemFont(QFontDatabase.FixedFont) + fixedfont.setPointSize(12) + self.editor.setFont(fixedfont) + + # self.path holds the path of the currently open file. + # If none, we haven't got a file open yet (or creating new). + self.path = None + + layout.addWidget(self.editor) + + container = QWidget() + container.setLayout(layout) + self.setCentralWidget(container) + + self.status = QStatusBar() + self.setStatusBar(self.status) + + file_toolbar = QToolBar("File") + file_toolbar.setIconSize(QSize(14, 14)) + self.addToolBar(file_toolbar) + file_menu = self.menuBar().addMenu("&File") + + open_file_action = QAction(QIcon(os.path.join('images', 'blue-folder-open-document.png')), "Open file...", self) + open_file_action.setStatusTip("Open file") + open_file_action.triggered.connect(self.file_open) + file_menu.addAction(open_file_action) + file_toolbar.addAction(open_file_action) + + save_file_action = QAction(QIcon(os.path.join('images', 'disk.png')), "Save", self) + save_file_action.setStatusTip("Save current page") + save_file_action.triggered.connect(self.file_save) + file_menu.addAction(save_file_action) + file_toolbar.addAction(save_file_action) + + saveas_file_action = QAction(QIcon(os.path.join('images', 'disk--pencil.png')), "Save As...", self) + saveas_file_action.setStatusTip("Save current page to specified file") + saveas_file_action.triggered.connect(self.file_saveas) + file_menu.addAction(saveas_file_action) + file_toolbar.addAction(saveas_file_action) + + print_action = QAction(QIcon(os.path.join('images', 'printer.png')), "Print...", self) + print_action.setStatusTip("Print current page") + print_action.triggered.connect(self.file_print) + file_menu.addAction(print_action) + file_toolbar.addAction(print_action) + + edit_toolbar = QToolBar("Edit") + edit_toolbar.setIconSize(QSize(16, 16)) + self.addToolBar(edit_toolbar) + edit_menu = self.menuBar().addMenu("&Edit") + + undo_action = QAction(QIcon(os.path.join('images', 'arrow-curve-180-left.png')), "Undo", self) + undo_action.setStatusTip("Undo last change") + undo_action.triggered.connect(self.editor.undo) + edit_menu.addAction(undo_action) + + redo_action = QAction(QIcon(os.path.join('images', 'arrow-curve.png')), "Redo", self) + redo_action.setStatusTip("Redo last change") + redo_action.triggered.connect(self.editor.redo) + edit_toolbar.addAction(redo_action) + edit_menu.addAction(redo_action) + + edit_menu.addSeparator() + + cut_action = QAction(QIcon(os.path.join('images', 'scissors.png')), "Cut", self) + cut_action.setStatusTip("Cut selected text") + cut_action.triggered.connect(self.editor.cut) + edit_toolbar.addAction(cut_action) + edit_menu.addAction(cut_action) + + copy_action = QAction(QIcon(os.path.join('images', 'document-copy.png')), "Copy", self) + copy_action.setStatusTip("Copy selected text") + copy_action.triggered.connect(self.editor.copy) + edit_toolbar.addAction(copy_action) + edit_menu.addAction(copy_action) + + paste_action = QAction(QIcon(os.path.join('images', 'clipboard-paste-document-text.png')), "Paste", self) + paste_action.setStatusTip("Paste from clipboard") + paste_action.triggered.connect(self.editor.paste) + edit_toolbar.addAction(paste_action) + edit_menu.addAction(paste_action) + + select_action = QAction(QIcon(os.path.join('images', 'selection-input.png')), "Select all", self) + select_action.setStatusTip("Select all text") + select_action.triggered.connect(self.editor.selectAll) + edit_menu.addAction(select_action) + + edit_menu.addSeparator() + + wrap_action = QAction(QIcon(os.path.join('images', 'arrow-continue.png')), "Wrap text to window", self) + wrap_action.setStatusTip("Toggle wrap text to window") + wrap_action.setCheckable(True) + wrap_action.setChecked(True) + wrap_action.triggered.connect(self.edit_toggle_wrap) + edit_menu.addAction(wrap_action) + + self.update_title() + self.show() + + def dialog_critical(self, s): + dlg = QMessageBox(self) + dlg.setText(s) + dlg.setIcon(QMessageBox.Critical) + dlg.show() + + def file_open(self): + path, _ = QFileDialog.getOpenFileName(self, "Open file", "", "Text documents (*.txt);All files (*.*)") + + try: + with open(path, 'rU') as f: + text = f.read() + + except Exception as e: + self.dialog_critical(str(e)) + + else: + self.path = path + self.editor.setPlainText(text) + self.update_title() + + def file_save(self): + if self.path is None: + # If we do not have a path, we need to use Save As. + return self.file_saveas() + + text = self.editor.toPlainText() + try: + with open(self.path, 'w') as f: + f.write(text) + + except Exception as e: + self.dialog_critical(str(e)) + + def file_saveas(self): + path, _ = QFileDialog.getSaveFileName(self, "Save file", "", "Text documents (*.txt);All files (*.*)") + text = self.editor.toPlainText() + + if not path: + # If dialog is cancelled, will return '' + return + + try: + with open(path, 'w') as f: + f.write(text) + + except Exception as e: + self.dialog_critical(str(e)) + + else: + self.path = path + self.update_title() + + def file_print(self): + dlg = QPrintDialog() + if dlg.exec_(): + self.editor.print_(dlg.printer()) + + def update_title(self): + self.setWindowTitle("%s - No2Pads" % (os.path.basename(self.path) if self.path else "Untitled")) + + def edit_toggle_wrap(self): + self.editor.setLineWrapMode( 1 if self.editor.lineWrapMode() == 0 else 0 ) + + +if __name__ == '__main__': + + app = QApplication(sys.argv) + app.setApplicationName("No2Pads") + + window = MainWindow() + app.exec_() \ No newline at end of file diff --git a/notes/MainWindow.py b/notes/MainWindow.py new file mode 100644 index 0000000..9d0a0ed --- /dev/null +++ b/notes/MainWindow.py @@ -0,0 +1,83 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'mainwindow.ui' +# +# Created by: PyQt5 UI code generator 5.10 +# +# WARNING! All changes made in this file will be lost! + +from PyQt5 import QtCore, QtGui, QtWidgets + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName("MainWindow") + MainWindow.resize(264, 279) + MainWindow.setAutoFillBackground(True) + self.centralWidget = QtWidgets.QWidget(MainWindow) + sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) + sizePolicy.setHorizontalStretch(0) + sizePolicy.setVerticalStretch(0) + sizePolicy.setHeightForWidth(self.centralWidget.sizePolicy().hasHeightForWidth()) + self.centralWidget.setSizePolicy(sizePolicy) + self.centralWidget.setObjectName("centralWidget") + self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.centralWidget) + self.verticalLayout_2.setContentsMargins(11, 11, 11, 11) + self.verticalLayout_2.setSpacing(6) + self.verticalLayout_2.setObjectName("verticalLayout_2") + self.verticalLayout = QtWidgets.QVBoxLayout() + self.verticalLayout.setObjectName("verticalLayout") + self.horizontalLayout = QtWidgets.QHBoxLayout() + self.horizontalLayout.setSpacing(6) + self.horizontalLayout.setObjectName("horizontalLayout") + self.closeButton = QtWidgets.QPushButton(self.centralWidget) + self.closeButton.setMinimumSize(QtCore.QSize(25, 20)) + self.closeButton.setMaximumSize(QtCore.QSize(25, 20)) + self.closeButton.setBaseSize(QtCore.QSize(2, 0)) + font = QtGui.QFont() + font.setPointSize(30) + font.setBold(True) + font.setWeight(75) + self.closeButton.setFont(font) + self.closeButton.setLayoutDirection(QtCore.Qt.LeftToRight) + self.closeButton.setStyleSheet("QPushButton {\n" +" border: 0px;\n" +"}") + self.closeButton.setObjectName("closeButton") + self.horizontalLayout.addWidget(self.closeButton) + spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) + self.horizontalLayout.addItem(spacerItem) + self.moreButton = QtWidgets.QPushButton(self.centralWidget) + self.moreButton.setMinimumSize(QtCore.QSize(25, 25)) + self.moreButton.setMaximumSize(QtCore.QSize(25, 25)) + font = QtGui.QFont() + font.setPointSize(30) + font.setBold(True) + font.setWeight(75) + self.moreButton.setFont(font) + self.moreButton.setStyleSheet("QPushButton {\n" +" border: 0px;\n" +"}") + self.moreButton.setObjectName("moreButton") + self.horizontalLayout.addWidget(self.moreButton) + self.verticalLayout.addLayout(self.horizontalLayout) + self.textEdit = QtWidgets.QTextEdit(self.centralWidget) + font = QtGui.QFont() + font.setPointSize(18) + self.textEdit.setFont(font) + self.textEdit.setFrameShape(QtWidgets.QFrame.NoFrame) + self.textEdit.setFrameShadow(QtWidgets.QFrame.Plain) + self.textEdit.setLineWidth(0) + self.textEdit.setObjectName("textEdit") + self.verticalLayout.addWidget(self.textEdit) + self.verticalLayout_2.addLayout(self.verticalLayout) + MainWindow.setCentralWidget(self.centralWidget) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + _translate = QtCore.QCoreApplication.translate + MainWindow.setWindowTitle(_translate("MainWindow", "Failamp")) + self.closeButton.setText(_translate("MainWindow", "×")) + self.moreButton.setText(_translate("MainWindow", "+")) + diff --git a/notes/images/cross-small.png b/notes/images/cross-small.png new file mode 100755 index 0000000000000000000000000000000000000000..94af849e7244b3e2dc471e50336ff1ba09b4f250 GIT binary patch literal 344 zcmV-e0jK_nP)#qTAs*iu7y^S04UOk)-Fg;812sqghlB-wFDL=|%|Pcql$HGtqLUdI3X%Cr zSiFGBVPKH6W?)Fl1S*zgVDJa>rR^CQqCk8r28I+MUlH8^M&!J}$jHbKq&T2n`vr*< qFq<7p{{X6gkL&}+p`V!m0t^6y@Rt2qsHfBb0000jA literal 0 HcmV?d00001 diff --git a/notes/images/cross.png b/notes/images/cross.png new file mode 100755 index 0000000000000000000000000000000000000000..6b9fa6dd36ee8165272a13dd263f573507c78ca6 GIT binary patch literal 544 zcmV+*0^j|KP)L-ku(! z6_?D-?!0+#=VtbVZQGdTnZt~apI_HPK#=zVadHM((E`e*C+RoFb)Qo8-U{Lb7{`Tz zw4B8FZ|o?Wox+p=1wp47C;7ar*Xu~;a?<=sjPv>+otDjJ6FaGt!YnNyxQQhp)G1V! zk;r6ZtyV)c8pTbiRAnHRNXTxti%=+p$4aG2*+mMM&xrdiU^`VPk^N*+HX98^7!HT% zwA%;A{T)GxeQ|RcxyzV%! z$AbYD+)i1R64zB?q}NmTz}5|04~J#YG_goA*Eq(QJvp7pG14hUj1pZ^t>3S*xqHUO ze~r;}zTY_XkZ*}d@gm!;N90h8nBQenBUZ_ukZKNicn*hc_Pmc!Jn|2=s<~}>!Sb>Qm3!QP46b_JFw5YU70Tu$X}=T}ez@@t%j iG9vD)nDux55?}x$+|UyQVK_bj0000 + + MainWindow + + + + 0 + 0 + 264 + 279 + + + + Failamp + + + true + + + + + 0 + 0 + + + + + + + + + + 25 + 20 + + + + + 25 + 20 + + + + + 2 + 0 + + + + + 30 + 75 + true + + + + Qt::LeftToRight + + + QPushButton { + border: 0px; +} + + + × + + + + + + + Qt::Horizontal + + + + 237 + 20 + + + + + + + + + 25 + 25 + + + + + 25 + 25 + + + + + 30 + 75 + true + + + + QPushButton { + border: 0px; +} + + + + + + + + + + + + + + 18 + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + + + + + + + + diff --git a/notes/notes.db b/notes/notes.db new file mode 100644 index 0000000000000000000000000000000000000000..31feea98ba77eb0a9871bf4fb21d0078abefc271 GIT binary patch literal 8192 zcmeI0&rTCT9LHx`qp%V6LQIU&AA12J+uf!Z&30)lWfejxxGWkHk!-s|cjNwJcTA~< zgL3G>SMlH@_zb>)FJL@*^x#aPL=p%G5+XR0owW0tncvKOzBBu4XZ3mArv$d*G;}DG z&@F^9dIEqD9!3b|SRN$IzFZj;*e5Tal9-Re-7h1o6~4KN*dvl4AP5Kof`A|(2nYg# zfFK|U2m*qDAaEH8e7J|N-5wpqAMaDA8IUNZ{hX^=X4N*quFlp?;8vKBhJ6!s#a~jYE2Y1O`AMYy>o1*?y=StYhkHst;3?Z4immRDNT;t z7(@A?T|BgVy&`SoKjW{LQHIOACh0ByfqIL%oG~`HT(j3#OqjQq>aemlTVJSwtf=bC zQcYFo?797l>4K)JW2+(fATJZ*IE6bRpWC{Ww z-b2S@_fATdI4z<>k`kqpI!PIJC4&vjdR7c|f3RlkcA;;Yk=Z>}M3pTk^n_#)Yucaz_pL|#x+^I2btMDe$~ILJCw1Cv9-hMI zt&=dJ-7*wC-njBg24G#_`%+0jtTro2z*fm&ItR}ev-oY4sNo4PWU_O6@|nXOyYwOd)h1d E4Xjcp~8X$#SmBQ4Csahe*s~k7*|Gg#X=L;;?A&QOMC<)F~qbrDe@4iJUi9t zw56TSv~#>O4FF)y)5#8dXbCukAP3sE`40N>-iQBWYkNCOQ$1)_^LHG%K zXzD4l!!*k(m57Q(dehNCEB*Zx>FJ@l=4L7+5=5F-Rz6RQEBS4&f`qSAOz;c zg|RWz^!DN)orc5VKy4rZIGs>A(BXDN&19HVFyJI#Cy-1+D<2PlRGYD0bdAR0p< ztJtzQM2*Ez)O84aol;dM<#oYXRTD&W&jV!Q^B^We;$6+`e#9?h!v-~8yltm_XfE;c zm|-B1Ofr@_K(!p1fgFAgXLS%QSMH(YY=yAtrr~uQs~9 z9*5WM_qp6Al&vtdbPWFb%cu+91c@$WcX#cZXPG6Q(f#4!sn3e?NxXiEg>}6!7hhl1 zILK>(eC}$W+e1*cqsV8L;i>IHmbcBmx|VrlWa|Cq=DV+^8M6S^|H*PKR0i?R`MZ&p zWxJI}&D`_j5O5e3K@EW$J|ma=$IN92Pw$8)4bxe!yYnweur}*J^r+b$rvFUi9@k?& l&JM0RzV;k7Tk%_f0RUHGjwiLB%3=Tj002ovPDHLkV1h1gTiO5s literal 0 HcmV?d00001 diff --git a/paint/images/edit.png b/paint/images/edit.png new file mode 100755 index 0000000000000000000000000000000000000000..6db18b4ef1192024c6058a22f04a01ff2a4c2ce2 GIT binary patch literal 445 zcmV;u0Yd(XP)8 zq%e1#8sdM@Sl>UeC084vqoOnvS4&}IYi-E=059PWXkuam1wmMFhTA231dJb(JQik{ z$D7B{x~|E8Lc@!qD7SDN|FZX`s;V1}KTKWMy(-JHt)en`p#fv8JrRas5YO|JRsn=s z6a|Un_#+I%XF+1y_60WhzW*q4mSvrrrn!ebje2<$XkNi_$)P1lLeex9^(G%h(Ms3# zwnr#fJC1|*OWB`1&j~kKlk&?T2=I9=7Z!a6XIa+F+#z`2Al*VYMtS}T<~0gN-~PrS z0^klNx6_w0p zrxVQa+E!5fI-gU->wJE_k9o#WnNUYz(eB>h=3r}VNj~~<2zUa#4*+XN=#LdQ5?sAZxk0j_~+0? zFfhzpcnPKsDJx^>${up*Qnxw?K_GaLC0vqV@!}zZU1kX)sOVJe&emQkPf>eW@KzrD za}4~G2X)k$dHvqYk;%0me0h)e-skuC5wKV=7z9a@ARG?E<-!37ct%hH5Rn2%0F>bR zNdx$<0|gCbXJ8-@fLJUBp->1M4hJmRH3O)$@$uCYLI^0SyQbf7?9!geWO(EiAhYWR zKq9TYEcLrxOhtgrlh>v9sXI2F7{FJ-@At!hjKMcI4qudd2vds58wT`xJ-Bu9W=97| zjmbl76n8R$} zZ8rbzDQ}`pScX+q74!MLJe^KK*L85+mKIJrbJ*kYz|n*4r+9iSSmE(_EEWm{88hIp zskO{H{Ax7Nhrwax;iG3b#v{z5Dp(^Ii$xjNe_*C2MmDzM96rwN>|yPPh<)K>G$WVG zWqC9jooi^j-Nxw&;C8!V>+OE_9-&P_$!GK4&LUST6?r%uo`YMh)&fqa(^*Z^PH_%3 z_KSXk3U#W2-2_>xR%2DD)e-zae{+}_NhXsKbRsH>A`b=we%QcxF_xt_Dr6`IV#%+yFV3o0Qe5eafr}Gj< zy*QiAcscXWQfCRFW~k|WWztyHD1$k0qFksoHqp5Zi*(DXFWu2U0t^5U(Njaf literal 0 HcmV?d00001 diff --git a/paint/images/layer-shape-ellipse.png b/paint/images/layer-shape-ellipse.png new file mode 100755 index 0000000000000000000000000000000000000000..a186a26bbe4846ee539d230d7b0e722df019bf0e GIT binary patch literal 761 zcmV>^n)O>9(wFSqQ9Xhdk*TMA_yNG6oIv%OmtxDX~pIyx@o%R zrrCBkcene!w{vV)bkR!(KAiLYe$VHe?>XP|B`5ApGAM+Qa(xOEVop(%Ii@6F@6#;v zx7Y!0aOm+raE+jb^)1{ho$V98%LjskZa}yJvS?N4kf*8mgy*$=J); zW!p+B7Y4s6fV6W{wFHo%{tol;(erJCU~8$Y6!&K0SfT+{7<)bM{qQvr0DFhXmuhKm zu^3uMhua2=l8hVq@~g_SLNOuwtfaDHB%X=FI>gGdj1B3$JLSBNFP_YOBaQ|C$vl_@&Fnd`H5P0am`q&!@ zfCEM3M4DgO*j@|Ah3M)=F7+#0*v^ZTQb{I=@!8lSa*)eIq?x04U$G+tjt;0_hHOGI zBW~@~OiIs;qoFWF9fb=$O%C8pfIWjHOamOv=E|n@c98*c8l4qeLV)Z&+Z!+lgk0yhmKjPv*wW7qpy95of1#Dp&zj|RU4#UH^poBr{lT9!J-b%2AF?Jiq|bLcQ< zFqz=EYW3-jv(}r>KhezkLN++LB!u372frjBh2yLSz-}KXVfTO3T^u_}bjEXvn0~wA r8U0+^#)-@VayXzw{g(eLzXccocR_wGMq{CL00000NkvXXu0mjfIPhXY literal 0 HcmV?d00001 diff --git a/paint/images/layer-shape-line.png b/paint/images/layer-shape-line.png new file mode 100755 index 0000000000000000000000000000000000000000..bdf68ec038b2616e19ee35020a9a5a901e16fbdc GIT binary patch literal 483 zcmV<90UZ8`P)MpXqQ(0MQ@;WX#Xc&%nXK!GI6202Q7#D%-^fWd8+X zaUlQYzkmP027qXgA-uf242-7X3~x`b#4v!-uyiMkEdkWz2BdcZHNJou0Ha}SkRdP^ zzCXK~fd$F17a+|*33nj96UxT`g2th6LqUKEO&(-3NV6vpOEM4vn6QX}4A}w1L>a<_ zL;N|=fbBrqn~))lFb0pT9)pBc3ir{n_CN1CR|8vxs8g zl+uPN1R3H7#G8Ql89@VJfLlhFLDW2wfkRRYq*xj#CqG0vdh_nJ@DR z3qlRh0x}(dm^I5o)zr^eN)25zJ1Y~fW5fQ*AT>aIk_Aal8)&le{zj*qAHV*7`u+F+ zx9`9Hen8gD&&?|1P`|Go$UFIqmJ|Uk{NrF*7okDKAeZR@U3>|M89*46hFCx*f?V<&==8Uretr7z?e`aG;$j8{;$K~PpRKmPo9|Ml1RfB*k8gTe-efByOV@A-!x@6J8= zaARGCQv^`04N%+wo~V@4Ryl#<=7VNtEg2*f&0oB9BC>Ax(3+QLB|35zNezU&lG%>nG0{cuEIrv?H327T6rMZ!b dfkFTfU;xap8Va22H=O_g002ovPDHLkV1kQpF{JMioLs;ob7#m4feQ;DBkc z2x{O5e1dP8ud`Fo`4fn~^9Ewo#Oo2ctL8HOQR$8m}_vpuzQUW1Faa5U=4j*4Fa Z1^^<9y5LOM99HChhkoNKhfoys4V%u2E*VOYJU22rTGXGG$l%_Gx>EG^*5h5#1 z&pUhl^$qx(Rw<=|Icui%RLiIKzluf`PQ_WqST?)@-1jiRyfgDh_lDE9 zAQZ;YV8r7QNff>C8i6RHu(>{MHCny{fe89@XyP_TI>8D80wfdE%T?P~3D)95$$m)E zI|w2_f4Kzw#6T&;DK98WBFh$*aqdu`S?J6rlL?Ka3|$p4A{k(Lj%Jx89(p?J&!s3|~LNa9?)D6{5>^lhU}neoc5O_gLVMqX0~Go~3k4Ws@?;T*at}i^_=kf(KB!Va zE?+8TaUyZ`@K#&Rj15I#h}d5RVXT3P6X<6(*L9cQ&$i}Ach2wg#pkD(cW4BeMPzzl zaPxFUfVw1{TA^~Wr^lfOHjdNK)tdvsuA$TG{3E~sFV_m*>=Tc100000NkvXXu0mjf DE8F3) literal 0 HcmV?d00001 diff --git a/paint/images/magnifier-zoom.png b/paint/images/magnifier-zoom.png new file mode 100755 index 0000000000000000000000000000000000000000..8fc2189dc20579a512bd6ee1602296200d4a9750 GIT binary patch literal 704 zcmV;x0zdtUP)K@^^yon-UFY@5VT zOKeJrl17bC6yrguqy<4rp%sK477zXbwW&GetS3Wr^rncH-fB-)P(qNRmedGJwP_Aj zOPVIA`O!_X+uh7M8)Hq<6@2jV=Iwspdo%AnYU1`f&@!|62rwFrLlD9+34;Vqf-FHC zV;rs5>l@W74-oi=DGHtx#d^%^LHTn&L&oc3^7$WFc>A&LPkj=W$^Q_cJw<{b91@eN zLl`$=*G7BNXT5rp>!{HVDL@VOL;b)pi(>1QGKrzW>(W;Q!t;s46>U3tHfq3$L*+xT1ON7=f z##o_N-<5h*9&(EJ$p_qoq9{#BdjG>W$?3)OXKGoe&4_hv!=@pH);{n;VpXs*3>&50 zZuf!k_xzPX8W*lkj$fWycm|Om>V!U4{KC$eV zG89F>I^4nr*efJ~ok;=IdjGh`;~krwjm&V|^#|MA-xf&1%vNfiB&H6@w^Gr+fy?Cr zfk5ES=4L?|85w3jD9BOoPMWxI`*mDV0h&S(aCtcLYFgL2C0-TdZ;#RI3km mbwX+@+JIYVbomba5?}ydQYVgUOET#I0000wIQBejK5fKJlK>6D@ z2DdkF7?i$#W%vsf`_I5&{hNVdA`1f^;11FR)C|&y2K<4VtA8;t%wxf&(f##nF#9j6 z6eAF)12v`q@xgx#4AW2yPz8D=^Uxt&4q^prsQJan==1CU|2uye7^*;mU<1_UbJny_zwwX5LWre$hbh$(9q@0r%&HMeEr%F6gz^f9@79}VFsX$AZ!fu=L%Ch zJNp-J-+p=d{{2><*a9TO!I%k$vyFj@XFB=#7{7S+>eKB0Lhk^JZx&i#FK-nfBxL;P$&=3~FJ8P4Ob5RIv1o(= z7G%v|zkc=Dv}x0%ZQHgzybu)h2B_KOKMsv>us%x^gbh}v2p|0M()IG5fN!g zU}k2B0m{o0isa_PDh8nDmFMR~{NGq*`4OaCL1*W}euEGRM3S_Nw$#Q(B?}P= zN%J6~nY_sR;W^VJ)Fcl4xXiuhfA0UDdoE+M*;!>#wN~I3w=a>58$;r#Gyu9#2qtWL}xk}9(8o_Jzn99C8y z$l`+HW-up7$3>(rGn>s%s6qZG9viy|tE&&634-9qs}4r;<3J7wDk62*p4Do7*>3Yg zVw1@Pi;FW)@jV2v^1*Kr1Dq)I8bdayfiTIGLZP^`vGMr>R#z4qjpt!@_WE<&c?;*h zCX>ly+lD#9!Q{R;=wCoiA!j*`yNAuPwz>JU6ADE;c;^ljFW{OHIfrNw6>=IeAZN&d z4pDa(HR$3BI=a?dr;GM9FHP`2n^XkM5kHQox9N{Y5I&Uu1Q)cv#6yLl#MgAfktf7CFxoiK2UGq zr01prhj%`vo6l3`L_Kxj1H`f0M4jAJ#+>Iib|z|m^5HNX2n3V?OvwvHFlsOu!Wt@-LPjXW5>BFn3Qn9ls6a8IOJIEx%X45@ zkuKo=U|IGk~k#Ji37=!(*_4=AB-vySm?)u;~Qkz?Js9|y+deGaxgEP z|6hI4S>j`02P5)+!6jF*aOyBqFEdrGw2d&%;Z+=;3`JnT>%tEa&C}Vz^GSS7ARHf&GYaTLs<=_NNSIhgtXgWz%L7 zwW=(73{$DilodtIWkW8Z89NZouLG7}hU?TXGYIr$gN@FNW?9!^!Cu8SuJZ!R!8s7p{SuT-d=v4K(%F@os1Qavz(M7VncLRk=4T}n9 z>^#!(b&dY}&=|WV;(TJ#rci5RNn@v}>p+sO_+Z48?y|DJ8-^Q!CNX+RY+i)<{9E9m ztNH)jef-QGdHQkOy|TzwR&noi)3)UWhm0NVn}58pQ>DvMwgTJ#=eqcu6K_{%p7E&9c3w@n+IYNV|?(r@ky|ue*=7ZAu>RW|>h3*4ybT;pv`K0IEj@WhQR^6O!ha=0M zbVt|K-O@W7DMgwMTCgBFVOtr>b*)}*xio!6n@5qGAbeL?o3QL@Z)559yt!=?4{YM1 zx`q7-Ytr&V@s_wrclMaZ^3^{rxp#e0>W1Feo73CZoLQM~9d|jiqoyYG@7VnOtra_7 zLwZ}Vy=RY2n0ku7k+OQmrz;9ir=+$RmD~Ki*RZTKY&n@|NZ0)FNt?U1IjU)W!>H_Uob*rTty zsxMD;*JgcIel513Epkq`<>>rz<1=eNs5?@8JQ41EWyEOUT72}!oP!Jh(gB+#i#kXw GUiBZ;`8Zkt literal 0 HcmV?d00001 diff --git a/paint/images/pipette.png b/paint/images/pipette.png new file mode 100755 index 0000000000000000000000000000000000000000..2e6966a4a5581a84c3b1b7c2fec07cc8a55022e0 GIT binary patch literal 578 zcmV-I0=@l-P)!J- zfV3r&g1=A<0zj+meljo=e`R1`{mj77^ZWn*eJr>%q63&_)&73JPfwpR9O>@n{>{L! zk7W%|vn2s%B5QuSe?P+?c6Npj3=C|4KwiM3*#?O7ftvRMHG3j!KDuhviEj)H4gWv} z+`z%;ecjLJh;D zNlls{u@u2&+ihI7+Ads*JJF>(!9^fl6a*Jt2v!sqmAcVwK`H28$ihNPgS1tI*fj4< z9^=e-@6bmoTD)-hZti!_nR9bLaXX*KNeCfs(lLg=$0ysiON4Vp#c`a|AC$*m<@2jX zzYmM*CwIkS5o?>95BM8|-C+UAwk!-m2>OCG7@*tfpxthx)oQut`=zB-y1&sgjEVZu z5g4LUfh6thxQRsq1R)CnzoH=E^+J&(9t+iK70=e!k(-)&UfSNi^L>9G;#fd&ZBT=! z+eKg3CH5%GGW^FDyW}R9%emvIs)~=rV$D}BLr^~t$N~~!jtcP)D=V3T5V$C~XK``y zKBYeh8}j7jWR$Q_C={MHo6T8G(_GsMjWG<@mEVtSHaok#ygXkjm3AtX$`{2nO)VCS zrHPDsy^e4=?4EtvM6=lf*L%Gls1MO-6p=_6TU)ybh14{2SwK%D5~*6P22vz}2=?~A z!7#cwTd@p}M9*hR7DJVr~Jc)KwDUS2(2Wc&6%qhhT$+opWJ;$~)7ugn)^wm5(eA%bx%<)@*0RTx=T(w7R8kztA002ovPDHLkV1mq32h`?q}he*fmopVr#O$$~11 zD<@pB$p827{5kV|$5_<=r->(YhIu5hCZtWBc{j}}RO#-bR--Vcd&{jDPA$-kifBJ@ z*JU?@eCIy{l_-;zP^}q}nZ}z<-F*Vu{^mb02>#(3GDse=WX8Lf4gtLr2F$3 z4~(}Nl^)2w?x^+1y5sSwhk`qvJi2{m;Vt}1{rUgjp4qiw;zYp~>Bb7)DSO*I%slw-G?WI+ z65+Xg*kdC9j0IoRjK1VKnKjJhVVc)I$ztaD0e0svR+Rfzxq literal 0 HcmV?d00001 diff --git a/paint/images/spray.png b/paint/images/spray.png new file mode 100755 index 0000000000000000000000000000000000000000..feb8ed79f5187b412a4a5f83e7751db27d92f08b GIT binary patch literal 616 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

+Wk!kWkefon#H5R; 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 UMo_x}1^@s607*qoM6N<$f|v*_ z{hQg@@oj!eMM0zo2R>%^%{T9T@0%GSgn;7=3643Gsi!r_WV4{@I;fcpD5`2<{01t! zpAy_o=a4Lt1XvXHk#Igp@Jl)&te7!-^cw}iKeT|G8Kw4}Yh^R75PBZ)IR1MJgT2C{ zQDi^3J!Lu$2O5THcx{v#ae$~JZxQF!qY235lU0ilV$a?+&8;mDbY1ErJ)8jqgi%ae z9p9~QA2d2nIL{e-fgbpM1vCikhclPVjg24ujJ`kYALYA22p;-CDbtdKpDGr$B8$nr zc8jGZK1)rNbJbgW%PYH;E0@QOcAEmIGIV5sZ;61etbmu%p_k2pqvxPWbcq-81(b7^ z`N0}`v`@;jZvjbJcv;mEilrQthxuNg_no6e)K?Bl&!m8b%3%kdoT^D_njg z6CkOaZLSvfKCOJIoVj?xXntI8pf6P<%*9dkl84bk?DXESR{KM|v)kovuf$z9iwa(o zQ6+h-0`lZ_OFBK#zX$C7^D1v{{&sBI`DuWY?a zx%3(1V+aFL9?k}D)(zzCh|;+U RV`TsU002ovPDHLkV1oAS7YqOZ literal 0 HcmV?d00001 diff --git a/wordprocessor/images/arrow-curve.png b/wordprocessor/images/arrow-curve.png new file mode 100755 index 0000000000000000000000000000000000000000..56776f5fdb4bc1632aebe0758b09c6e105459459 GIT binary patch literal 613 zcmV-r0-F7aP)@rabhG{AgZJRfn%c+wP zau<(BNgTUz6anjWAPPg!cdO9$eK0Lcx{gA(W%r+3;7J0VAOKmlG=9{H8Jj|q@vRnq zPe4(}K!^!+i-^3uJr_a|)oKi`TsZDLcv79}iSPCk3tri2%<8bNx3FqO$M@2&H>o1jPDB{giC-YaGQQOAbQokKR!wj0qxV0>?^R00eOg?O4FEgBh4# zC@n*P5n1$LDo~hw!OkBq@rB^Di6NYV+Q-N+uhh+}8385ITGsjB_{2;``bx zG^)4R``JH6`71{H7&pmR=Unbpx?|+E)gk!yp~4sMJnJpXjx|6e7!za63Iw&MeEI%6 zxu6IpzY#gU-V6GdJraFLdW8KD7XOjZY$wB6x00000NkvXXu0mjf2YnK8 literal 0 HcmV?d00001 diff --git a/wordprocessor/images/blue-folder-open-document.png b/wordprocessor/images/blue-folder-open-document.png new file mode 100755 index 0000000000000000000000000000000000000000..6b5fab5ef600c33b4c1cc8ec7a691777b94eecfd GIT binary patch literal 630 zcmV-+0*U>JP)g zTGB#tXi-ZqDk=yC|3E-5dJr!j{0s{E2|V^zdeLj?A$n6h=|MaR!M%7=@X#QIkTk_4 zyK#4CeBaG(vKuHk@G!H>yuW$gXBZ*xzd$k`l2-74qeW`)LcvUauI@a2vi-Al2pEIv z@)=ahCD=;kDs5Zg-t+Be>9^v|$&f4M(^xJ!=nZ`Q`rXEd&tI^$S(^daD4!DN&MpWl zH8}@TYYpEYVa^h`v|dFt?BVgvt5C%vLfWiJuIpm8B-g8Dxu&D&hm0MJWkr#}R2rTa z;JDkxVXK9|zK_9RfPTM^=I+Y}RD6dHUCRPw9$+x?16V@9wk*t(^&;ibCE(899&T@J z?0$FMN7)Q4Zh^%kUXu$cC4Zohgn74K$0!WpI1b)7n>__R$zaj~k9bXmk{l2vc2daP z2!q2QkU0losKMgFvmr?8VAjbLpv{R6xD7ep9XmhrTXax}q1&ey@rJno~JopdzRq^9cdZ~Db2gQrvxe-izXpn?NsDY^c zkZ6-lvf172I`i^by zP$(dB=LIxPMKBl;j^kq;hGF9H^<5;BNqkCgFu+B@pyLcFn5KzZt%k!#OHfr+s3b|S zEKB%&KA%`ebCgbJXmrR(Boe6C>%uNeA+#iI;MX(_Swn^H4{N`}Q*fNlI0FXYY8=R7 zA%N8f8?fozbR4v88`+&5pC93**Z&S z^Hd`#*~DO=RH2{TYPBf10g3v%ozJ6CE<^KrQLR?7wz-LgRO(qFms?iskvHH(!!Xcn zHqmakq5Cue5Rb=&U#17WwYUg_;v{;|cbQC0vF#xMSLH4^MB77&4h@S$=fz^NJ58a` zAnyG1GZR04qjRAOVc+md390Pu85y=2i9+ZBMNQc2h$ zV!&67Mx%lm0mw>O2hRA11J3sx3>Mv$zsSaW&Q}kv=hZY)x-feth{` xc}&~703eN&8z?@1mBIhW9~ayfhPVF-FaRZ;J`t+B(rf?#002ovPDHLkV1nhuPn-Y% literal 0 HcmV?d00001 diff --git a/wordprocessor/images/disk--pencil.png b/wordprocessor/images/disk--pencil.png new file mode 100755 index 0000000000000000000000000000000000000000..47bf953013021a9c9fefae287ccf6e0bc5a62bd8 GIT binary patch literal 677 zcmV;W0$TlvP)>tPvNZcrb?u3Y-g%(87__cCVTj7qmf!` zOfVW_O*6@4W}ff9n2>0(cpnF5-rRHUx%a)X1m!RQ3n+e``;IlkFfceacCbH@IFkjg zE5EmobGSI(ttn8cY@RFa8VsKIdtMI>ZA5@O;JA{!x6CNae;}WYvPdMtR8?jEwnMX{ zfKOpCNmtS|4LW1op|NV=A75ffy}XQpyeL=y zG${+~CNsbxlXZ=|Xs%qyCGqi9SdhmjV(92OjZGbgMVrJSu4FL@w8k92UgB-EQYCn4$&6 zgqXT;5Rb>fPpctt(SHXh0w3N2i|q^l{7dU z4v|dH6pYC&0(56M&nk{_irqz)rEY~ox1W5?h00000 LNkvXXu0mjfyNN4+ literal 0 HcmV?d00001 diff --git a/wordprocessor/images/disk.png b/wordprocessor/images/disk.png new file mode 100755 index 0000000000000000000000000000000000000000..c6194618205d9cd720a3655d12f9f1212e3ee582 GIT binary patch literal 507 zcmVJNRCwB?lfO&DP!Pv2FE5e~MV;&v z#8O>d>Y|Xp!@)ti=;Gj{;NalkR7D&_5C?H_c5^D~D4m3&?IfiRqJ`F4UXz@6uW3zD z+lqn9%a8kh-uLbj0}i< zehi9-nHuaaon*BGgn(C}lmd^+@qNE9z%)(ZT+)dUp!XC(5P%|atJUfYuqZf}bRz1& z^gK@kngakR1aL0tObrN7TQ=FcBJv=Buq<6B=|Vv0fFHhB6pT#ReF2=K0UZa?5{eg3 zL(M)Gi$zL+uM+b4JpA@y8HUllc3qdY?JYsF10K=*TJqZ@EUNqVpahQNK)GDjO(dO+ zI*{x@N(uFP6LQ&mEu34O>RRS^eAu=f_P}ogeDL%pg2uy1jfR3mBB7J{T8|FR9sqv_ zq_gx?uJIh6v3R(*d3^O!d95miI++8p9i3-UfWnVBYq>KH#aI&3=}DN)eK^(>3%7-n|AZ{BBiR=rqUgi>lAz-rIIXo?H>qsx3K@q zhZRMUtljy%w6x*{0S27=d^w6^*tU&NYin=$Tv7YR(YpTxdh!v*er`gGGo@lSMl^^9 z0}L)N;kqvR{XV`fFR$?VGxkjuqm4bJQNSjO6bdD(Vp%xqbkN${L;Ls`@0v|KsMVTh z-R=kWyr%BuO)N2BY0YM>HNYglx%>0kS=47{GNdZ=BPIf~ z=!5lj^c-hICT3S&T^J;tJ6to0m|RPG>rc0P*Eu;kzdk+v-Z0)8AAkI+(U>zxY3?kE zZ0#Ea>dZYn{E}Xdq-qlrF(-2dsc0hWMAz==X=2bzW$I?%b-fIUisfF&*~kSG6H2f< s8yln6kl*)45ouUO7Z>LoM*j*h052ROJm1I;B>(^b07*qoM6N<$f`R`H!~g&Q literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-alignment-center.png b/wordprocessor/images/edit-alignment-center.png new file mode 100755 index 0000000000000000000000000000000000000000..853497c74dc071b0060dce14417014807bfac56a GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X)_A%&hE&{2`t$$4J+o>Gz|3IR4&)cpwGgj%{=s4^ab7R&ky@tlQEIHej zXz)xBmh0$!({z_5hb_@eA&otWPa#awRaE0V ztVsv|6X-Ob?X L>gTe~DWM4fk04rH literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-alignment-justify.png b/wordprocessor/images/edit-alignment-justify.png new file mode 100755 index 0000000000000000000000000000000000000000..0a102d536278c4d372e669d11ed9ba8fe7fb7293 GIT binary patch literal 270 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XHh8)?hE&{2`t$$4J+o>)jPNwc+%Y5j-7N^rY9C1+4xB& zAlh-;W~Ps<3g1{Cy-yHlFl}aP74NWI$mq%Ohw;&QhrI&KY$oPRED{XOQ$5%tv!~hv P-Ok|Y>gTe~DWM4fgZW)I literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-alignment-right.png b/wordprocessor/images/edit-alignment-right.png new file mode 100755 index 0000000000000000000000000000000000000000..7af865d9e55281ba0f827819037c069a2b336d5a GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X)_S@)hE&{2`t$$4J+o>di1y+PpC_d)4j)X~yW> zl|pPMIQfsbl^x7us$)wuQ%GY^;!_AyxXJqBq})3uh35GaCvFr!5pq09TRY&N+=O$D zFPR_Bclg8FQQsKLaODjDlLDcc<`38yzB=(pT)4v_kif8UohMhotUMl|lNmf+{an^L HB{Ts5^`Kjk literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-bold.png b/wordprocessor/images/edit-bold.png new file mode 100755 index 0000000000000000000000000000000000000000..200b9cfe5f851eeb45c991c8f44084e3a8f5c87a GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X_ISEDhE&{2`t$$4J+o>#w16DGzHFPo`j?% zrkPv$I)WR1$XTsr`W#)w&;SD?Hu%0yZ$>`%&JjQO|n;THZxze%W4eKTbpLB77 z_YId)b|2vEnA~8&rnQ|{^FTpjc7%x>im;l& zcVtpP4&PU?z_vp?Gq{iRI>>N5?EvZc5S;He~2bohHDbgOrb^_K8ybqKP sG2T!77sY+#eB+K8Yf2nA88{3W9ONyRd0u7r0Q!r;)78&qol`;+0BJ~O6#xJL literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-list.png b/wordprocessor/images/edit-list.png new file mode 100755 index 0000000000000000000000000000000000000000..2ad208749f4f5aa5081fa3e43ce58638d780da49 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5X&Uv~xhE&{2`t$$4J+muA3WKt8vV_3;#!Ea)62w+m3Z|x} zHpa%r`Z#>kT5&^4AzxO3I&-RKecWGc?W{BW)+G4z8+8UtG7(8A5T-G@yGywpLievWx literal 0 HcmV?d00001 diff --git a/wordprocessor/images/edit-underline.png b/wordprocessor/images/edit-underline.png new file mode 100755 index 0000000000000000000000000000000000000000..438f3916cab034e5c79c4f6eeb4fee590b9a4d60 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xws^WYhE&{2`t$$4J+o>P$4^|t@EWqx8m!A&swhsOyBD!w7bcbCtbpT$mLJd=@j$h)S{5$;kTA_(QAl&qC%S@&%F%Ol}rO93SZ4Gmw~YhD9KOA*{l7 Vkr%_-3ZVNLJYD@<);T3K0RVSz%;ecjLJh;D zNlls{u@u2&+ihI7+Ads*JJF>(!9^fl6a*Jt2v!sqmAcVwK`H28$ihNPgS1tI*fj4< z9^=e-@6bmoTD)-hZti!_nR9bLaXX*KNeCfs(lLg=$0ysiON4Vp#c`a|AC$*m<@2jX zzYmM*CwIkS5o?>95BM8|-C+UAwk!-m2>OCG7@*tfpxthx)oQut`=zB-y1&sgjEVZu z5g4LUfh6thxQRsq1R)CnzoH=E^+J&(9t+iK70=e!k(-)&UfSNi^L>9G;#fd&ZBT=! z+eKg3CH5%GGW^FDyW}R9%emvIs)~=rV$D}BLr^~t$N~~!jtcP)D=V3T5V$C~XK``y zKBYeh8}j7jWR$Q_C={MHo6T8G(_GsMjWG<@mEVtSHaok#ygXkjm3AtX$`{2nO)VCS zrHPDsy^e4=?4EtvM6=lf*L%Gls1MO-6p=_6TU)ybh14{2SwK%D5~*6P22vz}2=?~A z!7#cwTd@p}M9*hR7DJVr~Jc)KwDUS2(2Wc&6%qhhT$+opWJ;$~)7ugn)^wm5(eA%bx%<)@*0RTx=T(w7R8kztA002ovPDHLkV1mqm?G)iJ4iAVne6SOec!%)^9H%D3;(ku{)oQ@Kmvdu(l^uw2qma-j-sQQ zw@NV$u1gc$-#{F?5x}#FJ%PX0pxPkaJ$t&NI~r+j)qGwbE3j1BH5R^QFMa;9He_1% zQ=0eoKm|2&D5yNVm5BEdhiDs_ENs+cf#|VNAkrBMk5A48ck(9GM5+RASXIQ~p}~`V z1-+>0dI2V$#1EAAU?dG|Ia#}QxvOvd&DUY8?95PiM&ME6BzjMUy90#*V&B zaZDyNJSBEi1{T}3EG-%dbu-R>1+Ih7x3_7ndcLs##j*DWCk*uFphaDW^im#DDIG*f zgkZ3-m2qg=v%Oy+xI+{`bsPsUc0ezbz_iNHA5-A=^+rf7oABzL34-JWcIdW^RmQ3J zfMA3%M%FF{y;uf95Fk;4M|Y0!@Z%R7AbGX@>Ijk$c=wMAfKf}T7nx7$`D`pv|F5uv?mBr;W zt6?dk<9%SKF2WcYO}Xrw>4WY*I&- wVvBNdO@Q@6twQ?84W?HS3|1KBl0O0r0Hc5`CJFBOhyVZp07*qoM6N<$f}U|+z5oCK literal 0 HcmV?d00001 diff --git a/wordprocessor/images/scissors.png b/wordprocessor/images/scissors.png new file mode 100755 index 0000000000000000000000000000000000000000..85f80b593f616145c6210097351749af0faae30b GIT binary patch literal 690 zcmV;j0!{siP)_0@Jsyvq&1RMSBs~xa`1|_$;BvXZ$eMl5$s^w|{oBOr_3HV2UPU4i zU5I`fFtTQ!^L_CjgR7c`NkLG+p={I(g@Ou&Lb}uGyvWF!ea?dhpSqSoPLfZ8O+n(f zk>BU@>BVAEg~Q>+bULkAv!5_{$uK6Z8OjK<^r!s+L_ z#@5!)A4^NY-R0#0>D>@i@J`dlz6=e$Rq?ob($lkk6L`HhJ*^fb3T`bJHT#^CM?Q6} z|KNqD-D?-url!=K#HYa6Gg-knXY|`mS~@W>eN(EtzP+tBH#W-Su~^{o%*>lzVD z;Gq~WvSy!i^2n#Ib(gn+JFA0(MY`UX4Kdkx@}F18ntjg6BcHm~E%<=ZN#L?@23`S) zyTGF4vJ`ym4SsNf!vf1V5IGH8k~}*LJjyBcoI_{(lNU4%;hvH691@s~Xli?jUw;WO Y0K{B8%8@~yF8}}l07*qoM6N<$g8HpcV*mgE literal 0 HcmV?d00001 diff --git a/wordprocessor/images/selection-input.png b/wordprocessor/images/selection-input.png new file mode 100755 index 0000000000000000000000000000000000000000..18e2d70bf02d6672f10cd6aab857dc2ceab387eb GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5XR(rZQhE&{2`t$$4J+o`W#EF6}(v20oQ}(ubn0fHuX($bt zCBk$0u*XFH84JFssTc}a3;FU$Go0S+V0p$vsLo-JXvbboi32?{9WN@_HzqQEK9sj+ z*<<$I6Aw4c1GKwe=7jAZhck{TR}`D~JN#i*IKc3vNOL#y+v!Ju&Svm* L^>bP0l+XkKAdz9> literal 0 HcmV?d00001 diff --git a/wordprocessor/images/ui-tab--plus.png b/wordprocessor/images/ui-tab--plus.png new file mode 100755 index 0000000000000000000000000000000000000000..de2fe4affff9ab78a6dc6fc02cac6326b1d9587c GIT binary patch literal 489 zcmVnTblfnZQX z&=?MZg$_bGL=ZOB*3u9(nKiaZb5KFh;MOKBO^#B3Ai=q%ASwvc1mAn=d%oK_FBB0o z$qx?qo^#Ll-FwbGBArfyA%t+OA5P{jfpLYCGUSHH3XpOinhgcRq9FlOhW6HWL%cdZ zK^=-Lk%2`dOQPDUl99LVP2}W#Iny4yt8Y z?Yu}Tl{yXt0>NH^_k0C~eDSA}Rf(sY$7f9#pAhtddcEGx^ZEV$V3%MASFtl^4PVDm zZdCwXDr0W3+;T~D3n)ysZTr_&EO{1D%ogGKFkhxc0H%)w%H=Y=Ua#|$EYR--ZJckO zLRD2HlgTXmM#+F$tJTnGG~jZ%glU>!8~7noLesQPu1bL|+RU=Uw>O*3fdV{ix~}v5 z91!8I$ literal 0 HcmV?d00001 diff --git a/wordprocessor/wordprocessor.py b/wordprocessor/wordprocessor.py new file mode 100644 index 0000000..9039d73 --- /dev/null +++ b/wordprocessor/wordprocessor.py @@ -0,0 +1,378 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * +from PyQt5.QtPrintSupport import * + +import os +import sys +import uuid + +FONT_SIZES = [9, 10, 11, 12, 13, 14, 18, 24, 36, 48, 64, 72, 96, 144, 288] +IMAGE_EXTENSIONS = ['.jpg','.png','.bmp'] +HTML_EXTENSIONS = ['.htm', '.html'] + +def hexuuid(): + return uuid.uuid4().hex + +def splitext(p): + return os.path.splitext(p)[1].lower() + +class TextEdit(QTextEdit): + + def canInsertFromMimeData(self, source): + + if source.hasImage(): + return True + else: + return super(TextEdit, self).canInsertFromMimeData(source) + + def insertFromMimeData(self, source): + + cursor = self.textCursor() + document = self.document() + + if source.hasUrls(): + + for u in source.urls(): + file_ext = splitext(str(u.toLocalFile())) + if u.isLocalFile() and file_ext in IMAGE_EXTENSIONS: + image = QImage(u.toLocalFile()) + document.addResource(QTextDocument.ImageResource, u, image) + cursor.insertImage(u.toLocalFile()) + + else: + # If we hit a non-image or non-local URL break the loop and fall out + # to the super call & let Qt handle it + break + + else: + # If all were valid images, finish here. + return + + + elif source.hasImage(): + image = source.imageData() + uuid = hexuuid() + document.addResource(QTextDocument.ImageResource, uuid, image) + cursor.insertImage(uuid) + return + + super(TextEdit, self).insertFromMimeData(source) + + +class MainWindow(QMainWindow): + + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + + layout = QVBoxLayout() + self.editor = TextEdit() + # Setup the QTextEdit editor configuration + self.editor.setAcceptRichText(False) + self.editor.setAutoFormatting(QTextEdit.AutoAll) + self.editor.selectionChanged.connect(self.update_format) + # Initialize default font size. + font = QFont('Times', 12) + self.editor.setFont(font) + # We need to repeat the size to init the current format. + self.editor.setFontPointSize(12) + + # self.path holds the path of the currently open file. + # If none, we haven't got a file open yet (or creating new). + self.path = None + + layout.addWidget(self.editor) + + container = QWidget() + container.setLayout(layout) + self.setCentralWidget(container) + + self.status = QStatusBar() + self.setStatusBar(self.status) + + # Uncomment to disable native menubar on Mac + # self.menuBar().setNativeMenuBar(False) + + file_toolbar = QToolBar("File") + file_toolbar.setIconSize(QSize(14, 14)) + self.addToolBar(file_toolbar) + file_menu = self.menuBar().addMenu("&File") + + open_file_action = QAction(QIcon(os.path.join('images', 'blue-folder-open-document.png')), "Open file...", self) + open_file_action.setStatusTip("Open file") + open_file_action.triggered.connect(self.file_open) + file_menu.addAction(open_file_action) + file_toolbar.addAction(open_file_action) + + save_file_action = QAction(QIcon(os.path.join('images', 'disk.png')), "Save", self) + save_file_action.setStatusTip("Save current page") + save_file_action.triggered.connect(self.file_save) + file_menu.addAction(save_file_action) + file_toolbar.addAction(save_file_action) + + saveas_file_action = QAction(QIcon(os.path.join('images', 'disk--pencil.png')), "Save As...", self) + saveas_file_action.setStatusTip("Save current page to specified file") + saveas_file_action.triggered.connect(self.file_saveas) + file_menu.addAction(saveas_file_action) + file_toolbar.addAction(saveas_file_action) + + print_action = QAction(QIcon(os.path.join('images', 'printer.png')), "Print...", self) + print_action.setStatusTip("Print current page") + print_action.triggered.connect(self.file_print) + file_menu.addAction(print_action) + file_toolbar.addAction(print_action) + + edit_toolbar = QToolBar("Edit") + edit_toolbar.setIconSize(QSize(16, 16)) + self.addToolBar(edit_toolbar) + edit_menu = self.menuBar().addMenu("&Edit") + + undo_action = QAction(QIcon(os.path.join('images', 'arrow-curve-180-left.png')), "Undo", self) + undo_action.setStatusTip("Undo last change") + undo_action.triggered.connect(self.editor.undo) + edit_menu.addAction(undo_action) + + redo_action = QAction(QIcon(os.path.join('images', 'arrow-curve.png')), "Redo", self) + redo_action.setStatusTip("Redo last change") + redo_action.triggered.connect(self.editor.redo) + edit_toolbar.addAction(redo_action) + edit_menu.addAction(redo_action) + + edit_menu.addSeparator() + + cut_action = QAction(QIcon(os.path.join('images', 'scissors.png')), "Cut", self) + cut_action.setStatusTip("Cut selected text") + cut_action.setShortcut(QKeySequence.Cut) + cut_action.triggered.connect(self.editor.cut) + edit_toolbar.addAction(cut_action) + edit_menu.addAction(cut_action) + + copy_action = QAction(QIcon(os.path.join('images', 'document-copy.png')), "Copy", self) + copy_action.setStatusTip("Copy selected text") + cut_action.setShortcut(QKeySequence.Copy) + copy_action.triggered.connect(self.editor.copy) + edit_toolbar.addAction(copy_action) + edit_menu.addAction(copy_action) + + paste_action = QAction(QIcon(os.path.join('images', 'clipboard-paste-document-text.png')), "Paste", self) + paste_action.setStatusTip("Paste from clipboard") + cut_action.setShortcut(QKeySequence.Paste) + paste_action.triggered.connect(self.editor.paste) + edit_toolbar.addAction(paste_action) + edit_menu.addAction(paste_action) + + select_action = QAction(QIcon(os.path.join('images', 'selection-input.png')), "Select all", self) + select_action.setStatusTip("Select all text") + cut_action.setShortcut(QKeySequence.SelectAll) + select_action.triggered.connect(self.editor.selectAll) + edit_menu.addAction(select_action) + + edit_menu.addSeparator() + + wrap_action = QAction(QIcon(os.path.join('images', 'arrow-continue.png')), "Wrap text to window", self) + wrap_action.setStatusTip("Toggle wrap text to window") + wrap_action.setCheckable(True) + wrap_action.setChecked(True) + wrap_action.triggered.connect(self.edit_toggle_wrap) + edit_menu.addAction(wrap_action) + + format_toolbar = QToolBar("Format") + format_toolbar.setIconSize(QSize(16, 16)) + self.addToolBar(format_toolbar) + format_menu = self.menuBar().addMenu("&Format") + + # We need references to these actions/settings to update as selection changes, so attach to self. + self.fonts = QFontComboBox() + self.fonts.currentFontChanged.connect(self.editor.setCurrentFont) + format_toolbar.addWidget(self.fonts) + + self.fontsize = QComboBox() + self.fontsize.setEditable(True) + self.fontsize.addItems([str(s) for s in FONT_SIZES]) + + # Connect to the signal producing the text of the current selection. Convert the string to float + # and set as the pointsize. We could also use the index + retrieve from FONT_SIZES. + self.fontsize.currentIndexChanged[str].connect(lambda s: self.editor.setFontPointSize(float(s)) ) + format_toolbar.addWidget(self.fontsize) + + self.bold_action = QAction(QIcon(os.path.join('images', 'edit-bold.png')), "Bold", self) + self.bold_action.setStatusTip("Bold") + self.bold_action.setShortcut(QKeySequence.Bold) + self.bold_action.setCheckable(True) + self.bold_action.toggled.connect(lambda x: self.editor.setFontWeight(QFont.Bold if x else QFont.Normal)) + format_toolbar.addAction(self.bold_action) + format_menu.addAction(self.bold_action) + + self.italic_action = QAction(QIcon(os.path.join('images', 'edit-italic.png')), "Italic", self) + self.italic_action.setStatusTip("Italic") + self.italic_action.setShortcut(QKeySequence.Italic) + self.italic_action.setCheckable(True) + self.italic_action.toggled.connect(self.editor.setFontItalic) + format_toolbar.addAction(self.italic_action) + format_menu.addAction(self.italic_action) + + self.underline_action = QAction(QIcon(os.path.join('images', 'edit-underline.png')), "Underline", self) + self.underline_action.setStatusTip("Underline") + self.underline_action.setShortcut(QKeySequence.Underline) + self.underline_action.setCheckable(True) + self.underline_action.toggled.connect(self.editor.setFontUnderline) + format_toolbar.addAction(self.underline_action) + format_menu.addAction(self.underline_action) + + format_menu.addSeparator() + + self.alignl_action = QAction(QIcon(os.path.join('images', 'edit-alignment.png')), "Align left", self) + self.alignl_action.setStatusTip("Align text left") + self.alignl_action.setCheckable(True) + self.alignl_action.triggered.connect(lambda: self.editor.setAlignment(Qt.AlignLeft)) + format_toolbar.addAction(self.alignl_action) + format_menu.addAction(self.alignl_action) + + self.alignc_action = QAction(QIcon(os.path.join('images', 'edit-alignment-center.png')), "Align center", self) + self.alignc_action.setStatusTip("Align text center") + self.alignc_action.setCheckable(True) + self.alignc_action.triggered.connect(lambda: self.editor.setAlignment(Qt.AlignCenter)) + format_toolbar.addAction(self.alignc_action) + format_menu.addAction(self.alignc_action) + + self.alignr_action = QAction(QIcon(os.path.join('images', 'edit-alignment-right.png')), "Align right", self) + self.alignr_action.setStatusTip("Align text right") + self.alignr_action.setCheckable(True) + self.alignr_action.triggered.connect(lambda: self.editor.setAlignment(Qt.AlignRight)) + format_toolbar.addAction(self.alignr_action) + format_menu.addAction(self.alignr_action) + + self.alignj_action = QAction(QIcon(os.path.join('images', 'edit-alignment-justify.png')), "Justify", self) + self.alignj_action.setStatusTip("Justify text") + self.alignj_action.setCheckable(True) + self.alignj_action.triggered.connect(lambda: self.editor.setAlignment(Qt.AlignJustify)) + format_toolbar.addAction(self.alignj_action) + format_menu.addAction(self.alignj_action) + + format_group = QActionGroup(self) + format_group.setExclusive(True) + format_group.addAction(self.alignl_action) + format_group.addAction(self.alignc_action) + format_group.addAction(self.alignr_action) + format_group.addAction(self.alignj_action) + + format_menu.addSeparator() + + # A list of all format-related widgets/actions, so we can disable/enable signals when updating. + self._format_actions = [ + self.fonts, + self.fontsize, + self.bold_action, + self.italic_action, + self.underline_action, + # We don't need to disable signals for alignment, as they are paragraph-wide. + ] + + # Initialize. + self.update_format() + self.update_title() + self.show() + + def block_signals(self, objects, b): + for o in objects: + o.blockSignals(b) + + def update_format(self): + """ + Update the font format toolbar/actions when a new text selection is made. This is neccessary to keep + toolbars/etc. in sync with the current edit state. + :return: + """ + # Disable signals for all format widgets, so changing values here does not trigger further formatting. + self.block_signals(self._format_actions, True) + + self.fonts.setCurrentFont(self.editor.currentFont()) + # Nasty, but we get the font-size as a float but want it was an int + self.fontsize.setCurrentText(str(int(self.editor.fontPointSize()))) + + self.italic_action.setChecked(self.editor.fontItalic()) + self.underline_action.setChecked(self.editor.fontUnderline()) + self.bold_action.setChecked(self.editor.fontWeight() == QFont.Bold) + + self.alignl_action.setChecked(self.editor.alignment() == Qt.AlignLeft) + self.alignc_action.setChecked(self.editor.alignment() == Qt.AlignCenter) + self.alignr_action.setChecked(self.editor.alignment() == Qt.AlignRight) + self.alignj_action.setChecked(self.editor.alignment() == Qt.AlignJustify) + + self.block_signals(self._format_actions, False) + + def dialog_critical(self, s): + dlg = QMessageBox(self) + dlg.setText(s) + dlg.setIcon(QMessageBox.Critical) + dlg.show() + + def file_open(self): + path, _ = QFileDialog.getOpenFileName(self, "Open file", "", "HTML documents (*.html);Text documents (*.txt);All files (*.*)") + + try: + with open(path, 'rU') as f: + text = f.read() + + except Exception as e: + self.dialog_critical(str(e)) + + else: + self.path = path + # Qt will automatically try and guess the format as txt/html + self.editor.setText(text) + self.update_title() + + def file_save(self): + if self.path is None: + # If we do not have a path, we need to use Save As. + return self.file_saveas() + + text = self.editor.toHtml() if splitext(self.path) in HTML_EXTENSIONS else self.editor.toPlainText() + + try: + with open(self.path, 'w') as f: + f.write(text) + + except Exception as e: + self.dialog_critical(str(e)) + + def file_saveas(self): + path, _ = QFileDialog.getSaveFileName(self, "Save file", "", "HTML documents (*.html);Text documents (*.txt);All files (*.*)") + + if not path: + # If dialog is cancelled, will return '' + return + + text = self.editor.toHtml() if splitext(path) in HTML_EXTENSIONS else self.editor.toPlainText() + + try: + with open(path, 'w') as f: + f.write(text) + + except Exception as e: + self.dialog_critical(str(e)) + + else: + self.path = path + self.update_title() + + def file_print(self): + dlg = QPrintDialog() + if dlg.exec_(): + self.editor.print_(dlg.printer()) + + def update_title(self): + self.setWindowTitle("%s - Megasolid Idiom" % (os.path.basename(self.path) if self.path else "Untitled")) + + def edit_toggle_wrap(self): + self.editor.setLineWrapMode( 1 if self.editor.lineWrapMode() == 0 else 0 ) + + +if __name__ == '__main__': + + app = QApplication(sys.argv) + app.setApplicationName("Megasolid Idiom") + + window = MainWindow() + app.exec_() \ No newline at end of file

q_w`*eAFE1$of$z*QO{_#b6NN4y!D4ZR-EU-oR>Jr$CTCbyibmTcm;FU=0 z0z1BJ{Z`&zUoSs9KK`ui?L9OO4H1#dUU_ZQmHT!=JPpqp$pSAAqWEPMQEA?!!Uwu z;F`_mxi$)oMk5-J$Aw%jhkm~g+qS9yBaBA2CqNU3SWHH-SmbFwu29U7CB(5`lI|qa z%T=D|@6jD&EO=35c3%dTHi77Fk20u`Phl8@C$(0000%H zR6JxAyrcw@TYG2=g`8UIMTCG9#FGWhQG^hPkW&=ggww#vBY?c>CU)`R04`X1>QP%Yy&;STq`S7~F0*h@$wI#)8`ER$|bzsZoGVuM3x~|8(UhkVsCbJj}1|KPkQctJTpX&AcD7p{tWDp94`fY24 zLSa1+2u$<*2of65Y&Or5$>cWrc5VZa6!=D?(N7?1nl@RjR)H}FR3o3yH;FiLPz`vz zU%&0*^t2|Ajg3#4rUe|wFoT+mxQjsq+{-Bw64NHk`fs}NE0@dtXtmUuAUx1$rajro zNjSn&oLz(b6955AiP=K6&7gS3L8Z-}V(Lrze118VN`1hq>|$Vv0%wqbI^WX))=QSN z3*=ml7(`The>Czc91c?*TJIu8X~sWTFE#I;gRvzlMCUAZsO~Aozz2R~b zr=m@Oj)bN|_Sx%&n4=YQCvg7zD?Fc%$0SK|ocik!{7{V1DWCO)&M|<#K@_ z2-pD*48wq4uZKg!wGP*reB1qaxUp}=dG#MarE(0as@_}w9*+ko&OWe%@}?8aAs!Xs zJ6F$w|D(X(`Ir5nU!h{ao~;8Me#(kOHAFnANJXu*F9jF?V^`vMoQe>R00000NkvXX Hu0mjfncN*H literal 0 HcmV?d00001 diff --git a/paint/mainwindow.ui b/paint/mainwindow.ui new file mode 100644 index 0000000..3953d85 --- /dev/null +++ b/paint/mainwindow.ui @@ -0,0 +1,1452 @@ + + + MainWindow + + + + 0 + 0 + 549 + 452 + + + + Piecasso + + + + + 0 + 0 + + + + + + + QLayout::SetDefaultConstraint + + + + + + + + 0 + 0 + + + + + 15 + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape.pngimages/layer-shape.png + + + true + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape-polyline.pngimages/layer-shape-polyline.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/selection.pngimages/selection.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/eraser.pngimages/eraser.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/cake.pngimages/cake.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/pipette.pngimages/pipette.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/selection-poly.pngimages/selection-poly.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/paint-brush.pngimages/paint-brush.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/pencil.pngimages/pencil.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/paint-can.pngimages/paint-can.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/edit.pngimages/edit.png + + + true + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape-polygon.pngimages/layer-shape-polygon.png + + + true + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape-round.pngimages/layer-shape-round.png + + + true + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape-ellipse.pngimages/layer-shape-ellipse.png + + + true + + + + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/layer-shape-line.pngimages/layer-shape-line.png + + + true + + + + + + + + 0 + 0 + + + + + 30 + 30 + + + + + 30 + 30 + + + + + + + + images/spray.pngimages/spray.png + + + true + + + false + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + 78 + 0 + + + + + 78 + 16777215 + + + + + + 30 + 10 + 40 + 40 + + + + + 40 + 40 + + + + + 40 + 40 + + + + + + + + + + 10 + 0 + 40 + 40 + + + + + 40 + 40 + + + + + 40 + 40 + + + + + + + + + + + + + 15 + + + 0 + + + 15 + + + 15 + + + 15 + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + 0 + 0 + + + + + 20 + 20 + + + + + 20 + 13 + + + + + + + + + + + + + + + 78 + 55 + + + + + 78 + 55 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + 0 + 0 + 549 + 22 + + + + + FIle + + + + + Edit + + + + + + + View + + + + + Image + + + + + Colors + + + + + Help + + + + + + + + + + + + + Copy + + + Ctrl+C + + + + + Paste + + + Ctrl+V + + + + + + + diff --git a/paint/paint.py b/paint/paint.py new file mode 100644 index 0000000..bcf0808 --- /dev/null +++ b/paint/paint.py @@ -0,0 +1,624 @@ +from PyQt5.QtGui import * +from PyQt5.QtWidgets import * +from PyQt5.QtCore import * + +QPushButton.pressed_right = pyqtSignal() + + +from MainWindow import Ui_MainWindow + +import os +import random +import types + + +SPRAY_PAINT_SD = 10 +SPRAY_PAINT_N = 100 + +COLORS = [ + '#000000', '#82817f', '#820300', '#868417', '#007e03', '#037e7b', '#040079', + '#81067a', '#7f7e45', '#05403c', '#0a7cf6', '#093c7e', '#7e07f9', '#7c4002', + + '#ffffff', '#c1c1c1', '#f70406', '#fffd00', '#08fb01', '#0bf8ee', '#0000fa', + '#b92fc2', '#fffc91', '#00fd83', '#87f9f9', '#8481c4', '#dc137d', '#fb803c', +] + +MODES = [ + 'selectpoly', 'selectrect', + 'eraser', 'fill', + 'dropper', 'stamp', + 'pen', 'brush', + 'spray', 'text', + 'line', 'polyline', + 'rect', 'polygon', + 'ellipse', 'roundrect' +] + +STAMP_DIR = './stamps' +STAMPS = [os.path.join(STAMP_DIR, f) for f in os.listdir(STAMP_DIR)] + +SELECTION_PEN = QPen(QColor(0xff, 0xff, 0xff), 1, Qt.DashLine) +PREVIEW_PEN = QPen(QColor(0xff, 0xff, 0xff), 1, Qt.SolidLine) + +class Canvas(QLabel): + + mode = 'rectangle' + + primary_color = QColor(Qt.black) + secondary_color = None + background_color = QColor(Qt.white) + + primary_color_updated = pyqtSignal(str) + secondary_color_updated = pyqtSignal(str) + + active_color = None + + timer_event = None + + + + def reset(self): + # Create the pixmap for display. + self.setPixmap(QPixmap(600,400)) + self.eraser_color = self.secondary_color or QColor(Qt.white) + self.eraser_color.setAlpha(100) + self.pixmap().fill(self.background_color) + + def set_primary_color(self, hex): + self.primary_color = QColor(hex) + + def set_secondary_color(self, hex): + self.secondary_color = QColor(hex) + + def set_mode(self, mode): + # Clean up active timer animations. + self.timer_cleanup() + # Reset mode-specific vars (all) + self.active_shape_fn = None + self.active_shape_args = () + self.last_pos = None + self.current_pos = None + self.origin_pos = None + self.history_pos = None + self.dash_offset = 0 + self.locked = False + # Apply the mode + self.mode = mode + + def reset_mode(self): + self.set_mode(self.mode) + + def on_timer(self): + if self.timer_event: + self.timer_event() + + def timer_cleanup(self): + if self.timer_event: + # Stop the timer, then trigger cleanup. + timer_event = self.timer_event + self.timer_event = None + timer_event(final=True) + + # Mouse events. + + def mousePressEvent(self, e): + fn = getattr(self, "%s_mousePressEvent" % self.mode, None) + if fn: + return fn(e) + + def mouseMoveEvent(self, e): + fn = getattr(self, "%s_mouseMoveEvent" % self.mode, None) + if fn: + return fn(e) + + def mouseReleaseEvent(self, e): + fn = getattr(self, "%s_mouseReleaseEvent" % self.mode, None) + if fn: + return fn(e) + + def mouseDoubleClickEvent(self, e): + fn = getattr(self, "%s_mouseDoubleClickEvent" % self.mode, None) + if fn: + return fn(e) + + # Generic events (shared by brush-like tools) + + def generic_mousePressEvent(self, e): + self.last_pos = e.pos() + + if e.button() == Qt.LeftButton: + self.active_color = self.primary_color + else: + self.active_color = self.secondary_color + + def generic_mouseReleaseEvent(self, e): + self.last_pos = None + + # Mode-specific events. + + # Eraser events + + def eraser_mousePressEvent(self, e): + return self.generic_mousePressEvent(e) + + def eraser_mouseMoveEvent(self, e): + if self.last_pos: + p = QPainter(self.pixmap()) + p.setPen(QPen(self.eraser_color, 30, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) + p.drawLine(self.last_pos, e.pos()) + + self.last_pos = e.pos() + self.update() + + def eraser_mouseReleaseEvent(self, e): + return self.generic_mouseReleaseEvent(e) + + # Stamp (pie) events + + def stamp_mousePressEvent(self, e): + p = QPainter(self.pixmap()) + stamp = QPixmap(random.choice(STAMPS)) + p.drawPixmap(e.x() - stamp.width() // 2, e.y() - stamp.height() // 2, stamp) + self.update() + + # Pen events + + def pen_mousePressEvent(self, e): + return self.generic_mousePressEvent(e) + + def pen_mouseMoveEvent(self, e): + if self.last_pos: + p = QPainter(self.pixmap()) + p.setPen(QPen(self.active_color, 1, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) + + p.drawLine(self.last_pos, e.pos()) + + self.last_pos = e.pos() + self.update() + + def pen_mouseReleaseEvent(self, e): + return self.generic_mouseReleaseEvent(e) + + # Brush events + + def brush_mousePressEvent(self, e): + return self.generic_mousePressEvent(e) + + def brush_mouseMoveEvent(self, e): + if self.last_pos: + p = QPainter(self.pixmap()) + p.setPen(QPen(self.active_color, 10, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) + + p.drawLine(self.last_pos, e.pos()) + + self.last_pos = e.pos() + self.update() + + def brush_mouseReleaseEvent(self, e): + return self.generic_mouseReleaseEvent(e) + + # Spray events + + def spray_mousePressEvent(self, e): + return self.generic_mousePressEvent(e) + + def spray_mouseMoveEvent(self, e): + if self.last_pos: + p = QPainter(self.pixmap()) + p.setPen(QPen(self.active_color, 1)) + + for n in range(SPRAY_PAINT_N): + xo, yo = random.gauss(0, SPRAY_PAINT_SD), random.gauss(0, SPRAY_PAINT_SD) + p.drawPoint(e.x() + xo, e.y() + yo) + + self.update() + + def spray_mouseReleaseEvent(self, e): + return self.generic_mouseReleaseEvent(e) + + # Fill events + + def fill_mousePressEvent(self, e): + + if e.button() == Qt.LeftButton: + self.active_color = self.primary_color + else: + self.active_color = self.secondary_color + + # Convert to image for pixel-by-pixel reading. + image = self.pixmap().toImage() + w, h = image.width(), image.height() + s = image.bits().asstring(w * h * 4) + + x, y = e.x(), e.y() + # Lookup the 3-byte value at our current location. + i = (x + (y * w)) * 4 + target_color = s[i:i+3] + + # Convert bytestring to 1byte pp. true/false for matching colour. True values + # will be 255, non-matching 0. Simplifies the lookup in get_pixel and + # comparison in the main loop giving slight performance increase. + s = b''.join(b'\xff' if s[n:n+3] == target_color else b'\x00' for n in range(0, len(s), 4)) + + def get_pixel(x, y): + i = (x + (y * w)) + return s[i] + + have_seen = set() + to_fill = [] + queue = [(x, y)] + + def get_cardinal_points(have_seen, center_pos): + points = [] + cx, cy = center_pos + for x, y in [(1, 0), (0, 1), (-1, 0), (0, -1)]: + xx, yy = cx + x, cy + y + if (xx >= 0 and xx < w and + yy >= 0 and yy < h and + (xx, yy) not in have_seen): + + points.append((xx, yy)) + have_seen.add((xx, yy)) + + return points + + while queue: + x, y = queue.pop() + if get_pixel(x, y): # 255 for a match (True) or 0 for a miss (False) + to_fill.append((x,y)) + queue.extend(get_cardinal_points(have_seen, (x, y))) + + if to_fill: + # Now we have the points, perform the fill. + p = QPainter(self.pixmap()) + p.setPen(QPen(self.active_color)) + p.drawPoints(*[QPoint(*xy) for xy in to_fill]) + self.update() + + # Dropper events + + def dropper_mousePressEvent(self, e): + c = self.pixmap().toImage().pixel(e.pos()) + hex = QColor(c).name() + + if e.button() == Qt.LeftButton: + self.set_primary_color(hex) + self.primary_color_updated.emit(hex) # Update UI. + + elif e.button() == Qt.RightButton: + self.set_secondary_color(hex) + self.secondary_color_updated.emit(hex) # Update UI. + + # Select rectangle events + + def selectrect_mousePressEvent(self, e): + if self.current_pos: + # Clear up indicator. + self.timer_cleanup() + self.reset_mode() + + self.origin_pos = e.pos() + self.current_pos = e.pos() + self.timer_event = self.selectrect_timerEvent + + def selectrect_timerEvent(self, final=False): + p = QPainter(self.pixmap()) + p.setCompositionMode(QPainter.RasterOp_SourceXorDestination) + pen = QPen(QColor(0xff, 0xff, 0xff), 1, Qt.DashLine) + pen.setDashOffset(self.dash_offset) + p.setPen(pen) + if self.last_pos: + p.drawRect(QRect(self.origin_pos, self.last_pos)) + + self.dash_offset -= 1 + if not final: + pen.setDashOffset(self.dash_offset) + p.setPen(pen) + p.drawRect(QRect(self.origin_pos, self.current_pos)) + + self.update() + self.last_pos = self.current_pos + + def selectrect_mouseMoveEvent(self, e): + if self.locked == False: + self.current_pos = e.pos() + + def selectrect_mouseReleaseEvent(self, e): + self.current_pos = e.pos() + self.locked = True + + def selectrect_copy(self): + return self.pixmap().copy(QRect(self.origin_pos, self.current_pos)) + + # Generic shape events: Rectangle & Ellipse + + def generic_shape_mousePressEvent(self, e): + self.origin_pos = e.pos() + self.current_pos = e.pos() + self.timer_event = self.generic_shape_timerEvent + + def generic_shape_timerEvent(self, final=False): + p = QPainter(self.pixmap()) + p.setCompositionMode(QPainter.RasterOp_SourceXorDestination) + pen = PREVIEW_PEN + p.setPen(pen) + if self.last_pos: + getattr(p, self.active_shape_fn)(QRect(self.origin_pos, self.last_pos), *self.active_shape_args) + + if not final: + getattr(p, self.active_shape_fn)(QRect(self.origin_pos, self.current_pos), *self.active_shape_args) + + self.update() + self.last_pos = self.current_pos + + def generic_shape_mouseMoveEvent(self, e): + self.current_pos = e.pos() + + def generic_shape_mouseReleaseEvent(self, e): + if self.last_pos: + # Clear up indicator. + self.timer_cleanup() + + p = QPainter(self.pixmap()) + p.setPen(QPen(self.primary_color, 5, Qt.SolidLine, Qt.SquareCap, Qt.MiterJoin)) + + if self.secondary_color: + p.setBrush(QBrush(self.secondary_color)) + getattr(p, self.active_shape_fn)(QRect(self.origin_pos, e.pos()), *self.active_shape_args) + self.update() + + self.reset_mode() + + + # Line events + + def line_mousePressEvent(self, e): + self.origin_pos = e.pos() + self.current_pos = e.pos() + self.timer_event = self.line_timerEvent + + def line_timerEvent(self, final=False): + p = QPainter(self.pixmap()) + p.setCompositionMode(QPainter.RasterOp_SourceXorDestination) + pen = PREVIEW_PEN + p.setPen(pen) + if self.last_pos: + p.drawLine(self.origin_pos, self.last_pos) + + if not final: + p.drawLine(self.origin_pos, self.current_pos) + + self.update() + self.last_pos = self.current_pos + + def line_mouseMoveEvent(self, e): + self.current_pos = e.pos() + + def line_mouseReleaseEvent(self, e): + if self.last_pos: + # Clear up indicator. + self.timer_cleanup() + + p = QPainter(self.pixmap()) + p.setPen(QPen(self.primary_color, 5, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) + + p.drawLine(self.origin_pos, e.pos()) + self.update() + + self.reset_mode() + + # Generic poly events + def generic_poly_mousePressEvent(self, e): + if e.button() == Qt.LeftButton: + if self.history_pos: + self.history_pos.append(e.pos()) + else: + self.history_pos = [e.pos()] + self.current_pos = e.pos() + self.timer_event = self.generic_poly_timerEvent + + if e.button() == Qt.RightButton and self.history_pos: + # Clean up, we're not drawing + self.timer_cleanup() + self.reset_mode() + + def generic_poly_timerEvent(self, final=False): + p = QPainter(self.pixmap()) + p.setCompositionMode(QPainter.RasterOp_SourceXorDestination) + pen = PREVIEW_PEN + p.setPen(pen) + if self.last_pos: + getattr(p, self.active_shape_fn)(*self.history_pos + [self.last_pos]) + + if not final: + getattr(p, self.active_shape_fn)(*self.history_pos + [self.current_pos]) + + self.update() + self.last_pos = self.current_pos + + def generic_poly_mouseMoveEvent(self, e): + self.current_pos = e.pos() + + def generic_poly_mouseDoubleClickEvent(self, e): + self.timer_cleanup() + p = QPainter(self.pixmap()) + p.setPen(QPen(self.primary_color, 5, Qt.SolidLine, Qt.RoundCap, Qt.RoundJoin)) + + # Note the brush is ignored for polylines. + if self.secondary_color: + p.setBrush(QBrush(self.secondary_color)) + + getattr(p, self.active_shape_fn)(*self.history_pos + [e.pos()]) + self.update() + self.reset_mode() + + # Polyline events + + def polyline_mousePressEvent(self, e): + self.active_shape_fn = 'drawPolyline' + self.generic_poly_mousePressEvent(e) + + def polyline_timerEvent(self, final=False): + self.generic_poly_timerEvent(final) + + def polyline_mouseMoveEvent(self, e): + self.generic_poly_mouseMoveEvent(e) + + def polyline_mouseDoubleClickEvent(self, e): + self.generic_poly_mouseDoubleClickEvent(e) + + # Rectangle events + + def rect_mousePressEvent(self, e): + self.active_shape_fn = 'drawRect' + self.active_shape_args = () + self.generic_shape_mousePressEvent(e) + + def rect_timerEvent(self, final=False): + self.generic_shape_timerEvent(final) + + def rect_mouseMoveEvent(self, e): + self.generic_shape_mouseMoveEvent(e) + + def rect_mouseReleaseEvent(self, e): + self.generic_shape_mouseReleaseEvent(e) + + # Polygon events + + def polygon_mousePressEvent(self, e): + self.active_shape_fn = 'drawPolygon' + self.generic_poly_mousePressEvent(e) + + def polygon_timerEvent(self, final=False): + self.generic_poly_timerEvent(final) + + def polygon_mouseMoveEvent(self, e): + self.generic_poly_mouseMoveEvent(e) + + def polygon_mouseDoubleClickEvent(self, e): + self.generic_poly_mouseDoubleClickEvent(e) + + # Ellipse events + + def ellipse_mousePressEvent(self, e): + self.active_shape_fn = 'drawEllipse' + self.active_shape_args = () + self.generic_shape_mousePressEvent(e) + + def ellipse_timerEvent(self, final=False): + self.generic_shape_timerEvent(final) + + def ellipse_mouseMoveEvent(self, e): + self.generic_shape_mouseMoveEvent(e) + + def ellipse_mouseReleaseEvent(self, e): + self.generic_shape_mouseReleaseEvent(e) + + # Roundedrect events + + def roundrect_mousePressEvent(self, e): + self.active_shape_fn = 'drawRoundedRect' + self.active_shape_args = (25, 25) + self.generic_shape_mousePressEvent(e) + + def roundrect_timerEvent(self, final=False): + self.generic_shape_timerEvent(final) + + def roundrect_mouseMoveEvent(self, e): + self.generic_shape_mouseMoveEvent(e) + + def roundrect_mouseReleaseEvent(self, e): + self.generic_shape_mouseReleaseEvent(e) + + +class MainWindow(QMainWindow, Ui_MainWindow): + + def __init__(self, *args, **kwargs): + super(MainWindow, self).__init__(*args, **kwargs) + self.setupUi(self) + + # Replace canvas placeholder from QtDesigner. + self.horizontalLayout.removeWidget(self.canvas) + self.canvas = Canvas() + self.canvas.reset() + # We need to enable mouse tracking to follow the mouse without the button pressed. + self.canvas.setMouseTracking(True) + self.horizontalLayout.addWidget(self.canvas) + + # Setup the mode buttons + mode_group = QButtonGroup(self) + mode_group.setExclusive(True) + + for mode in MODES: + btn = getattr(self, '%sButton' % mode) + btn.pressed.connect(lambda mode=mode: self.canvas.set_mode(mode)) + mode_group.addButton(btn) + + # Setup the color selection buttons. + self.primaryButton.pressed.connect(lambda: self.choose_color(self.set_primary_color)) + self.secondaryButton.pressed.connect(lambda: self.choose_color(self.set_secondary_color)) + + # Initialize button colours. + for n, hex in enumerate(COLORS, 1): + btn = getattr(self, 'colorButton_%d' % n) + btn.setStyleSheet('QPushButton { background-color: %s; }' % hex) + btn.hex = hex # For use in the event below + + def patch_mousePressEvent(self_, e): + if e.button() == Qt.LeftButton: + self.set_primary_color(self_.hex) + + elif e.button() == Qt.RightButton: + self.set_secondary_color(self_.hex) + + btn.mousePressEvent = types.MethodType(patch_mousePressEvent, btn) + + # Setup up action signals + self.actionCopy.triggered.connect(self.copy_to_clipboard) + + # Initialize animation timer. + self.timer = QTimer() + self.timer.timeout.connect(self.canvas.on_timer) + self.timer.setInterval(100) + self.timer.start() + + # Setup to agree with Canvas. + self.set_primary_color('#000000') + self.set_secondary_color('#ffffff') + + # Signals for canvas-initiated color changes (dropper). + self.canvas.primary_color_updated.connect(self.set_primary_color) + self.canvas.secondary_color_updated.connect(self.set_secondary_color) + + self.show() + + def choose_color(self, callback): + dlg = QColorDialog() + if dlg.exec(): + callback( dlg.selectedColor().name() ) + + def set_primary_color(self, hex): + self.canvas.set_primary_color(hex) + self.primaryButton.setStyleSheet('QPushButton { background-color: %s; }' % hex) + + def set_secondary_color(self, hex): + self.canvas.set_secondary_color(hex) + self.secondaryButton.setStyleSheet('QPushButton { background-color: %s; }' % hex) + + def copy_to_clipboard(self): + clipboard = QApplication.clipboard() + + if self.canvas.mode == 'selectrect' and self.canvas.locked: + clipboard.setPixmap(self.canvas.selectrect_copy()) + + elif self.canvas.mode == 'selectpoly' and self.canvas.locked: + clipboard.setPixmap(self.canvas.selectpoly_copy()) + + else: + clipboard.setPixmap(self.canvas.pixmap()) + +if __name__ == '__main__': + + app = QApplication([]) + window = MainWindow() + app.exec_() \ No newline at end of file diff --git a/paint/stamps/pie-apple.png b/paint/stamps/pie-apple.png new file mode 100644 index 0000000000000000000000000000000000000000..a35705bd97cd5d247db07cfb6f64d18be2e408c6 GIT binary patch literal 44839 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 literal 0 HcmV?d00001 diff --git a/paint/stamps/pie-cherry.png b/paint/stamps/pie-cherry.png new file mode 100644 index 0000000000000000000000000000000000000000..4021f3c6448d52e3c80793443e86c67d2b6ed7c7 GIT binary patch literal 47426 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 R00000^K|udS?83{1OOfu{{{d6 literal 0 HcmV?d00001 diff --git a/paint/stamps/pie-lemon.png b/paint/stamps/pie-lemon.png new file mode 100644 index 0000000000000000000000000000000000000000..ad11358496733f278f260c4f46a6e4bc6d747b98 GIT binary patch literal 34465 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 JPDHLkV1hAv={W!Z literal 0 HcmV?d00001 diff --git a/paint/stamps/pie-moon.png b/paint/stamps/pie-moon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5c3b7b516e101a00696998388b541c9bad9400 GIT binary patch literal 30017 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%0AF?9w(JOb_yS_aTt0eCo_lPPvR<|XJ;DwJZ3Jf~ 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%0AP~{G<-DCaC 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 literal 0 HcmV?d00001 diff --git a/paint/stamps/pie-walnut.png b/paint/stamps/pie-walnut.png new file mode 100644 index 0000000000000000000000000000000000000000..b948ba7fc3bb8d8c7af5e1f919e5c9b6fee18f04 GIT binary patch literal 37074 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