Skip to content
This repository was archived by the owner on Jul 23, 2024. It is now read-only.

Add DnD support for colors #882

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 35 additions & 2 deletions gradience/frontend/widgets/option_row.py
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@
# 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 gi.repository import Gtk, Gdk, Adw, GObject

from gradience.backend.utils.colors import rgb_to_hash
from gradience.backend.constants import rootdir
@@ -64,6 +64,39 @@ def __init__(self, name, title, explanation=None, adw_gtk3_support=None, update_

self.update_var = update_var

self.setup_dnd(self.color_value)

def setup_dnd(self, color_button):
drop_target = Gtk.DropTarget.new(
GObject.TYPE_STRING,
Gdk.DragAction.COPY
)

drag_source = Gtk.DragSource()
drag_source.set_actions(Gdk.DragAction.COPY)

drop_target.connect("drop", self.on_drop, color_button)
drag_source.connect("prepare", self.on_drag_prepare, color_button)

color_button.add_controller(drop_target)
color_button.add_controller(drag_source)

def on_drag_prepare(self, drag_source, _unused0, _unused1, box):
data = box.get_rgba().to_string()

provider = Gdk.ContentProvider.new_for_value(data)
return provider

def on_drop(self, drop_target, data, x, y, box):
if data is None:
return False

box.set_tooltip_text(f"{data}")
self.update_value(
data, update_from="color_value", update_vars=True
)
return True

def connect_signals(self, update_vars):
self.color_value.connect("color-set", self.on_color_value_changed, update_vars)
self.text_value.connect("changed", self.on_text_value_changed, update_vars)
@@ -92,7 +125,7 @@ def on_text_value_toggled(self, *_args):
widget = self.text_value if self.text_value_toggle.get_active() else self.color_value
self.value_stack.set_visible_child(widget)
self.set_activatable_widget(widget)

tooltip = _("Show Color") if self.text_value_toggle.get_active() else _("Show Hex")
self.text_value_toggle.set_tooltip_text(tooltip);


Unchanged files with check annotations Beta

Adw.Toast(title=_("Preset downloaded")))
self.win.reload_pref_group()
logging.debug("Apply and download compeleted")

Check warning on line 85 in gradience/frontend/widgets/explore_preset_row.py

GitHub Actions / Typos

"compeleted" should be "completed".
@Gtk.Template.Callback()
def on_download_button_clicked(self, *_args):
self.toast_overlay.add_toast(
Adw.Toast(title=_("Preset downloaded")))
self.win.reload_pref_group()
logging.debug("Download compeleted")

Check warning on line 100 in gradience/frontend/widgets/explore_preset_row.py

GitHub Actions / Typos

"compeleted" should be "completed".
logging.debug(f"override_dir: {override_dir}")
without_access_spec = (
not ":ro" in directory

Check warning on line 147 in gradience/backend/flatpak_overrides.py

GitHub Actions / Typos

"ro" should be "to".
and not ":rw" in directory
and not ":create" in directory
)
if without_access_spec:
directory += ":ro"

Check warning on line 153 in gradience/backend/flatpak_overrides.py

GitHub Actions / Typos

"ro" should be "to".
filename = GLib.build_filenamev([override_dir, app_id])
"--filesystem=xdg-config/gtk-4.0",
"--filesystem=xdg-config/qt5ct",
"--filesystem=xdg-run/gvfsd",
"--filesystem=xdg-download:ro",

Check warning on line 22 in build-aux/flatpak/com.github.GradienceTeam.Gradience.json

GitHub Actions / Typos

"ro" should be "to".
"--filesystem=~/.mozilla/firefox",
"--filesystem=~/.librewolf",
"--filesystem=~/.waterfox",
"--filesystem=xdg-config/gtk-4.0",
"--filesystem=xdg-config/qt5ct",
"--filesystem=xdg-run/gvfsd",
"--filesystem=xdg-download:ro",

Check warning on line 22 in build-aux/flatpak/com.github.GradienceTeam.Gradience.Devel.json

GitHub Actions / Typos

"ro" should be "to".
"--filesystem=~/.mozilla/firefox",
"--filesystem=~/.librewolf",
"--filesystem=~/.waterfox",
ta
tr
zh_Hans
ro

Check warning on line 21 in po/LINGUAS

GitHub Actions / Typos

"ro" should be "to".
az
sr
uk
# Gradience POT file

Check warning on line 1 in po/ro.po

GitHub Actions / Typos

"ro" should be "to".
# Copyright (C) 2022 Gradience Team
# This file is distributed under the GNU GPLv3 license.
# Gradience Team, 2022.