mirror of
https://github.com/GradienceTeam/Gradience.git
synced 2024-09-14 16:42:31 +00:00
A bunch of improvements (#250)
This commit is contained in:
commit
33603cb1b0
16 changed files with 172 additions and 81 deletions
7
Makefile
7
Makefile
|
@ -7,7 +7,6 @@ global:
|
|||
sudo ninja -C builddir install
|
||||
|
||||
user:
|
||||
meson builddiruser
|
||||
meson configure builddiruser -Dprefix="$(pwd)/builddiruser/testdir"
|
||||
ninja -C builddiruser install
|
||||
ninja -C builddiruser run
|
||||
meson builddir --prefix="$(shell pwd)/builddir/testdir" --wipe
|
||||
ninja -C builddir install
|
||||
ninja -C builddir run
|
3
local.sh
3
local.sh
|
@ -21,7 +21,6 @@ read -p "Do you want to install Python requirements? (yes, no): " answer
|
|||
|
||||
if [[ "$answer" == "yes" ]]; then
|
||||
pip3 install --user -r requirements.txt
|
||||
pip3 install $(pwd)/monet/material_color_utilities_python-0.1.0-py3-none-any.whl
|
||||
elif [[ "$answer" == "no" ]]; then
|
||||
echo "Skipping requirements installation"
|
||||
fi
|
||||
|
@ -31,7 +30,7 @@ rm -r builddir
|
|||
|
||||
echo "Rebuilding"
|
||||
meson builddir
|
||||
meson configure builddir -Dprefix="$(pwd)/builddir/testdir"
|
||||
meson configure builddir -Dprefix="$(pwd)/builddir/testdir" -Dbuildtype=debug
|
||||
ninja -C builddir install
|
||||
|
||||
echo "Running"
|
||||
|
|
|
@ -13,9 +13,9 @@ python = import('python')
|
|||
|
||||
# Project information
|
||||
PROJECT_URL = 'https://github.com/GradienceTeam/Gradience'
|
||||
BUGTRACKER_URL = 'https://github.com/tfuxu/themeteor/issues'
|
||||
BUGTRACKER_URL = 'https://github.com/GradienceTeam/Gradience/issues'
|
||||
HELP_URL = 'https://github.com/orgs/GradienceTeam/discussions'
|
||||
TRANSLATE_URL = 'https://www.transifex.com/Gradienceteam/Gradience'
|
||||
TRANSLATE_URL = 'https://hosted.weblate.org/projects/GradienceTeam/gradience/'
|
||||
|
||||
# Constants
|
||||
PROJECT_RDNN_NAME = 'com.github.GradienceTeam.Gradience'
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# __init__.py
|
||||
#
|
||||
# Change the look of Adwaita, with ease
|
||||
# Copyright (C) 2022 Gradience Team
|
||||
#
|
||||
|
@ -12,11 +14,4 @@
|
|||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import re
|
||||
from anyascii import anyascii
|
||||
|
||||
|
||||
def to_slug_case(non_slug):
|
||||
return re.sub(r"[^0-9a-z]+", "-", anyascii(non_slug).lower()).strip("-")
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
@ -1,7 +1,7 @@
|
|||
from gi.repository import Gtk, Gdk, Adw
|
||||
|
||||
from .constants import rootdir
|
||||
from . import to_slug_case
|
||||
from .modules.utils import to_slug_case, buglog
|
||||
import json
|
||||
import os
|
||||
|
||||
|
@ -29,7 +29,7 @@ class GradienceBuiltinPresetRow(Adw.ActionRow):
|
|||
|
||||
@Gtk.Template.Callback()
|
||||
def on_apply_button_clicked(self, *_args):
|
||||
print("apply")
|
||||
buglog("apply")
|
||||
|
||||
self.app.load_preset_from_resource(
|
||||
f"{rootdir}/presets/"
|
||||
|
|
|
@ -19,9 +19,10 @@
|
|||
|
||||
rootdir = '/com/github/GradienceTeam/Gradience'
|
||||
app_id = '@APP_ID@'
|
||||
rel_ver = '@RELEASE_VER@'
|
||||
version = '@VERSION@'
|
||||
build_type = '@BUILD_TYPE@'
|
||||
project_url = '@PROJECT_URL@'
|
||||
bugtracker_url = '@BUGTRACKER_URL@'
|
||||
help_url = '@HELP_URL@'
|
||||
trnaslate_url = '@TRANSLATE_URL@'
|
||||
translate_url = '@TRANSLATE_URL@'
|
20
src/main.py
20
src/main.py
|
@ -19,7 +19,6 @@
|
|||
import sys
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import traceback
|
||||
|
||||
import gi
|
||||
|
@ -32,10 +31,10 @@ from .palette_shades import GradiencePaletteShades
|
|||
from .option import GradienceOption
|
||||
from .app_type_dialog import GradienceAppTypeDialog
|
||||
from .custom_css_group import GradienceCustomCSSGroup
|
||||
from .constants import rootdir, app_id, version, bugtracker_url, help_url, project_url
|
||||
from .constants import rootdir, app_id, rel_ver, version, bugtracker_url, help_url, project_url
|
||||
from .welcome import GradienceWelcomeWindow
|
||||
from .presets_manager_window import GradiencePresetWindow
|
||||
from . import to_slug_case
|
||||
from .modules.utils import to_slug_case, buglog
|
||||
|
||||
|
||||
class GradienceApplication(Adw.Application):
|
||||
|
@ -73,7 +72,7 @@ class GradienceApplication(Adw.Application):
|
|||
self.settings.get_value("disabled-plugins"))
|
||||
|
||||
self.first_run = self.settings.get_boolean("first-run")
|
||||
print(f"disabled plugins: {self.disabled_plugins}")
|
||||
buglog(f"disabled plugins: {self.disabled_plugins}")
|
||||
|
||||
self.style_manager = Adw.StyleManager.get_default()
|
||||
|
||||
|
@ -127,11 +126,11 @@ class GradienceApplication(Adw.Application):
|
|||
)
|
||||
|
||||
if self.first_run:
|
||||
print("first run")
|
||||
buglog("first run")
|
||||
welcome = GradienceWelcomeWindow(self.win)
|
||||
welcome.present()
|
||||
else:
|
||||
print("normal run")
|
||||
buglog("normal run")
|
||||
self.win.present()
|
||||
|
||||
def open_preset_directory(self, *_args):
|
||||
|
@ -156,7 +155,7 @@ class GradienceApplication(Adw.Application):
|
|||
)
|
||||
|
||||
def load_preset_from_file(self, preset_path):
|
||||
print("load preset from file", preset_path)
|
||||
buglog("load preset from file", preset_path)
|
||||
preset_text = ""
|
||||
with open(preset_path, "r", encoding="utf-8") as file:
|
||||
preset_text = file.read()
|
||||
|
@ -631,19 +630,22 @@ class GradienceApplication(Adw.Application):
|
|||
# Translators: This is a place to put your credits (formats: "Name
|
||||
# https://example.com" or "Name <email@example.com>", no quotes)
|
||||
# and is not meant to be translated literally.
|
||||
# TODO: Automate this process using CI, because not everyone knows about this
|
||||
translator_credits="""Maxime V https://www.transifex.com/user/profile/Adaoh/
|
||||
FineFindus https://github.com/FineFindus
|
||||
Karol Lademan https://www.transifex.com/user/profile/karlod/
|
||||
Monty Monteusz https://www.transifex.com/user/profile/MontyQIQI/
|
||||
Renato Corrêa https://www.transifex.com/user/profile/renatocrrs/
|
||||
Aggelos Tselios https://www.transifex.com/user/profile/AndroGR/
|
||||
David "Daudix UFO" Lapshin https://github.com/daudix-UFO'
|
||||
David "Daudix UFO" Lapshin https://github.com/daudix-UFO
|
||||
0xMRTT https://github.com/0xMRTT
|
||||
tfuxu https://github.com/tfuxu
|
||||
Juanjo Cillero https://www.transifex.com/user/profile/renux918/
|
||||
Taylan Tatlı https://www.transifex.com/user/profile/TaylanTatli34/""",
|
||||
copyright="© 2022 Gradience Team",
|
||||
license_type=Gtk.License.GPL_3_0,
|
||||
version=version,
|
||||
release_notes_version=rel_ver,
|
||||
release_notes=_("""
|
||||
<ul>
|
||||
<li>Add AdwViewSwitcher in the header bar.</li>
|
||||
|
@ -708,7 +710,7 @@ This app is written in Python and uses GTK 4 and libadwaita.
|
|||
self.set_accels_for_action(f"app.{name}", shortcuts)
|
||||
|
||||
def reload_plugins(self):
|
||||
print("reload plugins")
|
||||
buglog("reload plugins")
|
||||
self.win.plugins_group = self.win.plugins_list.to_group()
|
||||
|
||||
def show_adwaita_demo(self, *_args):
|
||||
|
|
|
@ -37,7 +37,16 @@ configure_file(
|
|||
configure_file(
|
||||
input: 'constants.py.in',
|
||||
output: 'constants.py',
|
||||
configuration: conf,
|
||||
configuration: configuration_data({
|
||||
'APP_ID': APPLICATION_ID,
|
||||
'RELEASE_VER': meson.project_version(),
|
||||
'VERSION': meson.project_version() + VERSION_SUFFIX,
|
||||
'BUILD_TYPE': get_option('buildtype'),
|
||||
'PROJECT_URL': PROJECT_URL,
|
||||
'BUGTRACKER_URL': BUGTRACKER_URL,
|
||||
'HELP_URL': HELP_URL,
|
||||
'TRANSLATE_URL': TRANSLATE_URL
|
||||
}),
|
||||
install: true,
|
||||
install_dir: PY_INSTALLDIR.get_install_dir() / 'gradience',
|
||||
)
|
||||
|
@ -71,4 +80,12 @@ gradience_sources = [
|
|||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(gradience_sources, subdir: 'gradience')
|
||||
#install_data(gradience_sources, install_dir: MODULE_DIR)
|
||||
#install_data(gradience_sources, install_dir: MODULE_DIR)
|
||||
|
||||
# Install modules
|
||||
gradience_modules = [
|
||||
'modules/__init__.py',
|
||||
'modules/utils.py'
|
||||
]
|
||||
|
||||
PY_INSTALLDIR.install_sources(gradience_modules, subdir: 'gradience/modules')
|
||||
|
|
17
src/modules/__init__.py
Normal file
17
src/modules/__init__.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
# __init__.py
|
||||
#
|
||||
# Change the look of Adwaita, with ease
|
||||
# Copyright (C) 2022 Gradience Team
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
35
src/modules/utils.py
Normal file
35
src/modules/utils.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
# utils.py
|
||||
#
|
||||
# Change the look of Adwaita, with ease
|
||||
# Copyright (C) 2022 Gradience Team
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import re
|
||||
|
||||
from anyascii import anyascii
|
||||
from gradience.constants import build_type
|
||||
|
||||
|
||||
def to_slug_case(non_slug):
|
||||
return re.sub(r"[^0-9a-z]+", "-", anyascii(non_slug).lower()).strip("-")
|
||||
|
||||
# Use it instead of print(), so there isn't any output in stdout if Gradience was build in release mode
|
||||
# TODO: Can be replaced with `logging` module [https://docs.python.org/3/library/logging.html] in future
|
||||
def buglog(*args):
|
||||
if build_type == "debug":
|
||||
message = ""
|
||||
for obj in args:
|
||||
message += str(obj)
|
||||
return print(f"[DEBUG]: {message}")
|
|
@ -1,6 +1,24 @@
|
|||
# plugin_row.py
|
||||
#
|
||||
# Change the look of Adwaita, with ease
|
||||
# Copyright (C) 2022 Gradience Team
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
from gi.repository import Gtk, Gdk, Adw
|
||||
|
||||
from .modules.utils import buglog
|
||||
from .constants import rootdir
|
||||
|
||||
|
||||
|
@ -21,14 +39,14 @@ class GradiencePluginRow(Adw.ActionRow):
|
|||
|
||||
@Gtk.Template.Callback()
|
||||
def on_settings_plugin_clicked(self, *_args):
|
||||
print("settings")
|
||||
buglog("settings")
|
||||
|
||||
@Gtk.Template.Callback()
|
||||
def on_remove_plugin_clicked(self, *_args):
|
||||
print("removed")
|
||||
buglog("removed")
|
||||
|
||||
@Gtk.Template.Callback()
|
||||
def on_switch_toggled(self, *_args):
|
||||
print("toggled")
|
||||
buglog("toggled")
|
||||
|
||||
Gtk.Application.get_default().reload_plugins()
|
||||
|
|
|
@ -16,14 +16,16 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import sys
|
||||
import os
|
||||
from pathlib import Path
|
||||
import importlib
|
||||
import pkgutil
|
||||
from .plugin_row import GradiencePluginRow
|
||||
|
||||
from gi.repository import Gtk, Adw, Gio, Gdk
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
from .modules.utils import buglog
|
||||
from .plugin_row import GradiencePluginRow
|
||||
|
||||
|
||||
class GradiencePluginsList:
|
||||
|
@ -41,7 +43,7 @@ class GradiencePluginsList:
|
|||
for plugin_id, plugin in self.discoverd_plugins.items():
|
||||
self.plugins[plugin_id] = plugin.GradiencePlugin()
|
||||
|
||||
print(self.plugins)
|
||||
buglog(self.plugins)
|
||||
|
||||
def load_all_custom_settings(self, settings):
|
||||
for plugin_id, plugin in self.plugins.items():
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from gi.repository import Gtk, Gdk, Adw
|
||||
|
||||
from .constants import rootdir
|
||||
from . import to_slug_case
|
||||
from .modules.utils import to_slug_case
|
||||
import json
|
||||
import os
|
||||
|
||||
|
@ -36,7 +36,7 @@ class GradiencePresetRow(Adw.ActionRow):
|
|||
|
||||
@Gtk.Template.Callback()
|
||||
def on_apply_button_clicked(self, *_args):
|
||||
print("apply")
|
||||
buglog("apply")
|
||||
|
||||
self.app.load_preset_from_file(os.path.join(
|
||||
os.environ.get("XDG_CONFIG_HOME",
|
||||
|
|
|
@ -24,6 +24,8 @@ import traceback
|
|||
|
||||
from gi.repository import GLib
|
||||
|
||||
from .modules.utils import buglog
|
||||
|
||||
|
||||
class RunAsync(threading.Thread):
|
||||
def __init__(self, task_func, callback=None, *args, **kwargs):
|
||||
|
@ -44,12 +46,12 @@ class RunAsync(threading.Thread):
|
|||
result = None
|
||||
error = None
|
||||
|
||||
print(f"Running async job [{self.task_func}].")
|
||||
buglog(f"Running async job [{self.task_func}].")
|
||||
|
||||
try:
|
||||
result = self.task_func(*args, **kwargs)
|
||||
except Exception as exception:
|
||||
print("Error while running async job: "
|
||||
buglog("Error while running async job: "
|
||||
f"{self.task_func}\nException: {exception}")
|
||||
|
||||
error = exception
|
||||
|
@ -57,6 +59,6 @@ class RunAsync(threading.Thread):
|
|||
traceback.print_tb(trace)
|
||||
traceback_info = '\n'.join(traceback.format_tb(trace))
|
||||
|
||||
print([str(exception), traceback_info])
|
||||
buglog([str(exception), traceback_info])
|
||||
self.source_id = GLib.idle_add(self.callback, result, error)
|
||||
return self.source_id
|
||||
|
|
|
@ -16,10 +16,13 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
from gi.repository import Gtk, Adw, Gio, Gdk
|
||||
from .constants import rootdir
|
||||
import time
|
||||
|
||||
from gi.repository import Gtk, Adw, Gio, Gdk
|
||||
|
||||
from .run_async import RunAsync
|
||||
from .modules.utils import buglog
|
||||
from .constants import rootdir
|
||||
|
||||
|
||||
@Gtk.Template(resource_path=f"{rootdir}/ui/welcome.ui")
|
||||
|
@ -115,15 +118,15 @@ class GradienceWelcomeWindow(Adw.Window):
|
|||
quit()
|
||||
|
||||
def check_adw_gtk3(self):
|
||||
print("check if adw-gtk3 installed")
|
||||
buglog("check if adw-gtk3 installed")
|
||||
return True
|
||||
|
||||
def adw_gtk3(self):
|
||||
if not self.check_adw_gtk3(): # install
|
||||
print("install adw-gtk3")
|
||||
buglog("install adw-gtk3")
|
||||
|
||||
def configure_system(self):
|
||||
print("confiure system")
|
||||
buglog("configure system")
|
||||
|
||||
def install_runner(self, widget):
|
||||
def set_completed(result, error=False):
|
||||
|
|
|
@ -1,45 +1,40 @@
|
|||
# window.py
|
||||
#
|
||||
# Copyright 2022 Gradience Team
|
||||
# Change the look of Adwaita, with ease
|
||||
# Copyright (C) 2022 Gradience Team
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name(s) of the above copyright
|
||||
# holders shall not be used in advertising or otherwise to promote the sale,
|
||||
# use or other dealings in this Software without prior written
|
||||
# authorization.
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
import os
|
||||
|
||||
from gi.repository import Gtk, Adw, Gio, Gdk
|
||||
|
||||
from svglib.svglib import svg2rlg
|
||||
from reportlab.graphics import renderPM
|
||||
from material_color_utilities_python import *
|
||||
|
||||
from .error import GradienceError
|
||||
from .settings_schema import settings_schema
|
||||
from .palette_shades import GradiencePaletteShades
|
||||
from .option import GradienceOption
|
||||
from .app_type_dialog import GradienceAppTypeDialog
|
||||
from .custom_css_group import GradienceCustomCSSGroup
|
||||
from material_color_utilities_python import *
|
||||
from .constants import rootdir, app_id, build_type
|
||||
from .presets_manager_window import GradiencePresetWindow
|
||||
from .plugins_list import GradiencePluginsList
|
||||
from svglib.svglib import svg2rlg
|
||||
from reportlab.graphics import renderPM
|
||||
import os
|
||||
from .modules.utils import buglog
|
||||
from .constants import rootdir, app_id, build_type
|
||||
|
||||
|
||||
@Gtk.Template(resource_path=f"{rootdir}/ui/window.ui")
|
||||
|
@ -98,32 +93,38 @@ class GradienceMainWindow(Adw.ApplicationWindow):
|
|||
|
||||
self.get_default_wallpaper()
|
||||
|
||||
# FIXME: This function works only when build using meson, because Flatpak can't access host's dconf with current config/impl
|
||||
def get_default_wallpaper(self):
|
||||
background_settings = Gio.Settings("org.gnome.desktop.background")
|
||||
if self.style_manager.get_dark():
|
||||
self.monet_image_file = background_settings.get_string(
|
||||
picture_uri = background_settings.get_string(
|
||||
"picture-uri-dark")
|
||||
else:
|
||||
self.monet_image_file = background_settings.get_string(
|
||||
"picture-uri-dark")
|
||||
self.monet_image_file = Gio.File.new_for_uri(self.monet_image_file)
|
||||
picture_uri = background_settings.get_string(
|
||||
"picture-uri")
|
||||
buglog(picture_uri)
|
||||
self.monet_image_file = Gio.File.new_for_uri(picture_uri)
|
||||
image_basename = self.monet_image_file.get_basename()
|
||||
buglog(image_basename)
|
||||
self.monet_file_chooser_button.set_label(image_basename)
|
||||
self.monet_image_file = self.monet_image_file.get_path()
|
||||
self.on_apply_button()
|
||||
self.monet_file_chooser_button.set_tooltip_text(self.monet_image_file)
|
||||
buglog(self.monet_image_file)
|
||||
#self.on_apply_button() # Comment out for now, because it always shows that annoying toast on startup
|
||||
|
||||
def on_file_picker_button_clicked(self, *args):
|
||||
self.monet_file_chooser_dialog.show()
|
||||
|
||||
def __close_window(self, widegt):
|
||||
if self.get_application().is_dirty:
|
||||
print("app is dirty")
|
||||
buglog("app is dirty")
|
||||
|
||||
def on_monet_file_chooser_response(self, widget, response):
|
||||
if response == Gtk.ResponseType.ACCEPT:
|
||||
self.monet_image_file = self.monet_file_chooser_dialog.get_file()
|
||||
image_basename = self.monet_image_file.get_basename()
|
||||
self.monet_file_chooser_button.set_label(image_basename)
|
||||
self.monet_file_chooser_button.set_tooltip_text(self.monet_image_file)
|
||||
self.monet_file_chooser_dialog.hide()
|
||||
|
||||
if response == Gtk.ResponseType.ACCEPT:
|
||||
|
@ -217,7 +218,7 @@ class GradienceMainWindow(Adw.ApplicationWindow):
|
|||
renderPM.drawToFile(drawing, self.monet_image_file, fmt='PNG')
|
||||
|
||||
if self.monet_image_file.endswith(".xml"):
|
||||
print("XML WIP")
|
||||
buglog("XML WIP")
|
||||
|
||||
try:
|
||||
self.monet_img = Image.open(self.monet_image_file)
|
||||
|
|
Loading…
Reference in a new issue