1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149
|
2014-05-02 Daniel P. Berrange <berrange@redhat.com>
Updates for 0.6.0 release
Refresh translations from transifex
Update to comply with latest appdata specs
See
http://blogs.gnome.org/hughsie/2014/05/02/appdata-meet-spdx-spdx-meet-appdata/
2014-05-01 Daniel P. Berrange <berrange@redhat.com>
The plugin schemas can be shipped pre-compiled in the RPM
Since the plugin schemas are in a private directory they
are ok to ship pre-compiled
Add a BR in RPM for the symbolic icon theme
Fix typos in docs
Adjust pkg-config check for symbolic icon theme
Older versions of the GNOME symbolic icon theme don't include
a pkg-config file, so make the configure check fall back to
looking for a specific file
Disable progress display in preview mode
The PTP driver for Canon EOS activates the progress meter when
downloading preview images. This causes the display to flicker
madly during preview.
Try to ignore progress updates when preview mode is active, but
still display when downloading the final captured image
Fixes bug #21246
Finish off the rest of the API docs
Ignore more non-version controlled files
Temporarily disable syncing camera clock
Due to unresolved problems relating to timezone handling,
disable the feature for syncing the camera clock from the
computer.
Related bug #20430
2014-04-23 Daniel P. Berrange <berrange@redhat.com>
Make manual focus work with Canon cameras
Canon cameras don't have an arbitrary delta for manual focus,
just 3 discrete step sizes. Change the internal API to use
discrete step sizes for both Canon and Nikon to give a consistent
approach.
Include port/model in debug when adding cameras
Fix bug opening extra window at startup
Use install-data-hook instead of install-data-local
The schema must only be compiled after it is installed, so
we must use install-data-hook which runs after install-data-am
Fix install of schemas for plugin
Port over to use lcms2 instead of lcms
Support for lcms 1.x is dropped entirely since lcms2 has
been around for long enough now - as long as GTK3 which
we also require.
2014-04-14 Daniel P. Berrange <berrange@redhat.com>
Remove duplicated plugin files in RPM spec
Move icons into standard directory location
For GNOME software center, the icon listed in desktop file must
be in a standard directory location
https://github.com/hughsie/createrepo_as/blob/master/README.md#guidelines-for-applications
Move all the icons into the standard "hicolor" icon theme so we
can remove custom code for loading them too.
Fixes bug #21904
Fix incorrect whitespace around brackets
Remove capture/preview icons no longer required
Since switching to the symbolic icon theme, the custom
capture/preview icons are no longer needed.
2014-04-11 Bastien Nocera <hadess@hadess.net>
Use the GNOME symbolic icon theme
The symbolic icons look better in combination with the
dark style theme.
Use a dark theme
The dark theme is for media applications, such as photo and video
apps. We're one of those.
2014-04-11 Daniel P. Berrange <berrange@redhat.com>
Add API docs for pixbuf classes
Add explicit method for setting capture target
2014-04-07 Daniel P. Berrange <berrange@redhat.com>
Set automake subdir-objects declaration
Make newer automake shut up about subdir-objects
Remove auto-generation of gitignore files
The git ignore file generator is not entirely reliable
so not worth the trouble of using it.
Fix name of menubar widget
Then menubar was just renamed to 'win-menubar' and the code
was not updated.
Blank out source ID after removing it
Avoid removing the same source twice in the auto drawer by
blanking out the source ID.
Update to deal with changed GExiv2 GIR version
GExiv2 0.10 changed the GIR version from 0.4 to 0.10
Fix override of GtkApplication startup method
When overriding the startup method the parent impl must be
the first thing invoked.
2014-04-05 Daniel P. Berrange <berrange@redhat.com>
Don't auto connect to cameras without capture capability
Only auto connect to cameras with the capture capability so
that we don't connect to simple drivers doing only MTP / disk
filesystem access.
Create a sample plugin for setting up a photobox captive UI
Remove use of deprecated libpeas APIs
Add local source dir to plugin search path
Change to use python3 for plugin language
Change the peas plugin loader to use python for the language
instead of gjs. This is to open up possibility to use the
general python library ecosystem which is broader than the
gjs compatible javascript ecosystem. Python3 is chosen instead
of Python2 so we can avoid introducing a problem of having to
switch python versions later.
Add entangle_window_get_builder method
Add an accessor for getting the GtkBuilder instance associated
with a window, to allow plugins to get access to widgets in a
fast manner.
Add names for more widgets in camera manager
To make life easier for plugin authors, give names to the key
layout widgets i nthe camera manager.
Set parent on camera error dialog
Ensure that the camera error dialog is associated with the main
manager window by setting its parent.
Filter list of supported cameras to only those supporting capture/preview
Instead of reporting all cameras known to gphoto2, only report those
that support capture or preview capabilities. This removes all those
which only support download, since there's not much of interest you
can do with those in the application.
Remove camera manual/about/driver help windows
The camera manual/about/driver information reported by libgphoto2
isn't really in any kind of user friendly format. It mostly has
info that's developer targetted. Remove the UI for showing this
information to simplify the UI.
2014-04-03 Daniel P. Berrange <berrange@redhat.com>
Don't let preferences popup hold reference to the application
When closing the main manager window, delete the prefs widget
so it then allows the application to close.
Revert "Don't let preferences popup hold reference to the application"
This reverts commit 5f98d9694827d35c2d85f0b01329c56c3d1fd8dd.
2014-04-02 Daniel P. Berrange <berrange@redhat.com>
Fix incorrect object type test in camera info popup
Don't let preferences popup hold reference to the application
If we register the preferences popup window with GtkApplication
then the main loop will never exit, since we don't ever destroy
the prefs window, merely hide / show it.
Fix whitespace in for() statement
2014-04-02 Jesper Pedersen <jesper.pedersen@comcast.net>
Add customizable image background/highlight
The use-case is that you want an "opposite" background color against
what you are shooting, e.g. white background when shooting using a
black backdrop.
2014-04-02 Daniel P. Berrange <berrange@redhat.com>
Update copyright date in about dialog
2014-03-28 Daniel P. Berrange <berrange@redhat.com>
Workaround for Nikon D5100 camera serial number
At least one D5100 has been seen to append 25 zero characters
to the serial number, so strip them off.
Avoid circular updating of controls
When loading config from the camera be careful not to trigger
a change in the UI which in turn triggers a save to the
camera again. Do this by comparing old / new values in the
controls. Also avoiding calling save if no controls have been
marked dirty. Finally also refresh the list of combo box
choices to avoid confusing the UI into triggering an update.
Remove bogus calls to gp_widget_set_changed
The gp_widget_set_value method sets the changed flag
on our behalf.
2014-03-26 Daniel P. Berrange <berrange@redhat.com>
Fix repeated expose events due to auto-drawer
Every time entangle_auto_drawer_set_pinned is called it
triggers an expose event. Check whether it is on the right
setting before calling it, since we do this in every mouse
move event. This reduces CPU usage dramatically.
Add further debug in various camera operations
Fix inverted test in range widget updates
Add further debug logs in camera control code
2014-03-14 Daniel P. Berrange <berrange@redhat.com>
Add API docs for image and session classes
2014-02-23 Kashyap Chamarthy <kashyap.cv@gmail.com>
README: Fix an inadvertent typos
Correct copy+paste mitsake s/libvirt-sandbox/Entangle/ in several
places in the README file
2014-02-16 Daniel P. Berrange <berrange@redhat.com>
Refresh translations from transifex
2014-02-16 Cristian Marchi <cri.penta@gmail.com>
Setup appdata and desktop files for translation
2014-02-05 Daniel P. Berrange <berrange@redhat.com>
Add GExiv2 package to g-ir-scanner
2014-02-04 Daniel P. Berrange <berrange@redhat.com>
Fix off-by-1 in image histogram tables
A guchar has 256 possible levels, not 255. The short
tables resulted in a buffer overflow which in turn
scrambled the linear/logarithmic setting.
Don't reset basic camera capabilities on disconnect
The capture/preview/controls capabilities are populated
when we detect the camera ports, so must not be reset
when disconnecting from the camera.
Add ability to auto-sync camera time on connect
Add a preference to control whether the camera time
will be automatically synchronized with the computer
at time of connection
Fixes bug #20430
Add menu option to sync camera clock with PC
Fixes bug #20430
2014-01-26 Daniel P. Berrange <dan@berrange.com>
Conditionalize use of gtk_drag_begin_with_coordinates
The gtk_drag_begin_with_coordinates method is only available
from GTK 3.10 onwards. Revert to use of gtk_drag_begin for
earlier GTK versions.
2014-01-14 Daniel P. Berrange <dan@berrange.com>
Remove version number from about dialog
Fixes bug #21362
Add API docs across many frontend classes
2013-12-21 Daniel P. Berrange <dan@berrange.com>
Fix GTK-DOC comments in application class
Switch to using gtk_drag_begin_with_coordinates
Remove use of deprecated gtk_drag_begin in favour of
gtk_drag_begin_with_coordinates.
Remove use of deprecated gtk_widget_set_state
Use gtk_widget_set_state_flages instead of the deprecated
gtk_widget_set_state.
Remove use of gexiv2_metadata_get_exif_tag_long
The gexiv2_metadata_get_exif_tag_long method has moved to a
private gexiv2 header file, not for application use. Switch
to use gexiv2_metadata_get_iso_speed instead
Remove use of deprecated functions for setting color
Switch to use gtk_widget_override_background_color
and gtk_widget_override_color functions for setting
status bar colours.
Remove use of GtkVBox class in control panel
Make the control panel class inherit from plain GtkBox
instead of the deprecated GtkVBox class.
Remove use of deprecated stock constants
Use plain strings instead of GTK_STOCK constants which
are now deprecated
2013-12-15 Daniel P. Berrange <dan@berrange.com>
Refresh translations from transifex
Ought to remember todo this *before* a new release next time.
Update for 0.5.4 release
Keep the progress/cancel toolbar permanently visible
The preview API for Canon cameras triggers progress bar
updates. Since previews are taken many times a second this
causes the progress bar to show/hide very frequently which
is unusable. Instead of showing/hiding toolbar controls
just keep them visible all the time and tweak sensitivity
when required
Fixes bug: #21246
Add some API docs with gir annotations
Fix leak of image when exiting preview mode
2013-11-27 Daniel P. Berrange <dan@berrange.com>
Fix bracket whitespace usage
Import bracket-spacing.pl script from libvirt for
validating the whitespace around brackets and semicolons
2013-11-24 Daniel P. Berrange <berrange@redhat.com>
Remove GTK2 compat code
Entangle is GTK3 only so we can remove the GTK2 compat code
from the auto-drawer related classes.
2013-11-24 Daniel P. Berrange <dan@berrange.com>
Move and rename auto-drawer classes
Move the auto-drawer classes into the main directory. Change the
naming convention to follow normal GTK practice.
2013-11-24 Daniel P. Berrange <berrange@redhat.com>
Improve ability to control manual focus
Make the , and . key accelerators to very fine grained
focus control (64 steps), and allow < and > to do coarse
grained focus control (512 steps)
Fixes bug #21101
Fix missing break in focus key accelerators
The switch block handling key accelerators was missing
break statements in the focus code. This focus out was
always cancelled out by a focus in.
Reduce intermediate layer opacity to 30%
To prevent previous images being washed out too quickly
reduce the opacity of intermediate layers to 30% instead
of 50%.
Fixes bug #21288
Increase opacity of top level image when onion skinning
Make the top level image stand out more by increasing the
opacity to 65% instead of 50%.
Fixes bug #21288
Remove unused variable in key release handler
2013-11-23 Daniel P. Berrange <berrange@redhat.com>
Introduce menu items for capture/preview
Add menu items for the capture/preview operations with visible
key shortcut accelerators. Remove the hand-crafted shortcut
code.
2013-11-19 Jehan <jehan@girinstud.io>
Fix onion skinning in preview mode.
The dimension of a preview are usually smaller than actual images.
We take care of this case by scaling buffers to the same size before
display.
Fixes bug #21254
2013-11-13 Jehan <jehan@girinstud.io>
Do not ever set empty tooltips on capture and preview buttons.
Fixes bug #21249
Display the currently selected image when cancelling preview.
Currently on preview cancel, the last preview image would keep displayed
until you select a thumbnail. Instead let's redisplay the currently
selected image directly.
Also prevent any race condition by not displaying a preview image if the
preview mode is already cancelled.
Fixes bug #21253
Onion skinning in preview mode should show start at the selected image.
Currently onion skinning adds the images *before* the selected one. But
in preview mode, it does not make sense. You want to start to layer from
the selected one, included.
Fixes bug #21255
Switch gexiv2 include to use gexiv2/gexiv2.h
The current pkg-config file for gexiv2 adds a cflag
of -I$prefix/gexiv2 but this is already broken, since
the gexiv2/gexiv2.h file includes other files using
a gexiv2/gexiv2-xxxx.h path. As such current releases
can only be used if installed in /usr which means the
default include path works. Future releases of gexiv2
fix the pkg-config file and will require use of
gexiv2/gexiv2.h
Fixes bug #21260
2013-11-01 Daniel P. Berrange <dan@berrange.com>
Move connect/disconnect item to dedicated menu
Create a top level "Camera" menu and move the "Connect
and "Disconnect" items to the new menu.
Rename all .xml files to .ui
Make all window classes inherit Gtk classes
Instead of having all the entangle window classes inherit
from GObject, make them inherit from the Gtk class that
corresponds to the type of window in the Gtk Builder file.
Use a hack whereby the Gtk Builder file primary window
class name is replaced by the entangle class name before
being loaded. Introduce a EntangleWindow class to handle
passing of the GtkBUilder object into the class for init
purposes.
2013-10-24 Daniel P. Berrange <berrange@redhat.com>
Add an appdata XML file for gnome software center
http://people.freedesktop.org/~hughsient/appdata/
2013-08-30 Daniel P. Berrange <berrange@redhat.com>
Don't use ::PACKAGE:: in desktop file
The executable name is not required to be the same as the autoconf
package name, so just hardcode 'entangle' in the desktop file.
Fix memory leak in generating image thumbnals
Fix code for generating thumbnails from raw files to not leak
reference count on pixbuf.
Ensure thumbnail directory exists
Before trying to save a thumbnail, ensure the cache directory
exists.
2013-08-28 Daniel P. Berrange <berrange@redhat.com>
Update for 0.5.3 release
Add note about release naming scheme
Hookup to readonly control state changes
Connect the frontend controls to the notify::readonly signal
to ensure that readonly state changes are propagated to the
UI controls
2013-08-27 Daniel P. Berrange <dan@berrange.com>
Fix thread safety of control update
The refresh of values for controls often runs in background
threads. This causes thread safety issues for the GTK controls
which connect to signals in this controls.
Fix variable names in EntangleImage class
s/picker/image/ in several methods
Fix memory leak in pixbuf loader
Previous commit fad10008099e015aba3bacc383345a210519bdbd
fixed a double unref in one scenario, but introduced a
memory leak in another scenario. The unref must be moved
inside the 'if (dest == src)' block to fix both problems.
2013-08-24 Daniel P. Berrange <dan@berrange.com>
Remove Encoding key from desktop file
The Encoding key is no longer required in desktop files, since
they are mandated to all use UTF-8
Fixes bug #20419
Switch to use gsettings autoconf rule
Switch to using the GLIB_GSETTINGS autoconf rule to create
the make rules. This adds a '--disable-schemas-compile'
arg to configure, which distro packagers should utilize.
Fixes bug #20223
2013-08-22 Daniel P. Berrange <berrange@redhat.com>
Re-position tooltip over items
Ensure the tooltip positions itself over the item that it
is related to
2013-08-22 Jesper Pedersen <jesper.pedersen@comcast.net>
Remove unused adjust_wrap_width method
The adjust_wrap_width method in the session browser no
longer does anything useful, since the filename was
removed. Delete the code.
Move file name to tooltip
To allow more room for the image, remove the filename from
the session browser and use a tooltip instead.
2013-08-17 Daniel P. Berrange <berrange@redhat.com>
Update to 0.5.2 release
Remove use of 'document_mode' field in raw file generation
LibRaw >= 0.15 has removed the 'document_mode' field, so we must
stop using it in Entangle. Fortunately it wasn't doing anything
important for us.
Remove trailing whitespace
Switch to automatically generated AUTHORS file
Refresh translations from transifex
2013-08-13 Daniel P. Berrange <berrange@redhat.com>
Make metadata query robust to missing metadata
To avoid displaying garbage when exif data is unset, change to
explicitly query whether the metadata tag is set before asking
for the value.
Ensure camera progress functions run in main thread
GTK APIs must only be used from the main thread, so the
camera progress functions must use an idle callback to
switch to the main thread.
Skip redraw of items without size allocated
In the session browser, it is possible for the item draw
routine to be invoked before a width/height has been set.
This makes pixman rather unhappy, so skip the drawing
operation in this case
Preserve scrollbar offsets when switching images
When cycling back & forth between images when auto-scale is
not set, preserve the scrollbar offsets.
Fix double unref of pixbuf when rotating
Re-arrange nesting of image display
To prevent the image statusbar being resized to fit in the image
scrolled window, re-arrange the nesting of image display. This
puts the statusbar outside the scrolled window.
Bug #20429
Fix args to gtk_grid_attach
2013-08-09 Daniel P. Berrange <dan@berrange.com>
Use GtkGrid instead of GtkTable if available
For GTK >= 3.2.0 we can use GtkGrid for layout instead
of the deprecated GtkTable
Remove use of deprecated GStaticMutex
The entangle_camera_is_mounted method can only be called
from the main thread now, so does not need mutex protection.
Fix enablement of -Werror
2013-07-09 Daniel P. Berrange <berrange@redhat.com>
Add README for translators
Direct translators towards Transifex
2013-07-08 Daniel P. Berrange <berrange@redhat.com>
Refresh translations from transifex
2013-04-24 Daniel P. Berrange <dan@berrange.com>
Ensure every event is emitted in main thread
Ensure that the pixbuf loader emits events in the main
thread, allowing all calls to gdk threads enter/leave
to be removed
Add note about 'h' key for histrogram mode toggle
Refresh translations from transifex
2013-04-24 Jesper Pedersen <jesper.pedersen@jboss.org>
Add support for linear histogram
Add a config option to allow switching between liner and
logarithmic histrogram rendering
2013-04-09 Daniel P. Berrange <dan@berrange.com>
Disable static libraries build
2013-04-09 Simon Booth <simon.booth@giric.com>
remove several unused variables. Fix variables initialised twice.
2013-04-02 Daniel P. Berrange <berrange@redhat.com>
Remove leftover g_printerr statements
2013-04-01 Daniel P. Berrange <berrange@redhat.com>
Refresh translations from transifex
Apply orientation from EXIF data to images
If GTK fails to apply any orientation data from the image file,
then fallback to applying orientation data from the exif
metadata block
Set prefs before loading session
Starting up the session was loaded before the preferences were
applied. Thus, the first image loaded would be processed using
the wrong settings.
2013-04-01 Jesper Pedersen <jesper.pedersen@jboss.org>
Try to extract preview/thumbnail from raw files
The exiv2 data stream doesn't always contain good thumbnails for
raw files. Try to extract a preview/thumbnail from the raw file
first, then try exiv2, and finally fallback to resizing the main
image
Set sane default values for processing raw files
Set some default parameters for libraw so that it processes files
using the typical camera defaults. This should give better results,
particularly with Canon raw files.
Ensure check for raw files is case insensitive
When checking the filename extension to identify raw files, convert
the filename to lowercase first, to ensure the check is case
insensitive
Only import known image extension in the session
Instead of importing all files to a session, only import files
whose extension is found in a whitelist. This ensures we only
get image files loaded
Fix aperture and shutter speed metadata in status bar
Split histogram into RGB colour channels
Instead of drawing a single histogram for the overall intensity,
draw separate graphs for each RGB colour channel. Also draw a
small 4x4 grid overlay.
2013-03-12 Daniel P. Berrange <dan@berrange.com>
Update for 0.5.1 release
Refresh translations from transifex
2013-03-02 Daniel P. Berrange <berrange@redhat.com>
Refresh translations from transifex
2013-03-02 Cristian Marchi <cri.penta@gmail.com>
Add initial Italian translation
Add missing translation markers on some strings
2013-02-22 Daniel P. Berrange <dan@berrange.com>
Add support for manual focus control during preview
Add support for autofocus during preview
End preview by toggling viewfinder action
If possible, use the view finder control to turn off preview
mode, otherwise fallback to cpaturing an image
Remove left over variable from gphoto 2.5 compat fix
Remove debug line
Add method to query if viewfinder control is possible
Fix previous methods for autofocus/manualfocus/viewfinder control
Filter control sections when loading instead of displaying
Make EntangleCamera filter the sections, instead of the
EntangleControlPanel, since some sections are getting formal
APIs in the camera class
Add APIs for viewfinder/autofocus/manualfocus control
2013-02-21 Daniel P. Berrange <berrange@redhat.com>
Avoid warnings about deprecated mutex/condition var functions
In recent glib2 releases several mutex/condition var functions
are deprecated. Add some macro wrappers to avoid the warnings
Conditionally use new style gphoto callbacks
In gphoto >= 2.5 many callbacks changed from 'char *fmt, va_args *'
to just 'char *msg'. Conditionally use the right signature based
on version
2012-12-16 Daniel P. Berrange <berrange@redhat.com>
Update for 0.5.0 release
Fix man page target name
Fix docs generation
Add LibRaw to list of deps in README
Refresh translations
Add hack to delete both images when exiting preview
Since there is no way to exit preview mode, we must take a
shot and then delete it. If the capture mode is raw+jpeg
we must take care to delete both images that are captured
Fix session filename generation to cope with dual-format capture
When the camera captures raw+jpeg formats at the same time, both
images must be saved with the same filename prefix
Rewrite overlay display to be more efficient
Instead of creating one cairo surface per image and overlaying
them during the draw event, overlay the images directly into a
single cairo surface.
2012-12-09 Daniel P. Berrange <berrange@redhat.com>
Tweak debugging in event logging
Fix updating of range controls
Fix typo which continually reset range controls back to their
original value
2012-12-05 Daniel P. Berrange <berrange@redhat.com>
Add support for onion skin preferences
Add ability to render an "onion skin" from a list of images
Extend the image display widget to take a list of images. Then
render an "onion skin" overlay with partial opacity. In the
case of a list with 1 entry, the behaviour is as before.
Change way image pixbufs are cleared
Instead of trying to track which image is used in popups,
just make use of the ref counting in the image loader. Add
"unload" signals to the image loader to enable detection
of when last use is released.
Sort images by name instead of modified date
Ensure camera is disconnected on window close/app exit
When hiding a camera manager window, disassociate the
camera, so it gets closed cleanly, otherwise some Canon
cameras will hang.
2012-11-28 Daniel P. Berrange <berrange@redhat.com>
Reindent to normalize whitespace
2012-11-22 Daniel P. Berrange <berrange@redhat.com>
Fix deadlock unmounting camera at startup
The startup code should be using gdk_threads_{enter,leave}
since we make use of threads. When umounting a camera we
entered a recursive main loop. This caused GDK to try to
unlock a mutex that was never locked, corrupting mutex
state. The result was a later hang next time GDK tried to
lock the mutex.
We can't acquire the mutex in the activate callback, since
that can be called from scenarios where the lock is already
held. Thus we move our code into the startup method instead
and just make activate do a window show.
2012-11-21 Daniel P. Berrange <berrange@redhat.com>
Fix mistake in function prototype name
2012-09-18 Daniel P. Berrange <berrange@redhat.com>
Refresh translations
2012-09-16 Daniel P. Berrange <berrange@redhat.com>
Add preference to control use of embedded image preview for raw files
Load raw files using LibRaw
Add support for using LibRaw to load raw files. Use the
embedded preview, rather than processing the entire RAW
data.
Add some more comments to thumbnail loader code
2012-09-12 Daniel P. Berrange <berrange@redhat.com>
Fix typo in man page name
2012-09-06 Daniel P. Berrange <berrange@redhat.com>
Update NEWS for 0.4.1 release
Allow camera to be NULL
Re-add 9a977e23d9f399b8ae2afab98cddec0022e5a276 accidentally
reverted
Remove bogus assertion check
Control histogram height to match default icon panel height
Use 'src' from finish callback, since priv->camera might be NULL
When saving camera controls using an async callback, make sure the
callback uses the passed in 'src' parameter instead of relying on
priv->camera which may now be NULL
Allow camera to be NULL in control panel
Avoid GTK assertion if min=max
The GTK range widgets can't cope with the (entirely reasonable)
scenario where the min value == max value. Hack a workaround for
this by increasing the max value by 1.0 and setting the control
readonly instead
2012-09-02 Daniel P. Berrange <berrange@redhat.com>
Fix unref of cairo surface object in image display
Add accelerators for menu options
Add further protection in API calls
2012-09-01 Daniel P. Berrange <berrange@redhat.com>
Add man page and a few misc fixes
Add a man page based on the one in bug 20061
Add g_return_if_fail checks to various methods in frontend code
Remove tabs from previous commit
Create display of supported camera models
Use gphoto to object a list of supported cameras and introduce
a new dialog for showing them. Fixes bug #19953
Remove obsolete GTK 2.x conditionals
Since we require GTK >= 3.0, we can remove conditionals based
on GTK 2.x
Fix build on GTK < 3.4
The GDK_SCROLL_SMOOTH constant is only available in GTK >= 3.4
Bug #19918
Rename 'index' variable to 'idx' to avoid symbol clash
There is a global function called 'index' in some headers, so
local variables should not use the same name. Bug #19918
Change gfloat to gdouble in image display
There is some inconsistent use of gfloat vs gdouble in files.
Switch to using gdouble in the image display to address this.
Bug #20122
Fix some data types to use the glib variants
Fix aspect ratio string->double conversion to be locale-indepedent
The strtod() function has variable meaning for '.' according to
the locale. This caused the aspect ratio conversions to go wrong.
Switch to using g_ascii_strtod() instead. Bug #19929
2012-08-31 Daniel P. Berrange <berrange@redhat.com>
Add object type checking to all backend public APIs
2012-08-30 Daniel P. Berrange <berrange@redhat.com>
Add missing include of locale.h
Fix memory handling when updating plugins
2012-08-16 Daniel P. Berrange <berrange@redhat.com>
Maintain plugin list in preferences & load them on startup
Introduce a new preference which stores the list of plugins
which are loaded. Use the PeasGtkPluginEngine widget to allow
the user to enable/disable plugins
Load Peas introspection data
The Peas library requires that its GObject Introspection metadata
is loaded prior to searching for plugins
2012-08-16 Daniel P. Berrange <dan@berrange.com>
Add support for displaying an image histogram in the control panel
The control panel is changed to be always visible even when no
camera is connected. This is to allow it to display the histogram
for the selected image
2012-08-12 Daniel P. Berrange <berrange@redhat.com>
Don't clear image pixbuf while a popup is still open
Ensure popup-close signal is always invoked in all code paths
Fix drag popup when image is already selected
If the image was already selected in the session browser, then
a drag would not be initialized.
Use key press handler in session browser
If the key release handler is used in session browser for
procesing keys, then some parent handler might take action
based on the key press event before we get a chance to
Fix widget leak when closing image popup
When the EntangleImagePopup class was unref'd the GtkWindow
still remained in existance. Fix this by destroying the window
in the popup finalize method
Fix memory leak when displaying image popup
If the image already has an active popup, attempting to display
it again will leak a reference count
Keep toolbar dir in sync with current session dir
Close all image popups when changing session
Clear cached image pixbuf when unselecting image
When the current image is selected, set its pixbuf to NULL
2012-07-08 Daniel P. Berrange <dan@berrange.com>
Ensure RPM builds are verbose
Add mouse scroll support to session browser widget
Fix return type of mouse press handler
Release 0.4.0
Add missing RPM BR on intltool. Remove duplicate image
Refresh translations
Fix syntax check errors
Add custom icons for capture/preview
Introduce custom icons for capture & preview buttons
Add ability to synchronize shooting between windows
Move the 'New window' menu item to a new "Windows" menu,
and introduce a "Synchronize windows" menu item to sync
capture and preview
Re-enable drag for popups
Re-enable code for D-N-D creation of image popups
Add popup menu in session browser
Add a popup menu in the session browser which can be used for
deleteing unwanted images, and opening images in external
applications
Merge 'new session' and 'open session' into 'select session'
Since the "Open Folder" widget is capable of creating folders,
there is no compelling reason for a separate "New folder"
widget. Merge them into one and use a popup menu in the
toolbar for selecting folder
Add grid lines mode quarters
Add another grid lines mode splitting the screen into quarters
Add missing property handling
Fix missing property handling for 'img-mask-enabled'
Enable rendering of focus point / grid lines during preview
Honour the preferences for focus point / grid lines during
preview mode
preferences for focus point / grid lines
Add preferences to control whether the focus point and grid
lines are displayed during preview mode
Add ability to draw grid lines in image display
Enhance EntangleImageDisplay to enable it to rendere a set
of grid liens, using various different policies
Add ability to draw a focus point in the image display
Enhance the EntangleImageDisplay widget to render a center
focus point square
2012-07-02 Daniel P. Berrange <dan@berrange.com>
Add ability to blank screen while capturing images
Add a new preference to control screen blanking. If enabled,
the screen will be blanked via DPMS Standby mode while the
image is captured, and unblanked afterwards. Any mouse or
keyboard movement will also unblank the screen early.
Add APIs for screen blanking via X11 DPMS extension
Fix two horrible memory leaks of EntangleImage
The preview code would leak every single frame captured during
preview.
The browser code would leak every single image in each folder
opened
Update RPM spec to add new images
2012-07-01 Daniel P. Berrange <dan@berrange.com>
Fix misc syntax-check problems
Add missing imageviewer icons
Rewrite session browser widget
Stop playing hacks with the GtkIconView class since it is
frequently breaking and does not render in the desired style
Replace with a custom written widget, derived from the
GtkIconView code, but set to only render everything in
one single row
Fix update of mask opacity property
Fix type of aspect ratio property
The aspect ratio property was mistakenly declared as an int
instead of a string.
Don't fill thumbnail edges with black
Set thumbnail edges to be transparent to allow widget
background colour to show
Ensure UI updates when aspect ratio preferences are changed
Allow aspect ratio mask to be toggled on/off more easily
Instead of overloading the 'aspect-ratio' preference to '' to
signify disabled mask, use an explicit 'mask-enabled' pref.
Also allow the key 'm' to toggle it on/off
Add some key shortcuts for common operations
Allow use of keys
- 's' - trigger the shutter
- 'p' - toggle 'live view' preview
- 'esc' - cancel the current operation
2012-06-21 Daniel P. Berrange <dan@berrange.com>
Fix notification of preference changes
Add preferences for configuring image mask aspect ratio
Add preferences for setting aspect ratio for image mask,
and its opacity. Also add UI for controlling it
2012-06-19 Daniel P. Berrange <dan@berrange.com>
Extend EntangleImageDisplay to support aspect ratio masks
Allow the image display to mask off the borders of the displayed
image to simulate cropping to an alternate aspect ratio
2012-04-30 Daniel P. Berrange <dan@berrange.com>
Add preference for auto-connect of cameras
Allow automatic connection at startup to be disabled via
a preference. Also rename 'folders' to 'capture' in glade
Auto-connect to all cameras on startup
2012-04-25 Daniel P. Berrange <dan@berrange.com>
Add support for multiple windows
Rename EntangleContext to EntangleApplication
Nothing in the backend needs to the EntangleContext, so
rename it to EntangleApplication and make it subclass
GtkApplication
Move camera list population code out of EntangleContext
Update file header comments
Properly use GtkApplication by registering windows
Add missing impl of entangle_context_get_application
Update for 0.3.3 release
Remove tabs & exclude .icc files from whitespace check
Fix test for glib-compile-schemas
We can't assume pkg-config gives us back the fully qualfied
path for glib-compile-schemas, it might just be the binary
name
Add new translation files
2012-04-25 Daniel P. Berrange <berrange@redhat.com>
Refresh translations
2012-04-16 Daniel P. Berrange <berrange@redhat.com>
Add --system arg support to autogen.sh
Fix compat with glib < 2.32
2012-04-16 Daniel P. Berrange <dan@berrange.com>
Re-enable double buffering of image display widget to avoid flickr in preview mode
Fix construction of session browser
The GtkIconView class does certain stuff in a constructor rather
than its init method. Thus we need to override the latter to avoid
out of order initialization of the icon view parent
Fix debugging with newer glib which doesn't enable debug by default
Remove use of deprecated style/size APIs in ovBox
Replace gtk_main_quit with g_application_quit
Replace usage of gdk_display_get_pointer API
Replace gtk_widget_get_pointer API usage
Replace box with hbox widget
Replace gdk_cursor_unref with g_object_unref
Replace vbox with box and hscale with scale widgets
Remove calls to gdk lock/unlock when running application
GtkApplication takes care of automatically locking/unlocking
the GDK global mutex when required. Thus we should not be
holding the GDK lock when invoking g_application_run
Replace gdk_pixbuf_unref with g_object_unref
Reported-by: Glenn Greenfield <glenn.greenfield@gmail.com>
2012-04-04 Daniel P. Berrange <berrange@redhat.com>
Only enable -Werror on builds from GIT
2012-04-03 Daniel P. Berrange <dan@berrange.com>
Update for 0.3.2 release
Refresh translations
2012-04-01 Daniel P. Berrange <berrange@redhat.com>
Include translations in RPM
Refresh translations
Mark New Session & Open Session menu labels for translation
Cleanup indentation
2012-04-01 Daniel P. Berrange <dan@berrange.com>
Add _(...) around all translatable strings
2012-02-16 Daniel P. Berrange <dan@berrange.com>
Mark license & website as non-translatable & refresh po files
2012-02-16 Daniel P. Berrange <berrange@redhat.com>
Add transifex configuration file
Import initial translations
2012-02-15 Daniel P. Berrange <dan@berrange.com>
Update git ignore files
Add missing m4 macros for compile warnings
2012-02-15 Daniel P. Berrange <berrange@redhat.com>
Initial pot file
Import GNULIB syntax check rules
Add trailing blanks
Add missing <config.h>
Remove redundant const
Add GtkBuilder files to POTFILES.in
Remove 'the the' typo
Tweak copyright line
Update AUTHORS file & set a mailmap
Set locale at startup
Death to all TABs
Add basics for i18n
2012-02-13 Daniel P. Berrange <dan@berrange.com>
Release 0.3.1
Update copyright dates
Add workaround for missing GSettings schemas during startup
2012-02-12 Daniel P. Berrange <dan@berrange.com>
Fix initial control panel sensitivity
Avoid running multiple event monitoring threads
Fix thread locking in status bar hide
Avoid infinite loop of preview errors
Avoid double-free of GError after connect failure
Fix some crashes during camera disconnect
Use a dedicated struct to store task info
2012-02-10 Daniel P. Berrange <dan@berrange.com>
Rename async method handlers to use a _finish prefix
Switch over to GNULIBs compiler warning system
Fix misc compile warnings
Fix NULL pointer updating widget sensitivity
Readd AC_OUTPUT, accidentally removed earlier
Remove compiled schema file in RPM install
2012-01-11 Daniel P. Berrange <berrange@redhat.com>
Update README notes
2011-12-05 Daniel P. Berrange <dan@berrange.com>
Add explicit test for glib-compile-schemas & install schemas
Add a test for glib-compile-schemas existing, since some people
may have the pkg-config file, but not the binary. Also add a
warning about the install location
Cleanup pkg config checks in configure.ac & fix peas variables
2011-12-05 Daniel P. Berrange <berrange@redhat.com>
Fix crash in handling combo lists where option is NULL
2011-11-28 Daniel P. Berrange <berrange@redhat.com>
Update for 0.3.0 release
Require gphoto2 >= 2.4.11 since earlier versions are buggy
Remove explicit include of glib/gthread.h
Rewrite session loading using GIO & filter non-file types
Add autobuild extra_release in RPM release field
Fix paths for loading XML builder files
Switch to automatically generate sections with gtk-doc
Update news file with info about forthcoming release
2011-11-27 Daniel P. Berrange <dan@berrange.com>
Fix thread locking when updating controls
Workaround 100% cpu burn due to GVolumeMonitor object unref
Wire up support for refreshing settings from camera
Make control refresh/load & camera connect/disconnect async
Don't clear image display when disconnecting camera
Avoid deadlock on camera disconnect & reset meter
2011-11-26 Daniel P. Berrange <dan@berrange.com>
Tweak styling of control panel
Add preferences for continuous preview & non-delete of files
Rework the way settings are handled
Remove the "picture folder" setting, adding a "last session"
parameter which is preserved across restarts. Add setters for
all preferences.
2011-11-22 Daniel P. Berrange <dan@berrange.com>
Fix deadlock updating controls while progress update is occuring
Update camera info dialog & remove resize grip
Change display of control panel
Fix locking when updating controls
Remove camera actions and other PTP properties to make UI more practical
Remove info hint from image display which duplicates metadata display
Add display of metadata for selected image
Integrate with GExiv2 to extract metadata
2011-11-20 Daniel P. Berrange <dan@berrange.com>
Setup transient window hints
Remove EntangleAppDisplay class and rename EntangleApp to EntangleContext
Remove obsolete deps from RPM spec
Fix leaks in preferences code & initialization of RGB path
Remove HAL support & make peas/introspection compulsory
Convert from GConf to GSettings
2011-11-17 Daniel P. Berrange <dan@berrange.com>
Fix locking when updating controls
Change to perform continuous monitoring and expose preview button
Fix thread safety when creating color transforms
Fix crash destroying camera object after disconnecting
Remove camera schedular classes
Remove camera scheduler from control panel
Replace use of camera schedular with async calls
Add async versions of preview/capture APIs & convert tasks to async capture
Add async variant of camera file delete method & use in tasks
Don't send preview images through pixbuf loaders
* backend/entangle-pixbuf-loader.c: Reject requests to handle
images without a filename
* frontend/entangle-camera-manager.c: Don't send preview images
through pixbuf loaders
Revert 26f0c06dc1d817c2f01e6cc5f09e23636eac44d0
Don't set a fake filename for in-memory images
Remove leftover debug
Convert camera file download to an async method
Replace job condition with a job mutex for greater fairness
2011-11-15 Daniel P. Berrange <dan@berrange.com>
Fix check for local copy of sRGB.icc
Make colour profile class threadsafe and avoid crash if loading profile fails
2011-10-10 Daniel P. Berrange <dan@berrange.com>
Add mutex locking to EntangleCamera
To avoid for safer multithreaded access, introduce a mutex to
prevent EntangleCamera. When calling into slow gphoto APIs,
drop the mutex, but keep a job lock via a condition variable
Ensure EntangleImage always has a non-NLL filename
To avoid crashes in the pixbuf loader in preview mode, ensure
that the image always has a non-null filename
Add GError arg to entangle_camera_connect
2011-08-22 Daniel P. Berrange <berrange@redhat.com>
Add note about the license & source of the logo file
The logo was obtained from
http://www.openclipart.org/detail/20295/camera-lens-by-rg1024-20295
which Open Clip Art makes available under the public domain
https://creativecommons.org/publicdomain/zero/1.0/
2011-06-28 Daniel P. Berrange <dan@berrange.com>
Convert from Glade to GtkBuilder
Convert code fromm GTK2 to GTK3
Update to replace all APIS removed in GTK2.
Replace use of libunique/startup with GtkApplication
2011-02-14 Daniel P. Berrange <berrange@redhat.com>
Fixes to ensure it builds when GTK is sealed
2011-02-11 Daniel P. Berrange <dan@berrange.com>
Refactor image loading code to allow easier access to pixbuf
Directly associate the loaded GdkPixbuf with the EntangleImage
object. This allows multiple UI widget to directly access the
pixbuf without all of them needing to know about the
EntangleImageLoader class. The EntangleCameraManager class
is now in charge of loading/unloading the pixbufs
2011-02-04 Daniel P. Berrange <dan@berrange.com>
Acquire GDK lock before processing camera disconnect
The camera-removed signal is emitted without GDK locks held.
* frontend/entangle-app-display.c: Hold GDK lock before
disconnecting camera from UI
Avoid crash on camera disconnect
The camera schedular thread make continue to run for a short
while after setting the 'quit' flag. Use a condition variable
to ensure we wait until it has shutdown before closing the
camera
* backend/entangle-camera-scheduler.c: Wait for thread to finish
before returning
* frontend/entangle-camera-manager.c: Release GDK lock before
disconnecting camera to avoid deadlock
2010-10-06 Daniel P. Berrange <berrange@redhat.com>
Update to cope with cameras which have no controls
Some camera drivers claim to support controls, but then don't
return any. This updates the UI code to cope with this situation
instead of crashing
* frontend/entangle-camera-manager.c: Hide controls panel
and disable settings menu/toolbutton if no controls are
available
* frontend/entangle-control-panel.c,
frontend/entangle-control-panel.h: Export a property if
there are any visible controls
2010-09-19 Daniel P. Berrange <dan@berrange.com>
Remove website which is now hosted under wordpress
2010-09-17 Daniel P. Berrange <berrange@redhat.com>
Update for 0.2.0 release
* NEWS: Notes about major changes
* configure.ac: Update version number
Update to require libpeas 0.5.5
* configure.ac: Update to 0.5.5 peas, s/peas-ui/peas-gtk/
* entangle.spec.in: Require libpeas-devel >= 0.5.5
* src/backend/entangle-app.c,
src/backend/entangle-app.c: API changes for libpeas 0.5.5
2010-09-15 Daniel P. Berrange <dan@berrange.com>
Ensure filename extension is always lowercase
Some cameras return an uppercase filename. Convert to lowercase
at all times
Add support for unmounting camera when connecting
Use GIO to unmount the camera if it is in use by gvfs.
2010-09-14 Daniel P. Berrange <berrange@redhat.com>
Remove EntangleParams class that required GPhoto gir hack
The GPhoto-2.0.gir hack is required because EntangleParams
exposes some libgphoto2 typedefs in a public struct. By
removing this class and moving the objects into the private
impl, the GIR hack is no longer required
Port over to use libpeas for plugins
Remove all custom plugin handling code. Replace with (optional)
use of libpeas.
2010-07-22 Daniel P. Berrange <dan@berrange.com>
Adapt to cope with cameras which don't support events
The non-PTP drivers do not support event notifications. Adapt the
event flush/wait code to avoid failing in these scenarios, since
capture still works fine
2010-07-19 Daniel P. Berrange <berrange@redhat.com>
Use GError APis for reporting capture failure
Wire up GError for capture, preview, download, delete and event
wait operations. Display error to user if task fails. Log all
gphoto detailed error messages.
Fix infinite loop waiting for events
Fix an unknown event occurs the loop could potentially go on
forever. Track wallclock time to ensure an absolute upper
bound on waiting for events
Set worker to NULL when exiting
When the worker thread exits it is important to set priv->worker
to NULL to ensure other methods see it is not running
2010-06-13 Daniel P. Berrange <berrange@redhat.com>
Make a sane implementation of the preview function
Replace the 'cancelled' method on the progress interface, with
a GInterface. Add a 'confirmable' GInterface. Re-write the
preview task to use the confirmable interface to trigger
capture. Fixup exiting of live view when cancelling preview.
Disable image hint when fullscreen mode
2010-06-07 Thilo Bangert <thilo@bangert.dk>
Fix DESTDIR handling in install-data-local rule
2010-06-07 Daniel P. Berrange <berrange@redhat.com>
Fix assumption about some udev parameters always being present
If certain udev parameters were missing (aka NULL) then the
device monitor code would crash with a NULL pointer dereference.
Ignore any events where one of our desired parameters is NULL
to avoid crashing
Update RPM spec with feedback from Fedora review
2010-04-08 Daniel Berrange <berrange@localhost.localdomain>
Add link to download area
Bump release to 0.1.0 & other release prep work
* AUTHORS, NEWS: Fill out basic info.
* Makefile.am, gitlog-to-changelog: Setup ChangeLog to be
autogenerated from GIT logs.
* configure.ac Bump release to 0.1.0
Fix tagline in about dialog
Fix bug in thread locking upon error scenarios
When breaking out of the task loop it is neccesary to reacquire the
lock.
2010-04-07 Daniel Berrange <berrange@t500wlan.home.berrange.com>
Fix hang when changing configuration values
The camera schedular thread runs continuously in the background
waiting for events. It is thus neccessary to pause this background
thread whenever updating a control value in the foreground thread.
2010-04-05 Daniel Berrange <berrange@localhost.localdomain>
Add filename labels in session browser & image info popup
Fix thumbnail orientation
Fix logic bug that broke thumbnail resizing
Set widget readonly state on camera controls
GPhoto now has an API for discovering whether a camera control
is readonly. This can be used to set the GTK widget to be non
sensitive
2010-04-04 Daniel Berrange <berrange@localhost.localdomain>
Rewrite filename generation code to preserve original extension
Rewrite the session filename generation code to preserve the
original filename extension as provided by the camera/gphoto.
ie stop giving raw files a .jpeg extension !
Add & ignore GP_EVENT_CAPTURE_COMPLETE to prevent bogus failures
2010-04-02 Daniel Berrange <berrange@localhost.localdomain>
Allow presentation mode to set monitor to diplay on
The view menu gets popupulated with a list of named monitors in
the screen. The presentation mode can be switched between the
different monitors. Fullscreen also now hides the menubar
2010-03-31 Daniel Berrange <berrange@localhost.localdomain>
Add a real presentation mode
Add a real presentation mode where the only thing visible is the image
display window, in fullscreen.
Use proper glib API for finding user pictures directory
Port to gudev library
Use the gudev library for monitoring devices in preference to
HAL, where available
Fix 100% cpu loop on camera disconnect & potential crash
When the camera disconnects care must be taken that all camera
functions return false and not try to access a NULL gphoto camera
object. The background event loop must also check for a disconnected
camera and not spin 100% cpu waiting for events that will never
arrive
Fix thread safety in task-end callback & disconnect camera
The task-end callback invokes GTK functions and is emitted from
a background thread, thus it must be protected by the GDK threads
lock.
When the camera is removed from the camera manager, the camera
must be switched to disconnected state
2010-03-30 Daniel Berrange <berrange@localhost.localdomain>
Rename Capa -> Entangle
Renaming the project from "Capa" to "Entangle". This renames all
files with 'capa' in the name, and changes all source code symbols
and strings to match.
2010-03-18 Daniel P. Berrange <berrange@redhat.com>
Add cast from gsize to int to avoid printf warning
2010-03-15 Daniel P. Berrange <berrange@redhat.com>
Readd port property mistakenly removed
2010-03-14 Daniel P. Berrange <berrange@redhat.com>
Add initial impl of gconf configuration store
2010-03-13 Daniel P. Berrange <berrange@redhat.com>
Add setters/getters for control panel, session browser & camera manager objects
2010-03-12 Daniel P. Berrange <berrange@redhat.com>
Remove all unneccessary G_OBJECT casts
Add getter/setters for image display object properties
Add setter for camera file mimetype
Add setters/getters for camera info object
Add setters/getters to pixbuf loader object
Add getter & setter for camera progress property
Standard naming convention for "getters" on camera class
Cache camera docs to avoid possible thread race condition
The gphoto library must only be used from one thread at once for
absolute safety, so camera driver/manual/summary strings should
be cached just in case
Fix session changing code
The session changing code was setting a property which no longer
exists on the camera class
2010-03-06 Daniel P. Berrange <berrange@redhat.com>
Fix printf format specifier
Basic framework for new config management system
* backend/capa-config-entry.h, backend/capa-config-entry.c: Object
for a single configuration value
* backend/capa-config-set.h, backend/capa-config-set.c: Object for
a group of configuration values
* backend/capa-config-store.c, backend/capa-config-store.c: Backing
store for all configuration values
2010-02-15 Daniel P. Berrange <berrange@redhat.com>
Switch capture/preview/monitor over to scheduler task & rip out old code
The old threads code from the camera class is ripped out. The camera
manager frontend now triggers all operations via the new camera
scheduler object.
Add progress debug logging on control building process
Fix typo in object class name
Camera execution script and task system
To make the capture process more flexible, the hardcoded preview,
monitor & capture threads need to be moved out of the camera
class. This commit introduces a general purpose camera scheduler
that runs in a background thread monitoring for events. It then
accepts queuing of tasks to execute. Tasks are provided for the
basic operations.
2010-02-14 Daniel P. Berrange <berrange@redhat.com>
Refactor camera capture routines to prepare for scripts
Introduce an explicit object for representing a file on the camera.
Separate out methods for capturing, downloading & deleting files
from the camera. Rewrite existing background threads to use the
new APIs.
2010-01-13 Daniel P. Berrange <berrange@redhat.com>
Don't abort monitoring when getting an unexpected event
2010-01-12 berrange <berrange@dhcp-0-224.camlab.fab.redhat.com>
Ignore Makefile.am file
2010-01-12 Daniel P. Berrange <berrange@redhat.com>
Merge CapaPluginBase into CapaPlugin inteface
The CapaPlugin interface was not serving any useful purpose. This
change merges the CapaPluginBase abstract class into CapaPlugin
removing the interface
2010-01-11 Daniel P. Berrange <berrange@redhat.com>
Fix gint64 printf format specifier for x86_64
Can't assume that gint64 format specific is %llu on x86_64. GLib
provides a portable macro G_GUINT64_FORMAT so use that instead.
2010-01-10 Daniel P. Berrange <berrange@redhat.com>
Rename all source files added 'capa-' prefix
Avoid potential include file namespace problems by adding a 'capa-'
prefix to all source files
Integrate with gtk-doc for API reference generation
Remove auto-generated INSTALL file
Move debug variables out of main.c into separate debug.c
In order for gtk-doc to link to the library for scanning, it is
neccessary to move the debug flags into a separate file.
Rename some methods in CapaApp and annotate for introspection data
The introspection transfer mode was incorrect for methods in
CapaApp, so they had to be annotated. The getters are also renamed
to add 'get_' prefix.
2010-01-09 Daniel P. Berrange <berrange@redhat.com>
Turn off colour profile debugging
2010-01-03 Daniel P. Berrange <berrange@redhat.com>
Pass the 'CapaPlugin' instance to the plugin activate methods
The plugin may need to know its base directory in order to load
other assets such as images. To allow for this, it is neccessary
to pass the CapaPlugin instance into the plugin's activate/deactive
methods
Switch UI out of operation mode when camera is removed
The current camera may be removed from the manager window while an
operation is in progress (particularly when monitoring for new images
in the background). In this case it is neccessary to toggle the
'inOperation' flag to update the UI
Remove obsolete, unused 'camera-progress' window definition
The camera progress window was removed in a previous commit, the
progress display being incorporated into the main manager window.
The glade definition of the 'camera-progress' window is thus
obsolete & unused.
Fix crash in background thread when progress monitor is removed
When disconnecting the UI from a camera, there may still be a
background job active using the progress monitor. Therefore it
is neccessary to include checks for NULL on the progress object
Disconnect camera from display when camera is removed
When a camera is removed, and it matches the camera currently opened
in the display, it must be removed, disabling the UI.
Make 'CapaAppDisplay' inherit from 'CapaApp'
The plugins get given a handle to a 'CapaApp' instance. By making
the CapaAppDisplay type inherit from 'CapaApp', they can get access
to the UI objects
Clarify warning text when camera cannot be connected to
Fix missing word in camera picker warning message
* src/capa.glade: Add missing 'when' in warning message
2009-12-29 Daniel P. Berrange <berrange@redhat.com>
Include a relative timestamp in log messages
Basic UI for plugin preferences / management
2009-12-28 Daniel P. Berrange <berrange@redhat.com>
Javascript plugins based on GJS runtime
Rename GIR data to use initial caps as per GObject standards
Preliminary plugin script with dlopen()
2009-12-12 Daniel P. Berrange <berrange@redhat.com>
Update screenshots to reflect current UI design
2009-12-06 Daniel P. Berrange <berrange@redhat.com>
Update the website content to match current reality
Re-order buttons on toolbar to move important ones to the left
Merge capture/preview/monitor tool buttons into one
Declutter the toolbar slightly by merging the separate buttons for
capture/preview/montior into one button with a drop down menu. This
will also allow scripts to populate the menu with other options
like timed/sequenced shooting
Pull the progress display into the toolbar instead of popup window
2009-12-05 Daniel P. Berrange <berrange@redhat.com>
Misc enhancements to colour management
* Auto-rebuild colour transform when preferences change
* Fix crash when a profile is NULL
* Honour requested rendering intent
Auto apply any orientation info when displaying images/thumbnails
2009-12-04 Daniel P. Berrange <berrange@redhat.com>
Fix build ordering dependancy for generated enums
Remove obsolete comment and class variable
Introduce an async thumbnail loader
Subclass pixbuf loader to provide a thumbnail loader. Attempts to
following the thumbnail spec for caching thumbnails
http://jens.triq.net/thumbnail-spec/index.html
Pull most of image loader out into a abstract pixbuf loader base
Introduce a CapaPixbufLoader base class which does most of the
image loading work. This will allow a subclass for doing thumbnail
generation/loading to reuse most functionality.
2009-12-02 Daniel P. Berrange <berrange@redhat.com>
Integrate with libunique to ensure we're always a single-instance app
Integrate with startup notification library
Turn camera manager window into a singleton
Always display the camera manager window, even if no camera is
present. Fix bugs in disconnecting from camera.
Automatically connect to the camera if exactly one is found
If there is only a choice of one single camera, then we will
automatically connect to it when starting up,instead of showing
the camera picker dialog.
2009-11-29 Daniel P. Berrange <berrange@redhat.com>
Introduce a background image loader for main image display
Use a thread pool to load images in the background without blocking
the main UI. Wire the thread loader into the main image display
panel
2009-11-28 Daniel P. Berrange <berrange@redhat.com>
Wire up preferences to GConf for persistent storage
Apply changes to preferences from editor form
Add missing ref count in previous commit
Apply colour profile transform according to configured preferences
2009-11-27 Daniel P. Berrange <berrange@redhat.com>
Tiny whitespace tweak
Create a preferences dialog
2009-11-09 Daniel P. Berrange <berrange@redhat.com>
Initial support for ICC profile conversion of images when displayed
Adds basic support for applying ICC profiles to captured images
when displayed in the main image viewer. Needs to be hooked up
to preferences to control rendering intent and ICC filenames
* capa.spec.in: Add BuildRequires: lcms-devel
* configure.ac: Add pkgconfig check for lcms
* src/Makefile.am: Add lcms linker/cflags
* src/backend/colour-profile.c, src/backend/colour-profile.h: Add
an object for representing a colour profile
* src/frontend/camera-manager.c: Quick nasty hack to apply a profile
2009-10-20 Daniel P. Berrange <berrange@redhat.com>
Really fix threading issues
* src/backend/camera.h, src/backend/camera.c: Add thread funcs
to be registered, and call when emitting signals froma thread.
Remove idle func hack which was useless
* src/frontend/camera-manager.c: Register gdk thread funcs with
camera class.
* src/main.c: Enter threads before running main loop
Auto-select latest image in session browser
* src/frontend/session-browser.c: Automatically select the latest
image added to list
2009-10-20 Daniel Berrange <berrange@minilan.home.berrange.com>
Fix XML comment syntax
* src/gphoto-2.0.gir: Fix comment syntax
2009-10-19 Daniel P. Berrange <berrange@redhat.com>
Use a server-side pixmap for image display to make expose events fast
Rendering directly from a client side pixbuf made for very slow expose
events. Use a pixmap to cache the data for fast rendering
* frontend/image-display.c: Add a pixmap cache
2009-10-19 Daniel Berrange <berrange@minilan.home.berrange.com>
Add GObject introspection support
* capa.spec.in: Add deps on gobject-introspection-devel,
gir-repository-devel
* configure.ac: Check for gobject introspection
* src/Makefile.am: Add rules for building tpyelib/gir data
* src/main.c: Add --introspect-dump arg
* src/gphoto-2.0.gir: Add stub for gphoto2 structs
2009-10-19 Daniel P. Berrange <berrange@redhat.com>
Remove all polaroids when closing camera window
2009-10-18 Daniel P. Berrange <berrange@redhat.com>
Move capa_session_add call to a idle func to avoid thread safety problem
Add missing ref count increment on preferences class
Refresh session browser when changing camera session
Kill all tabs, mass ident & add emacs magic to prevent their return
Turn CapaApp into a proper GObject class
Change to use a toggle button/menu for showing/hiding camera settings
Wire up new/open session menus/toolbuttons
Change default filename pattern to JPEG
Fix session directory creation
2009-10-06 Daniel P. Berrange <berrange@redhat.com>
Wire up changes to settings propagating back to camera
Initialize control objects with current values & update display
2009-10-05 Daniel P. Berrange <berrange@redhat.com>
Add tear off image "polaroids" for thumbnails
Sort thumbnails based on last modified date
Refresh session thumbnail browser when session gets a new file
Control monitor button visibility correctly.
2009-10-04 Daniel P. Berrange <berrange@redhat.com>
Use jquery fancybox for pretty screenshot browsing
Fix RPM spec build / install / dist rules
Add many screenshots, tweak styles & make it render with IE7
Add a few tooltips to the main camera window
Flesh out basic website pages a little more
Add PNG icons for windows in all recommended sizes
Add a dummy field to private struct to avoid gobject assertion
Fix type name for progress object
Standardize header file style
Add #include <config.h> to all files
Convert over to glib logging instead of fprintf
Fix mistaken unref calls in finalizer
Add custom control objects for each type of data
2009-10-03 Daniel P. Berrange <berrange@redhat.com>
Use widget info for tooltip
Add basic widget infrastructure for displaying camera controls
Load image into main display when session browser entry is selected
Add stupidly inefficient thumbnail loading as temporary demo
Add the start of a proper icon display for session images
Add add/remove signals to session object
Add support for monitoring & autodownloading images triggered from camera
Fix padding in main split panels
Add code for generating unique, incrementing filenames for sessions
Move background thread over to camera class. Use session/images classes
Add basic classes for managing images and sessions
2009-10-01 Daniel P. Berrange <berrange@redhat.com>
Fix property name for preferences
Don't reference pixbuf in expose handler if its NULL
Add desktopfile and RPM spec and look for glade in install path
2009-09-30 Daniel P. Berrange <berrange@redhat.com>
Started a preference modules
More work on website style/content
2009-09-28 Daniel P. Berrange <berrange@redhat.com>
Tweak website navigation content
Start work on a basic set of webpages
2009-09-27 Daniel P. Berrange <berrange@redhat.com>
Turn camera list into a gobject. Refresh list in-place & emit signals
Auto-refresh device list when usb devs are hotplugged/unplugged
Control UI sensitivity based on camera capabilities
Add check that camera succesfully connected
Fix leak of glade objects in finalizers
Wire up a help about dialog
Fix up handling of close / delete events on windows
Fix many memory leaks and add image preview
2009-09-26 Daniel P. Berrange <berrange@redhat.com>
Fix memory leak in camera picker cell renderer
Basic wiring up of quit/disconnect menus & manager window delete
Wire up menu items for zoom / fullscreen
Wire up fullscreen toolbar button
Add a custom scalable image display widget. Default to 'best fit'
2009-09-25 Daniel P. Berrange <berrange@redhat.com>
Fix crash when closing camera info dialogs
Add ability to cancel progress operations
Add progress display when capturing images since it can be very slow
Convert CapaCamera into a GObject to get ref counting
Split out compile of frontend and backend
Split the frontend and backend out into separate build libraries.
This ensures only the backend can use libgphoto2 directly and
that the backend doesn't accidentally end up depending on frontend
Use a private params context per camera object
Make a note of why we skip the camera called usb:
2009-09-20 Daniel P. Berrange <berrange@redhat.com>
Wire up basic code for extracting list of controls from camera
Boilerplate classes for settings management
Add copyright headers to all source files
Crude experiment making the 'capture' button work
Add about dialog and camera information display
Tweak git ignore rules
Fix compile warnings & add warning message if no cameras are found
Add autotools magic
Initial commit of codebase
|