37 Commits
Author SHA1 Message Date
RonnyDo 7bc46bd78f add editorconfig 2020-05-03 02:04:56 +02:00
RonnyDo 10bfe6637d Merge branch 'master' of https://github.com/RonnyDo/ColorPicker 2020-05-03 02:03:49 +02:00
RonnyDo 0c069a94b6 update changelog 2020-05-03 02:03:01 +02:00
RonnyDo c169c75744 Update README.md 2020-05-03 01:28:27 +02:00
RonnyDo c1cd137825 Merge pull request #76 from clappingmonkey/master
Add Bulgarian translation.
2020-05-03 01:25:02 +02:00
clappingmonkey 03a97c55cc add file for bulgarian; edit and add bg in LINGUAS. 2020-02-17 12:25:23 +02:00
RonnyDo ed24697961 code refactoring 2020-01-05 00:18:12 +01:00
RonnyDo 6ae6ec8825 correct copy icon 2020-01-04 23:15:52 +01:00
RonnyDo 9853a843d3 Merge pull request #74 from ryonakano/fix-deprecations
Fix deprecations
2020-01-04 22:53:22 +01:00
Ryo Nakano fefbcb7b04 Fix deprecations 2020-01-03 13:21:50 +09:00
RonnyDo c042a00abd add batches 2020-01-02 22:26:58 +01:00
RonnyDo e912b19340 fix minor config issues 2020-01-02 21:43:09 +01:00
RonnyDo 27298a0de5 polish translation file fix 2020-01-02 18:12:41 +01:00
RonnyDo 1c7a98951b fix travis file 2020-01-02 17:57:19 +01:00
RonnyDo 7e97211c24 fix build warning; update build scripts 2020-01-02 17:51:26 +01:00
RonnyDo 31c1dea1de Merge pull request #65 from onderbakirtas/master
Added Turkish translation
2020-01-02 17:04:57 +01:00
RonnyDo 8f64ef46a5 Merge branch 'master' into master 2020-01-02 17:04:44 +01:00
RonnyDo 7dea159fec Merge pull request #71 from michalzkosmosu/patch-2
Update LINGUAS
2020-01-02 17:03:46 +01:00
RonnyDo b8afc8b75f Merge pull request #69 from michalzkosmosu/master
Added Polish translation
2020-01-02 17:03:29 +01:00
RonnyDo c25de0ffda Merge pull request #68 from Vistaus/master
Added Dutch translation
2020-01-02 17:03:09 +01:00
RonnyDo 90413dfa46 Merge pull request #56 from NathanBnm/patch-1
Fixed error
2020-01-02 17:01:23 +01:00
Michał Nowakowski 91a6ab530d Update LINGUAS 2019-12-12 09:24:19 +01:00
Michał Nowakowski b70938d8c2 Update LINGUAS 2019-11-24 13:31:50 +01:00
Michał Nowakowski e7579118c8 Add files via upload 2019-11-18 13:11:56 +01:00
Heimen Stoffels d5c749fd88 Update LINGUAS 2019-11-09 14:17:32 +01:00
Heimen Stoffels c2b0e1f68e Added Dutch translation 2019-11-09 14:17:18 +01:00
Önder Emre 57597a0cdb Updated LINGUAS to include Turkish language 2019-09-17 15:35:52 +03:00
Önder Emre 574eac863e Updated Turkish translation 2019-09-17 15:33:45 +03:00
Önder Emre 3eadb2bb54 Created Turkish translation 2019-09-17 15:31:02 +03:00
Nathan a11b4c2fb3 Fix 2019-01-24 20:28:04 +01:00
RonnyDo 0c82ba4cea Merge pull request #53 from waldyrious/patch-2
README: Add more info about building from source
2019-01-03 20:58:43 +01:00
RonnyDo 3dd765c6b1 Merge pull request #52 from waldyrious/patch-1
Update pt_PT.po
2019-01-03 20:57:17 +01:00
Waldir Pimenta d48422ef68 README: Add more info about building from source 2019-01-03 10:14:54 +00:00
Waldir Pimenta 35f7fa70ec Update pt_PT.po
- Add information to the opening comment
- Remove extraneous blank lines
- Don't use title case (in Portuguese it's only used for actual titles, not for regular labels)
2019-01-03 10:07:24 +00:00
Ronny f192badbf3 fixing issue #51 2019-01-02 21:45:03 +01:00
Ronny a5b3e9bf4f resolve build conflicts 2019-01-02 21:33:18 +01:00
Ronny 77f08ed556 resolve build conflicts 2019-01-02 21:17:50 +01:00
20 changed files with 327 additions and 147 deletions

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
# EditorConfig <https://EditorConfig.org>
root = true
# elementary defaults
[*]
charset = utf-8
end_of_line = lf
indent_size = tab
indent_style = space
insert_final_newline = true
max_line_length = 80
tab_width = 4
# Markup files
[{*.html,*.xml,*.xml.in,*.yml}]
tab_width = 2
+3
View File
@@ -0,0 +1,3 @@
build
~*
*~
+2 -3
View File
@@ -3,7 +3,7 @@
language: node_js
node_js:
- lts/*
- 10/*
sudo: required
@@ -22,8 +22,7 @@ cache:
- /tmp/liftoff
install:
- npm install @elementaryos/houston
- npm i -g @elementaryos/houston
script:
- houston ci
--name-human Color Picker
+21 -5
View File
@@ -1,3 +1,6 @@
[![Build Status](https://travis-ci.com/RonnyDo/ColorPicker.svg?branch=master)](https://travis-ci.com/RonnyDo/ColorPicker)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
# Color Picker
One Color Picker to rule them all! No overhelming menus or settings. An easy tool with the features you need.
@@ -17,15 +20,28 @@ On elementaryOS? Simply install Color Picker from AppCenter:
</a>
</p>
Otherwise you can download and install the [latest .deb file](https://github.com/ronnydo/colorpicker/releases/latest).
For other Debian-based systems, you can download and install the [latest .deb file](https://github.com/ronnydo/colorpicker/releases/latest).
## Dependencies
You'll need the following dependencies to build:
For other systems, you will need to compile the package yourself. See the instructions below.
## Build from source
If you like to build ColorPicker yourself, take a look at the [`dev-build.sh`](dev-build.sh) file.
### Dependencies
You'll need the following dependencies to compile ColorPicker:
* granite
* libgtk-3-dev
* meson
* valac
## Build, Install and Run
If you like to build it by your own, have a look into the dev-build.sh file.
### Example
Here's a sample list of commands for building the package from source. These have been tested to work correctly on Ubuntu 18.04.
```sh
sudo apt install valac libgranite-dev
git clone https://github.com/RonnyDo/ColorPicker.git
cd ColorPicker/
chmod +x dev-build.sh
./dev-build.sh
```
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2017 Ronny Dobra <ronnydobra at arcor dot de> -->
<component type="desktop">
<id>com.github.ronnydo.colorpicker.desktop</id>
<id>com.github.ronnydo.colorpicker</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license>
<name>Color Picker</name>
@@ -22,7 +22,25 @@
<category>Development</category>
</categories>
<releases>
​<release version="1.1.0" date="2019-01-02" urgency="medium">
​<release version="1.1.4" date="2020-05-03" urgency="low">
​ <description>
<ul>
<li>Added Bulgarian translation (kudos to @clappingmonkey)</li>
</ul>
</description>
​</release>
​<release version="1.1.3" date="2020-01-02" urgency="medium">
​ <description>
<ul>
<li>Added Polish translation (kudos to @michalzkosmosu)</li>
<li>Added Dutch translation (kudos to @Vistaus)</li>
<li>Added Turkish translation (kudos to @onderbakirtas )</li>
<li>Fix build integration (kudos to @meisenzahl)</li>
</ul>
</description>
​</release>
​<release version="1.1.2" date="2019-01-02" urgency="medium">
​ <description>
<ul>
<li>Juno Release!!1! (finally)</li>
+34 -18
View File
@@ -1,9 +1,25 @@
com.github.ronnydo.colorpicker (1.1.0) bionic; urgency=medium
com.github.ronnydo.colorpicker (1.1.4) bionic; urgency=low
* Added Bulgarian translation (kudos to @clappingmonkey)
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 03 May 2020 00:31:00 +0100
com.github.ronnydo.colorpicker (1.1.3) bionic; urgency=medium
* Added Polish translation (kudos to @michalzkosmosu)
* Added Dutch translation (kudos to @Vistaus)
* Added Turkish translation (kudos to @ibrakap)
* Fix build integration (kudos to @meisenzahl)
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 02 Jan 2020 20:31:00 +0100
com.github.ronnydo.colorpicker (1.1.2) bionic; urgency=medium
* Juno Release!!1! (finally)
* "Olá em português" (Translation by @drom98)
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 02 Jan 2019 20:31:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 02 Jan 2019 20:31:00 +0100
com.github.ronnydo.colorpicker (1.0.5) xenial; urgency=medium
@@ -11,13 +27,13 @@ com.github.ronnydo.colorpicker (1.0.5) xenial; urgency=medium
* Update icon
* Add French, Spanish and Catalan translation
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 27 Apr 2018 18:31:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 27 Apr 2018 18:31:00 +0100
com.github.ronnydo.colorpicker (1.0.4) xenial; urgency=medium
* fix version conflicts
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 27 Apr 2018 13:31:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 27 Apr 2018 13:31:00 +0100
com.github.ronnydo.colorpicker (1.0.3) xenial; urgency=medium
@@ -25,19 +41,19 @@ com.github.ronnydo.colorpicker (1.0.3) xenial; urgency=medium
* Update icon
* Add French, Spanish and Catalan translation
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 26 Apr 2018 13:31:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 26 Apr 2018 13:31:00 +0100
com.github.ronnydo.colorpicker (1.0.2) xenial; urgency=medium
* Implement "Don't add the same color to color history twice" (issue #24)
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 20 Aug 2017 13:30:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 20 Aug 2017 13:30:00 +0100
com.github.ronnydo.colorpicker (1.0.1) xenial; urgency=medium
* Improvements to avoid issue #19
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 13 Jul 2017 01:45:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 13 Jul 2017 01:45:00 +0100
com.github.ronnydo.colorpicker (1.0.0) xenial; urgency=medium
@@ -47,38 +63,38 @@ com.github.ronnydo.colorpicker (1.0.0) xenial; urgency=medium
* Invalid AppData file (issue #17)
* Code cleanup
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 07 Jul 2017 12:00:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 07 Jul 2017 12:00:00 +0100
com.github.ronnydo.colorpicker (0.9.5) xenial; urgency=medium
* Fix issue #13
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 27 Jun 2017 23:20:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 27 Jun 2017 23:20:00 +0100
com.github.ronnydo.colorpicker (0.9.4) xenial; urgency=medium
* Fix issue #16
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 26 Jun 2017 23:10:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 26 Jun 2017 23:10:00 +0100
com.github.ronnydo.colorpicker (0.9.3) xenial; urgency=medium
* Color Picker now restores your recent window position, color format and color history! (issue #10, issue #11 and issue #15)
* Minor icon changes
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 26 Jun 2017 22:45:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 26 Jun 2017 22:45:00 +0100
com.github.ronnydo.colorpicker (0.9.2) xenial; urgency=medium
* Fix issue #9
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 23 Jun 2017 17:15:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 23 Jun 2017 17:15:00 +0100
com.github.ronnydo.colorpicker (0.9.1) xenial; urgency=medium
* Fix issue #8
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 23 Jun 2017 09:45:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 23 Jun 2017 09:45:00 +0100
com.github.ronnydo.colorpicker (0.9.0) xenial; urgency=medium
@@ -90,28 +106,28 @@ com.github.ronnydo.colorpicker (0.9.0) xenial; urgency=medium
* Update icons
* Add German translation
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 22 Jun 2017 23:02:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 22 Jun 2017 23:02:00 +0100
com.github.ronnydo.colorpicker (0.1.2) xenial; urgency=low
* Fix build information
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 21 Jun 2017 19:22:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 21 Jun 2017 19:22:00 +0100
com.github.ronnydo.colorpicker (0.1.1) xenial; urgency=low
* Added debian files and logo files
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 19 Jun 2017 00:44:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 19 Jun 2017 00:44:00 +0100
com.github.ronnydo.colorpicker (0.1.0) xenial; urgency=low
* First official release
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 15 Jun 2017 13:21:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 15 Jun 2017 13:21:00 +0100
com.github.ronnydo.colorpicker (0.0.1) xenial; urgency=low
* Release Test
-- Ronny Dobra <ronnydobra at arcor dot de> Thu, 15 Jun 2017 12:59:00 +0100
-- Ronny Dobra <ronnydobra@arcor.de> Thu, 15 Jun 2017 12:59:00 +0100
+1 -1
View File
@@ -1,7 +1,7 @@
Source: com.github.ronnydo.colorpicker
Section: x11
Priority: extra
Maintainer: Ronny Dobra <ronnydobra at arcor dot de>
Maintainer: Ronny Dobra <ronnydobra@arcor.de>
Build-Depends: debhelper (>= 9),
libgranite-dev,
libgtk-3-dev,
+3 -1
View File
@@ -3,7 +3,9 @@ meson build
cd build
meson configure -Dprefix=/usr
ninja
sudo cp ../data/com.github.ronnydo.colorpicker.gschema.xml /usr/share/glib-2.0/schemas/
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
./com.github.ronnydo.colorpicker
G_MESSAGES_DEBUG=all ./com.github.ronnydo.colorpicker
cd ..
+5
View File
@@ -6,6 +6,11 @@ project('com.github.ronnydo.colorpicker', ['vala', 'c'],
gnome = import('gnome')
i18n = import('i18n')
add_project_arguments(
'-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()),
language: 'c'
)
conf = configuration_data()
conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
configure_file(output: 'config.h', configuration: conf)
+4
View File
@@ -1,5 +1,9 @@
bg
ca
de
es
fr
nl
tr
pl
pt_PT
+33
View File
@@ -0,0 +1,33 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the com.github.danrabbit.nimbus package.
# clappingmonkey <clappingmonkey33@gmail.com>, 2020.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: com.github.ronnydo.colorpicker\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 20:40-0700\n"
"PO-Revision-Date: 2020-02-17 13:00+0300\n"
"Last-Translator: clappingmonkey <clappingmonkey@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: Bulgarian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Color Picker"
msgstr "Color Picker"
msgid "Pick Color"
msgstr "Избери Цвят"
msgid "Format"
msgstr "Формат"
msgid "Color History"
msgstr "История"
+4 -4
View File
@@ -1,5 +1,5 @@
# French translations for com.github.ronnydo.colorpicker package.
# Copyright (C) 2017 THE com.github.ronnydo.colorpicker'S COPYRIGHT HOLDER
# Copyright (C) 2019 THE com.github.ronnydo.colorpicker'S COPYRIGHT HOLDER
# This file is distributed under the same license as the com.github.ronnydo.colorpicker package.
# Ronny Dobra <ronnydobra at arcor dot de>, 2017.
#
@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: com.github.ronnydo.colorpicker\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-10 21:48-0200\n"
"PO-Revision-Date: 2018-04-10 21:48-0200\n"
"Last-Translator: Arthur Soulié <arthur.soulie@tuta.io>\n"
"PO-Revision-Date: 2019-01-24 20:27+0100\n"
"Last-Translator: NathanBnm\n"
"Language-Team: French\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
@@ -22,7 +22,7 @@ msgstr "Color Picker"
msgid "Pick Color"
msgstr "Sélectionnez une Couleur"
msgstr "Sélectionner une Couleur"
msgid "Format"
+31
View File
@@ -0,0 +1,31 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the com.github.danrabbit.nimbus package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: com.github.ronnydo.colorpicker\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 20:40-0700\n"
"PO-Revision-Date: 2019-11-09 14:16+0100\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.4\n"
"Last-Translator: Heimen Stoffels <vistausss@outlook.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: nl\n"
msgid "Color Picker"
msgstr "Kleurkiezer"
msgid "Pick Color"
msgstr "Kleur kiezen"
msgid "Format"
msgstr "Opmaak"
msgid "Color History"
msgstr "Geschiedenis"
+31
View File
@@ -0,0 +1,31 @@
# Polish translation for Ronny Dobra's Color Picker.
# This file is distributed under the same license as the com.github.danrabbit.nimbus package.
# Michał Nowakowski <nowakowski@offshore.rocks>, 2019.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: com.github.ronnydo.colorpicker\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 20:40-0700\n"
"PO-Revision-Date: 2019-11-17 17:27-0700\n"
"Last-Translator: Michał Nowakowski <nowakowski@offshore.rocks>\n"
"Language-Team: none\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Color Picker"
msgstr "Próbnik koloru"
msgid "Pick Color"
msgstr "Wybierz kolor"
msgid "Format"
msgstr "Format"
msgid "Color History"
msgstr "Historia kolorów"
+5 -7
View File
@@ -1,7 +1,7 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# Portuguese translation for ColorPicker.
# Copyright (C) 2019 The ColorPicker contributors
# This file is distributed under the same license as the com.github.danrabbit.nimbus package.
# Diogo Oliveira <https://github.com/drom98>, YEAR.
# Diogo Oliveira <https://github.com/drom98>, 2018.
#
#, fuzzy
@@ -21,13 +21,11 @@ msgstr ""
msgid "Color Picker"
msgstr "Color Picker"
msgid "Pick Color"
msgstr "Selecionar Cor"
msgstr "Selecionar cor"
msgid "Format"
msgstr "Formato"
msgid "Color History"
msgstr "Histórico de Cores"
msgstr "Histórico de cores"
+32
View File
@@ -0,0 +1,32 @@
# Turkish translations for com.github.ronnydo.colorpicker package.
# Copyright (C) 2019 THE com.github.ronnydo.colorpicker'S COPYRIGHT HOLDER
# This file is distributed under the same license as the com.github.ronnydo.colorpicker package.
# Önder Bakırtaş <onderbakirtas at gmail dot com>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: com.github.ronnydo.colorpicker\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-06-21 20:40-0700\n"
"PO-Revision-Date: 2019-09-17 20:40-0700\n"
"Last-Translator: Önder Bakırtaş <onderbakirtas at gmail dot com>\n"
"Language-Team: Turkish\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
msgid "Color Picker"
msgstr "Renk Seçici"
msgid "Pick Color"
msgstr "Renk Seç"
msgid "Format"
msgstr "Biçim"
msgid "Color History"
msgstr "Renk Geçmişi"
+4 -2
View File
@@ -45,9 +45,11 @@ namespace ColorPicker {
app_window.show_all ();
var quit_action = new SimpleAction ("quit", null);
add_action (quit_action);
add_accelerator ("<Control>q", "app.quit", null);
//add_accelerator ("<Control>q", "app.quit", null);
set_accels_for_action ("app.quit", {"<Control>q"});
quit_action.activate.connect (() => {
if (app_window != null) {
+7 -8
View File
@@ -75,7 +75,7 @@ namespace ColorPicker {
var format_entry = new Gtk.Entry ();
format_entry.placeholder_text = ext_active_color.to_css_rgb_string ();
format_entry.set_editable (false);
format_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "edit-copy");
format_entry.set_icon_from_icon_name (Gtk.EntryIconPosition.SECONDARY, "edit-copy-symbolic");
format_entry.margin_end = 6;
var color_format_combobox = new Gtk.ComboBoxText ();
@@ -170,8 +170,8 @@ namespace ColorPicker {
this.present ();
});
var win = mouse_position.get_window ();
//var win = mouse_position.get_window ();
mouse_position.picked.connect ((t, color) => {
ext_active_color = (ExtRGBA) color;
color_area.set_color (ext_active_color);
@@ -203,17 +203,16 @@ namespace ColorPicker {
Gtk.Clipboard.get_default (this.get_display ()).set_text (format_entry.get_text (), -1);
}
});
//color_format_combobox.changed.connect (color_format_changed);
color_format_combobox.changed.connect (() => {
int id = color_format_combobox.get_active ();
update_color_format_combobox_text (format_entry, id);
ColorPicker.settings.color_format_index = id;
});
// handle changed color in color history
color_history.color_clicked.connect ((t, color) => {
ext_active_color = (ExtRGBA) color;
+1 -1
View File
@@ -180,7 +180,7 @@ namespace ColorPicker.Widgets {
ctx.rel_line_to (triangle_width / 2, -1 * triangle_height);
ctx.rel_line_to (triangle_width / 2, triangle_height);
ctx.close_path ();
Gdk.cairo_set_source_rgba (ctx, style_context.get_background_color(Gtk.StateFlags.NORMAL));
Gdk.cairo_set_source_rgba (ctx, style_context.get_color (Gtk.StateFlags.NORMAL));
ctx.fill ();
+70 -95
View File
@@ -29,14 +29,12 @@ namespace ColorPicker.Widgets {
public signal void moved (Gdk.RGBA color);
const string dark_border_color_string = "#333333";
private Gdk.RGBA dark_border_color = Gdk.RGBA();
private Gdk.RGBA dark_border_color = Gdk.RGBA();
const string bright_border_color_string = "#FFFFFF";
private Gdk.RGBA bright_border_color = Gdk.RGBA();
private int mouse_pos_x = 0;
private int mouse_pos_y = 0;
// 1. Snapsize is the amount of pixel going to be magnified by the zoomlevel.
// 2. The snapsize must be odd to have a 1px magnifier center.
// 3. Asure that snapsize*max_zoomlevel+shadow_width*2 is smaller than 2 * get_screen ().get_display ().get_maximal_cursor_size()
@@ -46,16 +44,17 @@ namespace ColorPicker.Widgets {
// and https://github.com/RonnyDo/ColorPicker/issues/19
int snapsize = 31;
int min_zoomlevel = 2;
int max_zoomlevel = 7;
int max_zoomlevel = 14;
//int max_zoomlevel = 7;
int zoomlevel = 3;
int shadow_width = 15;
private Gdk.Cursor magnifier = null;
construct {
type = Gtk.WindowType.POPUP;
}
public Picker () {
stick ();
@@ -63,22 +62,24 @@ namespace ColorPicker.Widgets {
set_deletable (false);
set_skip_taskbar_hint (true);
set_skip_pager_hint (true);
set_keep_above (true);
dark_border_color.parse (dark_border_color_string);
set_keep_above (true);
dark_border_color.parse (dark_border_color_string);
bright_border_color.parse (bright_border_color_string);
// restore zoomlevel
if (settings.zoomlevel >= min_zoomlevel && settings.zoomlevel <= max_zoomlevel) {
zoomlevel = settings.zoomlevel;
}
var screen = get_screen ();
set_default_size (screen.get_width (), screen.get_height ());
}
var display = Gdk.Display.get_default ();
Gdk.Monitor monitor = display.get_primary_monitor ();
Gdk.Rectangle geom = monitor.get_geometry ();
set_default_size (geom.width, geom.height);
}
public override bool button_release_event (Gdk.EventButton e) {
// button_1 is left mouse button
if (e.button == 1) {
@@ -91,24 +92,24 @@ namespace ColorPicker.Widgets {
return true;
}
public override bool draw (Cairo.Context cr) {
public override bool draw (Cairo.Context cr) {
return false;
}
public override bool motion_notify_event (Gdk.EventMotion e) {
Gdk.RGBA color = get_color_at ((int) e.x_root, (int) e.y_root);
moved (color);
set_magnifier_cursor ();
return true;
return true;
}
public override bool scroll_event (Gdk.EventScroll e) {
switch (e.direction) {
case Gdk.ScrollDirection.UP:
@@ -132,25 +133,26 @@ namespace ColorPicker.Widgets {
public void set_magnifier_cursor () {
// draw cursor
var manager = Gdk.Display.get_default ().get_default_seat ();
// get cursor position
int px, py;
get_pointer (out px, out py);
get_window ().get_device_position (manager.get_pointer (), out px, out py, null);
var radius = snapsize * zoomlevel / 2;
// take screenshot
var latest_pb = snap (px - snapsize / 2, py - snapsize / 2, snapsize, snapsize);
// get a small area (snap) meant to be zoomed
var snapped_pixbuf = snap (px - snapsize / 2, py - snapsize / 2, snapsize, snapsize);
// Zoom that screenshot up, and grab a snapsize-sized piece from the middle
var scaled_pb = latest_pb.scale_simple (snapsize * zoomlevel + shadow_width * 2 , snapsize * zoomlevel + shadow_width * 2 , Gdk.InterpType.NEAREST);
var scaled_pb = snapped_pixbuf.scale_simple (snapsize * zoomlevel + shadow_width * 2 , snapsize * zoomlevel + shadow_width * 2 , Gdk.InterpType.NEAREST);
// Create the base surface for our cursor
var base_surface = new Cairo.ImageSurface (Cairo.Format.ARGB32, snapsize * zoomlevel + shadow_width * 2 , snapsize * zoomlevel + shadow_width * 2);
var base_context = new Cairo.Context (base_surface);
// Create the circular path on our base surface
base_context.arc (radius + shadow_width, radius + shadow_width, radius, 0, 2 * Math.PI);
@@ -160,10 +162,10 @@ namespace ColorPicker.Widgets {
// Clip to that circular path, keeping the path around for later, and paint the pasted screenshot
base_context.save ();
base_context.clip_preserve ();
base_context.paint ();
base_context.paint ();
base_context.restore ();
// Draw a shadow as outside magnifier border
double shadow_alpha = 0.6;
base_context.set_line_width (1);
@@ -204,33 +206,21 @@ namespace ColorPicker.Widgets {
base_context.stroke ();
// turn the base surface into a pixbuf and thence a cursor
var drawn_pb = Gdk.pixbuf_get_from_surface(base_surface, 0, 0, base_surface.get_width(), base_surface.get_height());
magnifier = new Gdk.Cursor.from_pixbuf(
magnifier = new Gdk.Cursor.from_surface(
get_screen ().get_display (),
drawn_pb,
drawn_pb.get_width () / 2,
drawn_pb.get_height () / 2);
/*
uint max_cursor_width, max_cursor_height, default_cursor_width, default_cursor_height;;
get_screen ().get_display ().get_maximal_cursor_size (out max_cursor_width, out max_cursor_height);
print ("\n\nCursor size is " + drawn_pb.get_width().to_string () + "x" + drawn_pb.get_height().to_string ());
print ("\nAllowed size is " + max_cursor_width.to_string () + "x" + max_cursor_height.to_string ());
print ("\nDefault size is " + get_screen ().get_display ().get_default_cursor_size ().to_string ());
*/
// Set the cursor
var manager = Gdk.Display.get_default ().get_device_manager ();
manager.get_client_pointer ().grab (
base_surface,
base_surface.get_width () / 2,
base_surface.get_height () / 2);
// Set the cursor
manager.grab (
get_window (),
Gdk.GrabOwnership.APPLICATION,
Gdk.SeatCapabilities.ALL,
true,
Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.POINTER_MOTION_MASK | Gdk.EventMask.SCROLL_MASK,
magnifier,
Gdk.CURRENT_TIME);
new Gdk.Event (Gdk.EventType.BUTTON_PRESS | Gdk.EventType.MOTION_NOTIFY | Gdk.EventType.SCROLL),
null);
}
@@ -243,10 +233,10 @@ namespace ColorPicker.Widgets {
public override bool key_press_event (Gdk.EventKey e) {
var manager = Gdk.Display.get_default ().get_default_seat ();
int px, py;
get_pointer (out px, out py);
var manager = Gdk.Display.get_default ().get_device_manager ();
get_window ().get_device_position (manager.get_pointer (), out px, out py, null);
switch (e.keyval) {
case Gdk.Key.Escape:
cancelled ();
@@ -256,16 +246,16 @@ namespace ColorPicker.Widgets {
picked (color);
break;
case Gdk.Key.Up:
manager.get_client_pointer ().warp (get_screen (), px, py - 1);
manager.get_pointer ().warp (get_screen (), px, py - 1);
break;
case Gdk.Key.Down:
manager.get_client_pointer ().warp (get_screen (), px, py + 1);
manager.get_pointer ().warp (get_screen (), px, py + 1);
break;
case Gdk.Key.Left:
manager.get_client_pointer ().warp (get_screen (), px - 1, py);
manager.get_pointer ().warp (get_screen (), px - 1, py);
break;
case Gdk.Key.Right:
manager.get_client_pointer ().warp (get_screen (), px + 1, py);
manager.get_pointer ().warp (get_screen (), px + 1, py);
break;
}
@@ -299,38 +289,23 @@ namespace ColorPicker.Widgets {
public override void show_all () {
base.show_all ();
var manager = Gdk.Display.get_default ().get_device_manager ();
var pointer = manager.get_client_pointer ();
var keyboard = pointer.get_associated_device ();
var manager = Gdk.Display.get_default ().get_default_seat ();
var window = get_window ();
var status = pointer.grab (window,
Gdk.GrabOwnership.NONE,
var status = manager.grab (window,
Gdk.SeatCapabilities.ALL,
false,
Gdk.EventMask.BUTTON_PRESS_MASK | Gdk.EventMask.BUTTON_RELEASE_MASK | Gdk.EventMask.POINTER_MOTION_MASK,
new Gdk.Cursor.for_display (window.get_display (), Gdk.CursorType.CROSSHAIR),
Gtk.get_current_event_time ());
new Gdk.Event (Gdk.EventType.BUTTON_PRESS | Gdk.EventType.BUTTON_RELEASE | Gdk.EventType.MOTION_NOTIFY),
null);
if (status != Gdk.GrabStatus.SUCCESS) {
pointer.ungrab (Gtk.get_current_event_time ());
manager.ungrab ();
}
// show magnifier
set_magnifier_cursor ();
if (keyboard != null) {
status = keyboard.grab (window,
Gdk.GrabOwnership.NONE,
false,
Gdk.EventMask.KEY_PRESS_MASK,
null,
Gtk.get_current_event_time ());
if (status != Gdk.GrabStatus.SUCCESS) {
keyboard.ungrab (Gtk.get_current_event_time ());
}
}
}
public new void close () {