Commit graph

53 commits

Author SHA1 Message Date
Richard Hughes
3b3b95a8a0 color: Show the user a warning if they try to add a broken profile
Broken profiles are very common when the user imports canned profiles from vendors.
2012-11-20 16:10:08 +00:00
Richard Hughes
76e451fd51 color: Do not use a combobox when listing profiles to add to devices
On some machines used for pre-press or animation the number of display-suitable
profiles is going to be large. We really don't want to have a GtkComboBox
several times bigger than the height of the screen to navigate.

Also, while we're here get some design feedback from the #gnome-design guys and
fix up some spacing and alignment issues.
2012-11-20 16:10:07 +00:00
Ray Strode
b0e7a5efa8 panels: add register macro
Bastien says he doesn't like the blank class_finalize
functions in every panel and he would like a wrapper
macro to hide them.

This commit does that.
2012-08-21 14:32:33 -04:00
Florian Müllner
186d615dee color: Add get_help_uri() implementation
https://bugzilla.gnome.org/show_bug.cgi?id=675471
2012-05-18 18:48:37 +02:00
Richard Hughes
93184f16b9 color: Make the 'Set for all users' insensitive if the profile is already set
Resolves: https://bugzilla.gnome.org/show_bug.cgi?id=676271
2012-05-18 15:59:34 +01:00
Richard Hughes
c31f2eed79 color: Prevent a crash when hotplugging monitors when the color panel is open 2012-03-16 13:45:04 +00:00
Richard Hughes
df164193bb color: Don't allow the user to add existing profiles to devices
The existing code prevents the user from adding the existing default device
profile to the device again, but to prevent a warning message we need to prevent
the user from selecting *any* of the profiles already assigned to the device.
2012-03-15 12:00:26 +00:00
Richard Hughes
5e78f3185c color: Do not select the device in the treeview if it changes
This prevents the treeview 'flickering' when going from selected
device1->profile1 to device2->profile1.
2012-03-10 09:03:57 +00:00
Richard Hughes
2606d607b2 color: Ensure the profile system-wide button is visible
Resolves: https://bugzilla.gnome.org/show_bug.cgi?id=670513
2012-02-21 19:23:26 +00:00
Richard Hughes
8c3b0bb995 color: Do not set the profile default using a syncronous call
Doing this async means the UI doesn't block waiting for it to complete.
2012-02-08 11:52:59 +00:00
Richard Hughes
545d700142 color: Do not print '(null)' for virtual profiles
Virtual profiles (e.g. from the PPD for printers) don't have filenames, and so
fall back to the ID for debugging.

NOTE: this warning uncovered a bug in libcolord, which is fixed by commit
876d961665d01f8c37094fe85b0130850a008051 in the colord project.
2012-02-08 11:51:36 +00:00
Richard Hughes
8283232b44 color: Fix a critical warning in the new GtkTreeIter code 2011-10-21 16:01:37 +01:00
Bastien Nocera
ff59277c91 color: Don't return pointer to local variables
We were returning the address of a variable allocated on the stack
inside the function to outside.
2011-10-20 15:46:32 +01:00
Bastien Nocera
7f8b2153c8 color: Remove useless NULL check
It cannot be NULL when we get to that point.
2011-10-20 15:39:05 +01:00
Bastien Nocera
474abc5272 color: Use a switch statement
A little bit cleaner.
2011-10-20 15:30:14 +01:00
Bastien Nocera
0bc99bdda3 color: Fix warning about uninitialised variable 2011-10-20 15:26:51 +01:00
Matthias Clasen
85b0c9c92c Drop duplicate code
Static analyzers complain about this kind of thing.
2011-10-19 18:57:33 -04:00
Richard Hughes
00fb703054 color: After removing a profile select the device so the UI is correct
Resolves https://bugzilla.gnome.org/show_bug.cgi?id=661658
2011-10-13 17:03:51 +01:00
Richard Hughes
5f6b8f0da9 color: Show 'Uncalibrated' when a device has a test profile assigned 2011-10-13 16:40:29 +01:00
Richard Hughes
d25fe273d2 color: Don't show profile ages for EDID, test and colorspace profiles
Resolves: https://bugzilla.gnome.org/show_bug.cgi?id=661669
2011-10-13 16:28:19 +01:00
Richard Hughes
9e1fa3c900 color: Prefix all the test profiles in the 'Add profile' UI 2011-10-13 16:08:29 +01:00
Richard Hughes
c9647e530d color: Do not show standard colorspaces in the 'Add profile' UI
NOTE: You need colord >= 0.1.4 and shared-color-profiles >= 0.1.5 for this
to work.
2011-10-13 15:58:02 +01:00
Richard Hughes
f4ac4f1a0f color: Improve the 'Add profile' modal dialog
Remove the 'Only profiles that are compatible with...' lightbulb helper and
instead just set the dialog title to include the device class, e.g.
'Available Profiles for Printers'.

Resolves https://bugzilla.gnome.org/show_bug.cgi?id=661657
2011-10-13 14:07:16 +01:00
Richard Hughes
104aadaca9 color: Escape profile titles that have markup in the titles
This ensures we can show profiles with '<', '>' and '&' in the title.

Resolves https://bugzilla.gnome.org/show_bug.cgi?id=659127
2011-09-15 09:30:56 +01:00
Rodrigo Moya
e09892b905 color: Disable 'View details' button if gcm-viewer is not installed 2011-09-14 14:01:46 +02:00
Richard Hughes
240a13f110 color: Do not allow the user to set default a profile they cannot access 2011-09-14 11:12:43 +01:00
Richard Hughes
c49b22027c color: Do not allow the user to choose profiles owned by other users
If there are multiple users in a system, don't show profiles we can't access.
2011-09-14 11:12:43 +01:00
Matthias Clasen
6506fdd08a color: Fix spawning of gcm-viewer
argv arrays passed to g_spawn need to be NULL-terminated.
2011-09-13 23:56:55 -04:00
Richard Hughes
21c11833b5 color: Don't assert if the user double clicks the delete profile button 2011-09-11 15:10:00 +01:00
Richard Hughes
7dd043fa25 color: If cancelling profile import don't show the empty assign dialog
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=658180
2011-09-05 09:11:24 +01:00
Jiro Matsuzawa
fc8213694f Fixed Bug 658167. Provided the Import-button for an ICC profile with a mnemonic character.
Signed-off-by: Richard Hughes <richard@hughsie.com>
2011-09-04 18:52:49 +01:00
Richard Hughes
6ba681b2a7 color: Ensure the calibrate program gets run correctly
We were not NULL-terminating the argv we were about to spawn, which caused it to
fail with 'bad address' for some people.
2011-09-02 15:08:07 +01:00
Richard Hughes
18365c1c56 color: When setting the default profile for a display, use the correct device
Using current_device breaks when you have more than one monitor that is color
managed, and you select device #1 and then click on a different profile for
device #2.

In this case we want to change the default profile on device #2, not device #1.
2011-08-26 12:15:31 +01:00
Richard Hughes
a999160bf7 color: If we have only a few devices and profiles expand the treeview at startup 2011-08-26 11:16:20 +01:00
Richard Hughes
118aa6d1f0 color: Add a small italic indication when there are no color managed devices
This happens on most virtual machines as we can't actually correct a virtual
screen an there's not going to be many interesting USB devices plugged in.

Thanks again to the guys in #gnome-design for all the help.
2011-08-24 13:11:20 +01:00
Richard Hughes
df30d9ea06 color: If there are no profiles or devices then hide the toolbar 2011-08-24 12:35:43 +01:00
Richard Hughes
76a21bdb54 color: Do not attempt to delete the device if it's already added
This was always a workaround for a bug in colord, and we dep on a high enough
version now.
2011-08-24 12:33:23 +01:00
Richard Hughes
37eef8abac color: Remove color managed devices if they are deleted by another process
We need to store the device 'Path' not the device 'Id' in the model as we can't
connect to a device that's already been removed which we need to do when using
the ID.
2011-08-24 12:30:48 +01:00
Richard Hughes
08c71b017f color: Only allow the user to import custom profiles with colord >= 0.1.12
When I was adding the color panel, we ripped out the import code as it was all
pretty hacky and hardcoded, with the intention of doing it the right way in
colord rather than in each client.

At the moment if the user selects 'Import' then the panel does nothing as the
code that would actually make it work was missing.

I've now added the required client code in colord 0.1.12 which makes it possible
to actually import files not listed in the dropdown.

This makes it possible to install a display profile that's been downloaded into
the 'Downloads' directory by firefox.
2011-08-22 23:05:40 +01:00
Richard Hughes
e06ccd9c9e color: Fix a crash where out internal state gets screwed up
I'm just looking for the real bug now.
2011-08-22 23:05:39 +01:00
Richard Hughes
90b3fb1c2a color: Mark a user visible string as translatable 2011-06-25 09:36:15 +01:00
Richard Hughes
6dd4817d68 color: Allow advanced users to create virtual devices using the context menu 2011-06-21 16:15:49 +01:00
Richard Hughes
24b2d2534e color: Add a popup menu for advanced users that want to set the system default
A menu popup was the best thing we could find after discussing it on
If anybody has any better ideas then please shout / send patches.

To show the menu, press the context menu key on the keyboard.
2011-06-21 16:15:49 +01:00
Richard Hughes
5912f00273 color: Don't emit a critical warning if the panel starts with a colorimeter already plugged in 2011-06-02 16:39:09 +01:00
Richard Hughes
6c691dacf2 color: Actually sort the new profile box by name by setting the sort column 2011-06-01 18:24:08 +01:00
Richard Hughes
f4228e48ce color: Only attempt to get the main window after the widget has been realized
This fixes a critical warning when adding a profile.
2011-06-01 18:24:08 +01:00
Richard Hughes
a44d36f993 color: Connect to the profile before doing cd_profile_equal -- we use the ID not the path 2011-05-31 10:43:31 +01:00
Richard Hughes
203046ccfb color: Fix a critical warning when devices are removed
It's a treeview, not a listview...
2011-05-30 23:08:00 +01:00
Richard Hughes
e51b037b76 color: Adapt to new async colord API
The libcolord async API used to use a thread to get the properties for the
device and profiles in the background.

This was racy as hell, and was not good API design. Connect to each device and
profiles explicitly before we access the properties.
2011-05-30 22:07:14 +01:00
Richard Hughes
63c7019e95 color: fix up some minor indenting issues 2011-05-30 22:07:14 +01:00