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 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796
|
2020-06-14 Daniel P. Berrangé <berrange@redhat.com>
Add release notes for 3.0 release
2020-06-06 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-06-06 Yuri Chornoivan <yurchor@ukr.net>
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/uk/
2020-06-06 Anonymous <noreply@weblate.org>
Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
2020-06-06 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
2020-06-06 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 99.5% (232 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-06-06 Anonymous <noreply@weblate.org>
Translated using Weblate (French)
Currently translated at 99.5% (232 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-06-06 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 99.5% (232 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-06-04 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-06-04 Anonymous <noreply@weblate.org>
Translated using Weblate (Polish)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-06-04 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 100.0% (233 of 233 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-06-03 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-06-03 Daniel P. Berrangé <berrange@redhat.com>
gitlab: use central repo as an extra cache soruce
Speed up CI for user's forks by inheriting from the primary
repo registry.
More docs comment work
Flesh out a few basics section headers for docs comments.
po: refresh pot file in prep for next release
2020-05-26 Anonymous <noreply@weblate.org>
Translated using Weblate (French)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-26 Allan Nordhøy <epost@anotheragency.no>
Translated using Weblate (Norwegian Bokmål)
Currently translated at 86.0% (197 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nb_NO/
2020-05-26 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-05-26 Anonymous <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/uk/
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
Translated using Weblate (Polish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-22 Frits Talbot <frits@metapathy.com>
Revert to new path from entangle_find_picture_dir if persisted a relative path
Fall back to G_USER_DIRECTORY_DESKTOP if G_USER_DIRECTORY_PICTURES does not exist
Return absolute path in entangle_preferences_capture_get_last_session
Fixes issues with continuing capture from a previous session while
using the default path "Capture"
Improve debug trace for entangle_session_next_digit
2020-05-22 Frits Talbot <gitlab@metapathy.com>
Implement image flip vertically, horizontally
Fixes #47
2020-05-20 Daniel P. Berrangé <berrange@redhat.com>
Update file list in docs index page
Fix error handling after deleting files
2020-05-20 Daniel P. Berrange <berrange@redhat.com>
Disable viewfinder after capturing in live view
If live view is active when capture is performed, gphoto will
automatically restart live view. This is unhelpful as it will
burn battery charge very quickly. If we immediately set the
viewfinder to off after running capture, this will prevent
gphoto from restarting it later.
Fix misc gtk-doc comment bugs
Link gresources into frontend library
The gtkdoc-scangobj function will trigger errors about missing
resource if they aren't linked into the frontend library.
2020-05-20 Daniel P. Berrangé <berrange@redhat.com>
Remove hack for running from source tree
This does not work reliably since we don't generate the compiled
gschema files until we install the app.
2020-05-18 Daniel P. Berrangé <berrange@redhat.com>
Introduce a minimal guide for contributors
2020-05-17 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-17 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-05-17 Yuri Chornoivan <yurchor@ukr.net>
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/uk/
2020-05-17 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
2020-05-17 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-05-17 Weblate <noreply@weblate.org>
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
2020-05-17 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nl/
2020-05-17 Weblate <noreply@weblate.org>
Translated using Weblate (French)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-05-17 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-05-17 Weblate <noreply@weblate.org>
Translated using Weblate (French)
Currently translated at 99.5% (228 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-05-17 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 99.5% (228 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/fr/
2020-05-17 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-17 Weblate <noreply@weblate.org>
Translated using Weblate (Polish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-17 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 100.0% (229 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-17 Weblate <noreply@weblate.org>
Translated using Weblate (Polish)
Currently translated at 99.5% (228 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-17 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 99.5% (228 of 229 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-05-17 OÄŸuz Ersen <oguzersen@protonmail.com>
src: typo fix: closeed -> closed
2020-05-17 Daniel P. Berrangé <berrange@redhat.com>
Add acute accent to name
2020-05-17 Daniel P. Berrange <berrange@redhat.com>
Use https instead of http links for website
Remove leading whitespace from README
Add translation status badges
2020-05-16 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-16 Daniel P. Berrange <berrange@redhat.com>
po: generate pot file in alphabetically sorted order
Alphabetical sorting keeps the pot file contents in a stable
order, giving clearer diffs on updates.
split release notes off from metainfo file
src: remove .in extension from desktop & metainfo files
There is no need for a separate .in extension anymore since with
meson the generated files are always in a different directory.
Removing the .in ensures that the ITS tool can match the metainfo
file.
2020-05-16 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-15 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-15 Allan Nordhøy <epost@anotheragency.no>
Translated using Weblate (Norwegian Bokmål)
Currently translated at 83.2% (209 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/nb_NO/
Added translation using Weblate (Norwegian Bokmål)
Spelling: -currently, ?
2020-05-12 Hajime Taira <htaira@pantora.net>
Translated using Weblate (Japanese)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/ja/
2020-05-12 Daniel P. Berrange <berrange@redhat.com>
gitlab: cache containers with "latest" tag
Don't use the commit ref slug as that means containers are
never cached across merge requests using different branches.
It is more effective to use a fixed "latest" tag as usually
the containers will be identical for all branches.
Display a greeting when showing the media popup
Queue a widget redraw after changing text overlay
Render text overlay in without alpha for better visibility
Switch to using a tearoff menu for image popup
The drag fail action doesn't work on Wayland displays, so we
must use a explicit tearoff menu. This also makes it more
discoverable for users.
Fixes #9
Fix bad release of popup window
To release a top level window we must use the destroy method,
not a plain unref, because this allows Gtk to release things
in the right order to avoid accessing an unref'd widget.
2020-05-11 Daniel P. Berrange <berrange@redhat.com>
Remove bogus newline in debug message
Use text overlay instead of popup window for photobox greeting
An auto-disappearing message after 3 seconds avoids the need
to manually close the window.
Fix layout of settings in photobox
The scale widget needs to be explicitly expanded.
2020-05-10 Daniel P. Berrange <berrange@redhat.com>
Add a label for shooting delay
Disable context menu when photobox is active
In captive mode, we don't want users deleting previously
captured image.
Rename some variables in photobox plugin
Run live view preview when doing countdown in photobox
Replace popup countdown window with text overlay
Rename camera connect/disconnect to open/close
The bare "connect" method clashes with the "connect" method
on the parent class when used from language bindings.
Allow media context menu to be disabled
This will allow the photobox script to block the context menu.
Save/restore cairo state around grid lines / focus points
The clipping done for drawing grid lines / focus points must
not interfere with drawing done for text overlay.
2020-05-10 Daniel Dietrich <daniel@drrdietrich.de>
Add timer for photobox plugin
This allows for a short delay before triggering capture
2020-05-06 Daniel P. Berrange <berrange@redhat.com>
Fix default window icon name
Add ability to render a text overlay on image display
This will be useful for displaying a countdown timer when shooting
2020-05-06 Weblate <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-06 Casey Jones <nahareport@yahoo.com>
Translated using Weblate (Japanese)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/ja/
2020-05-06 Michele Falappi <nittalope@gmail.com>
Translated using Weblate (Italian)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/it/
2020-05-06 Anonymous <noreply@weblate.org>
Translated using Weblate (Italian)
Currently translated at 68.9% (173 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/it/
2020-05-06 Michele Falappi <nittalope@gmail.com>
Translated using Weblate (Italian)
Currently translated at 68.9% (173 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/it/
2020-05-06 Anonymous <noreply@weblate.org>
Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/
2020-05-06 Daniel P. Berrange <berrange@redhat.com>
src: unlock mutex before releasing reference
The pixbuf loader might be releasing the last reference
on the loader itself, so we must unlock it first to avoid
accessing a free'd mutex.
Fix metainfo component type
Rename icon files to match application ID
Rename autobuild.sh script to prepare-release.sh
The autobuild project is no longer active, but the script
is used for preparing releases.
Switch to using meson for creating dist
2020-05-05 Daniel P. Berrange <berrange@redhat.com>
Wire up syntax-check as a unit test
rpm: update for changes README.rst filename
Convert appdata file to metainfo and rename it
Rename desktop file to match application ID
ci: prevent interactive prompts from apt-get
2020-04-23 Daniel P. Berrange <berrange@redhat.com>
Convert README to RST format and clarify meson install prefix
Fixes #33
Validate filename pattern when updating preferences
Refuse to update the filename pattern unless it contains
the 'XXXXXX' placeholder.
Fixes: #36
Avoid assertion if no filename was generated
If the session was unable to generate a filename to save to,
avoid assertion trying to save based on a NULL filename.
Fixes: #36
Force a default filename pattern if invalid
If the provided filename pattern is NULL, or lacks sufficient
placeholders, then force a default pattern
Fixes: #36
2020-04-22 Daniel P. Berrange <berrange@redhat.com>
gitlab: add job for running clang-format validation
Bulk reformat everything with clang-format
Introduce a clang-format configuration file
gitlab: rewrite CI jobs to use gitlab container reg
Stop using the external container registry and build
and host the images locally in gitlab.
src: convert to G_DECLARE_FINAL|DERIVABLE_TYPE
src: remove outdated conditional mutex logic
meson: enforce glib version checks at build time
src: remote use of deprecated GTimeVal
src: remove use of TYPE_GET_PRIVATE() macro
The modern approach to private data uses the standardized
method name type_get_instance_private()
frontend: fix loading of local resources from source tree
plugins: display remaining shot count and ETA
When doing repeated shooting display the remaining shot
count so the user knows the progress. Also estimate the
final completion time based on current elapsed time.
2020-04-21 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-04-16 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-04-14 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-03-24 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/tr/
2020-03-24 Piotr DrÄ…g <piotrdrag@gmail.com>
Translated using Weblate (Polish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-03-02 Michal Biesiada <biesiadmichal@gmail.com>
Translated using Weblate (Polish)
Currently translated at 93.2% (234 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/pl/
2020-02-27 Daniel P. Berrange <berrange@redhat.com>
fix deps on enum headers
We need to list generated headers as sources to get a compile
time dependency created, rather than a link time dep.
(Hopefully) Fixes issue #23 (again)
2020-02-26 Mike FABIAN <mfabian@redhat.com>
Translated using Weblate (German)
Currently translated at 93.2% (234 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.fedoraproject.org/projects/entangle/master/de/
2020-02-26 Yuri Chornoivan <yurchor@ukr.net>
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/uk/
2020-02-26 Julien Humbert <julroy67@gmail.com>
Translated using Weblate (French)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/fr/
Translated using Weblate (French)
Currently translated at 92.0% (231 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/fr/
2020-02-26 Ahmad Haghighi <haghighi.ahmad@gmail.com>
Added translation using Weblate (Persian)
2020-02-26 Manuel Quiñones <manuel.por.aca@gmail.com>
build: Create NEWS from appdata file
Move all content from NEWS to the appdata file, as "release" tags. Add
a script to create the NEWS file from the appdata file to avoid
duplication. This script is called from the make-dist script.
Note: the line wrapping was set to a value that is more or less in
between the original wrapping. Except for this and minor typos, there
shouldn't be any difference between the created NEWS and the original
one.
2020-01-13 Göran Uddeborg <goeran@uddeborg.se>
Translated using Weblate (Swedish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/sv/
2020-01-12 Göran Uddeborg <goeran@uddeborg.se>
Translated using Weblate (Swedish)
Currently translated at 92.0% (231 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/sv/
2020-01-10 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/tr/
2020-01-10 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 100.0% (251 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/nl/
2020-01-10 Pavel Borecki <pavel.borecki@gmail.com>
Translated using Weblate (Czech)
Currently translated at 92.8% (233 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/cs/
2020-01-07 Daniel P. Berrangé <berrange@redhat.com>
Merge remote-tracking branch 'weblate/master'
2020-01-07 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 6.0% (15 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/tr/
Translated using Weblate (Turkish)
Currently translated at 6.0% (15 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/tr/
2020-01-07 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 75.3% (189 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/nl/
Translated using Weblate (Dutch)
Currently translated at 66.9% (168 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/nl/
2020-01-07 OÄŸuz Ersen <oguzersen@protonmail.com>
Added translation using Weblate (Turkish)
2020-01-07 Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
Translated using Weblate (French)
Currently translated at 92.0% (231 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/fr/
2020-01-07 OÄŸuz Ersen <oguzersen@protonmail.com>
Translated using Weblate (Turkish)
Currently translated at 6.0% (15 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/tr/
Translated using Weblate (Turkish)
Currently translated at 6.0% (15 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/tr/
2020-01-07 Geert Warrink <geert.warrink@onsnet.nu>
Translated using Weblate (Dutch)
Currently translated at 75.3% (189 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/nl/
Translated using Weblate (Dutch)
Currently translated at 66.9% (168 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/nl/
2020-01-07 OÄŸuz Ersen <oguzersen@protonmail.com>
Added translation using Weblate (Turkish)
2020-01-07 Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
Translated using Weblate (French)
Currently translated at 92.0% (231 of 251 strings)
Translation: entangle/master
Translate-URL: https://translate.stg.fedoraproject.org/projects/entangle/master/fr/
2020-01-07 Daniel P. Berrangé <berrange@redhat.com>
po: remove deleted translations from LINGUAS list
po: update notes about using Weblate instead of Zanata
po: delete empty translation files
Weblate only wants to store actively used translations
2020-01-03 Daniel P. Berrange <berrange@redhat.com>
po: import pot file
Weblate is simplest to use when the pot file is committed,
despite the cost of updating it periodically to reflect
new source strings.
2019-12-16 Daniel P. Berrangé <berrange@redhat.com>
po: refresh translations from zanata
2019-09-22 Manuel Quiñones <manuel.por.aca@gmail.com>
Add content_rating and releases fields to appdata file
To pass appstream-glib validation with `appstream-util validate`. The
release description is copied from the NEWS file. Only the latest
release is added.
2019-08-06 Daniel P. Berrangé <berrange@redhat.com>
build: fix author list in dist
2019-06-19 Daniel P. Berrangé <berrange@redhat.com>
Remove warnings about overlength strings
We only care about gcc / clang compilers, so overlength strings are not
a portability issue we need to fix.
m4: remove leftover files from autoconf
The m4 files are not used now we have meson as the build system.
2019-05-28 Daniel P. Berrange <berrange@redhat.com>
Refresh translations from zanata
2019-01-13 Daniel P. Berrange <berrange@redhat.com>
Update news for 2.0 release
Refresh translations from zanata
Don't lookup current monitor
At the point we populate the menus, the window is not mapped,
so we don't know what monitor it will be on. The
gtk_widget_get_window() call will return NULL.
Require gtk >= 3.22
Since we require gobject introspection >= 1.54, we know
the distro will have gtk >= 3.22 too.
2019-01-12 Daniel P. Berrange <berrange@redhat.com>
Set GI_TYPELIB_PATH if needed
To ensure that typelib files are found, set the GI_TYPELIB_PATH
env variable on startup. Also document this to encourage users
to set it ahead of time.
Set gschema dir before initializing gtk
Fix documented gtk version
Enforce newer gobject-introspection
Versions before 1.54 have problems linking in certain libraries,
resulting in nonsensical messages such as:
ERROR: can't resolve libraries to shared libraries: gstvideo-1.0
despite the libraries existing. There does not appear to be any
easy workaround, so we must mandate a fixed version.
Add a direct dep on the backend
The entangle-main.c file can sometimes be built before the
backend enums have been generated.
(Hopefully) Fixes issue #23
Add workaround for broken combo boxes on GTK with Wayland
On GTK >= 3.22 with the Wayland display, combo boxes with
lots of items do not display the popup correctly. Workaround
this by requesting the alternative layout mode. This is less
attractive, so only do it for combo boxes with more than 15
items.
2019-01-06 Daniel P. Berrange <berrange@redhat.com>
Fix leak of preferences strings
Use gtk_widget_destroy instead of g_object_unref on picker window
Using g_object_unref results in a double free of the top level window
Fix leak when finding gvfs mounts
Fix leak of camera controls
Fix leak of option context
Fix leak of string during DnD
Fix leak of preferences string values
Fix leak of string
Fix leak of string and object
Fix leak of URI string
Fix leak of session dir
Fix leak of pixbuf loader
Hold a reference on the manager class while processing events
Avoid out of bounds read when checking property
Adapt gvfs mount detection to cope with latest URI scheme.
Instead of using URIs based on USB port:
gphoto2://%5Busb%3A003,026%5D/'
gvfs now uses the udev serial ID string like:
gphoto2://NIKON_NIKON_DSC_D90_000002602099/
2019-01-05 Daniel P. Berrange <berrange@redhat.com>
Use gtk_widget_destroy instead of g_object_unref on presentation window
Using g_object_unref results in a double free of the top level window
Fix window title in full screen mode
2019-01-01 Daniel P. Berrange <berrange@redhat.com>
Remove deleted file from POTFILES list
Expand CI commands
Give unique names to each CI job
Add a demo gitlab CI recipe
2018-12-31 Daniel P. Berrange <berrange@redhat.com>
Fix build with old gtk
2018-12-09 Daniel P. Berrange <berrange@redhat.com>
Add more fields to appdata file
Update mailing list URL in appdata file
Update copyright header dates
Fix reference counting during camera manager destroy
Remove application menu as it is going away
GTK 3.32 will be removing the application menu concept
https://blogs.gnome.org/aday/2018/10/09/farewell-application-menus/
2018-12-08 Daniel P. Berrange <berrange@redhat.com>
Fix redraw when changing image display settings
Switch to G_DEFINE_TYPE_WITH_PRIVATE
Disable -Wcast-function-type warning
Add preferences & keyboard shortcut for overexposure highlighting
2018-12-08 Lowell Johnson <ldj00@sio.midco.net>
Highlight over-exposed pixels in red
Change any pixels with the maximum component value to a bright
red to highlight overexposed regions of the image.
2018-12-06 Frank Kalf <frank@frankkalf.nl>
Update nl.po
2018-12-05 Daniel P. Berrange <berrange@redhat.com>
Refresh po files from zanata
2018-12-05 Lowell Johnson <ldj00@sio.midco.net>
Fix histogram range
The histogram range is currently from 0 - 254. Add 255 to the range
so that clipped pixels are included.
2018-12-05 Alexandre Franke <alexandre.franke@gmail.com>
Add Photography subcategory
2018-04-18 Daniel P. Berrange <berrange@redhat.com>
Add more keyboard shortcuts
2017-11-14 Daniel P. Berrange <berrange@redhat.com>
Fix typo in photobox plugins
Fix dep on libraw
Fixes bug #25
2017-10-10 Daniel P. Berrange <berrange@redhat.com>
Don't enable -Werror by default
Ignore entangle.pot file
Update po files from zanata
Remove glade annotations for .ui files
xgettext no longer requires the magic annotations for file
types.
Fix release date for 1.0
Update NEWS for 1.0 release
Don't set subtitle on window
GTK recommendation is to not put application name in the window
title. Just put the camera model as the window title.
Set actions for capture/preview/cancel buttons
Add shortcuts help overlay support
2017-10-04 Daniel P. Berrange <berrange@redhat.com>
Add keyboard accelerators
Update copyright date to 2017
Set camera model in header bars
Fix removal of photobox menu
2017-10-01 Daniel P. Berrange <berrange@redhat.com>
Fix photobox to work with new UI layout
2017-09-21 Daniel P. Berrange <berrange@redhat.com>
Switch over to meson build system
2017-09-11 Daniel P. Berrange <berrange@redhat.com>
Tweak to spacing in supported cameras dialog
Ensure plugin panel expands to fill dialog
Ignore the build/ directory
Enable close button for about dialog
Switch over to using the header bar model
Remove the menubar entirely and add a header bar with drop down
menus.
Don't try to scroll session browser if not realized
Delay realization of window
Realizing the window in the constructor breaks setup of the
applicaton menu for unknown reasons.
Add custom application menu
Pass application into camanager manager constructor
Remove unused entangle window helper code
Convert manager window to widget template system
Convert preferences window to widget template system
Convert media popup window to widget template system
Convert about dialog to widget template system
Convert camera support to widget template system
Convert camera picker to widget template system
Manually build the session browser menu
Switch to compiling UI files into binary
2017-09-06 Daniel P. Berrange <berrange@redhat.com>
Move preferences dialog handling into app.
Switch over to using actions instead of signals
Switch the main camera window to use actions instead of
signals.
Add missing cairo restore in session browser
2017-09-03 Daniel P. Berrange <berrange@redhat.com>
Emit popup-close event correctly
Update min gtk in UI files to 3.10 and remove deprecated boxes
2017-08-25 Daniel P. Berrange <berrange@redhat.com>
Update news for 0.7.2 release
2017-08-19 Daniel P. Berrange <berrange@redhat.com>
Use %global instead of %define
Add eclipse plugin to RPM
Add plugin for capturing eclipse corona during totality
Specify which ISO level and aperture is being used. The plugin
then determines the range of shutter speeds to be used to
capture the solar eclipse corona during totality.
Adapt to escaped URI scheme
Originally gphoto2 gvfs URIs looked like
gphoto2://[usb:003,012]/
But on Fedora 25 or later they are escaped
gphoto2://%5Busb%3A003,012%5D/
so we must check both formats
Remove leftover debug messages
2017-08-04 Daniel P. Berrange <berrange@redhat.com>
Ignore more files
Fix test for symbolic icon theme
Add check on gstreamer plugins base for gstvideo
2017-08-03 Daniel P. Berrange <berrange@redhat.com>
Fix size of overlay to re-show scroll bars
Add ability to enter IP addr of network camera
Disable unsafe loop optimizations warning
Set new bug reporting address
2017-05-17 Daniel P. Berrange <berrange@redhat.com>
Set a size request on the settings viewport
Avoid warnings about settings viewport scrollbars:
(entangle:4803): Gtk-WARNING **: Allocating size to
GtkScrolledWindow 0x5563b057f200 without calling
gtk_widget_get_preferred_width/height(). How does
the code know the size to allocate?
Fix motion-notify event return value
The motion-notify event needs to return gboolean FALSE
value to ensure other event handlers run. This bug
prevent dragging of the main window, when built with
-fstack-protector
Fix spec file for file renames
Fix docs for file renames
Avoid gtk_menu_popup deprecated function
Avoid gtk_show_uri deprecated function
Avoid deprecated GDK monitor functions
Remove check for DBus GLib binding
The need for DBus was removed when HAL support was dropped:
commit fc1e48d16a2d8fb084ea3549082a0bd5f680b614
Author: Daniel P. Berrange <dan@berrange.com>
Date: Sun Nov 20 19:31:31 2011 +0000
Remove HAL support & make peas/introspection compulsory
2017-05-17 Matteo F. Vescovi <mfvescovi+gitlab@gmail.com>
Extend GNOME icon check to Adwaita theme
The Adwaita icon theme now includes symbolic icons, so there is
no need to use the GNOME symbolic icon theme. Leave the check
present for people not using Adwaita though.
2016-07-12 Daniel P. Berrange <berrange@redhat.com>
Remove signal handler callbacks from class structs
The signal handler callbacks in class structs serve
no useful purpose, so delete them.
Remove prototypes for non-existant methods
2016-07-11 Daniel P. Berrange <berrange@redhat.com>
Ensure session browser scrolls to right fully
When scrolling to the right we must not only add the item size,
but also twice the margin, to ensure we scroll over the full
extent of the adjustment.
Ensure highlight always has at least 1 pixel visible
When highlighting square format images the highlight won't
be visible ensure we allow a 1 pixel border.
2016-07-03 Daniel P. Berrange <berrange@redhat.com>
Add support for loading videos in session
When scanning files to add to session use the mime type to pick
files, instead of the file extension. Allow image/* and video/*
as valid files
Introduce EntangleVideo class
Introduce a new media subclass for representing video files.
It can be backed by a video file, or a dynamically created
source using GStreamer.
Draw symbolic icons for video/image files in session browser
Prior to the real pixbuf being available, draw symbolic icons
in the session browser to represent video/image files.
Don't try to get status if no media is present.
Generalize camera manager to deal with media files
Remove assumption that current media is always an image
from the camera manager. It now deals with any media
file types.
Generalize session browser to deal with media files
Generalize the session browser API so that it works in terms
of EntangleMedia objects instead of EntangleImage. Non-image
objects are just rendered blank.
Rename EntangleImagePopup to EntangleMediaPopup
The image popup class can trivially support any type of media
so rename it to EntangleMediaPopup.
Rename EntangleImageStatusbar to EntangleMediaStatusbar
Metadata is associated with the EntangleMedia base class,
so the image statusbar can trivially be renamed to cope
with any type of media.
Generalize EntangleSession to deal with media files
Generalize EntangleImage class to create EntangleMedia
Prepare for support of videos by creating a base class
for media files.
Remove auto drawer class in favour of Gtk built-in widgets
GTK 3.10 includes the GtkOverlay and GtkRevealer widgets
which obsolete the need for the custom auto-drawer / overlay
widgets.
Use GdkSeat APIs for getting pointer where available
Remove invalid transfer mode annotation
Remove bogus return value annotation from camera class
2016-02-21 Daniel P. Berrange <berrange@redhat.com>
Fix typo in release NEWS
Add dep on libpeas-loader-python3
Updates to 0.7.1 release
Refresh translations from Zanata
2016-02-10 Daniel P. Berrange <berrange@redhat.com>
Draw symbolic icons for video/image files in session browser
Prior to the real pixbuf being available, draw symbolic icons
in the session browser to represent video/image files.
Handle setting of NULL image in image display
The set_image_list method correctly handled NULLs, but the set_image
method would get things wrong trying to set an image list containing
a single element instead of zero elements.
Refresh image statusbar labels immediately
Don't wait for the 'metadata' property to be notified when setting
the media for the statusbar - if the metadata is already loaded,
this signal will never arrive. So always set the labels immediately
Fix bounds check in session browser key press
When processing right key press check boundary condition
so we don't move selection past the last item
2016-01-04 Daniel P. Berrange <berrange@redhat.com>
Fix deselecting current image when it is deleted
Process the 'image removed' signal even when it reports NULL
for the selected image, since we must de-select the current
image if the last image is deleted.
Rewrite session browser to dynamically size
Remove all remaining traces of cell layout infrastructure
and directly render images from the session data model.
Dynamically scale the images to fill the available height
using cairo for scaling at time of render.
Switch to generating 256 pixel large thumbnails
128 pixel "normal" thumbnails are just too small with modern
hidpi displays
Keep images in session sorted by last modified
Make nikon fine focus step size smaller
At a value of 4 a D90 often reports
"Nikon manual focus stepping too small"
So pick 8 as fine step size.
Trivial indent fix
Flush events after capturing
If we don't flush events after capturing, then when in preview
mode we never process outstanding events. This leads to old
camera events arriving when we stop preview mode, which can
mistakenly cause gphoto to start preview again !
Fix error reporting when saving camera controls
Get rid of ENTANGLE_ERROR macro
Render image status overlay partially transparent
Remove style override from overlay box
Remove gtk_adjustment_changed calls
The gtk_adjustment_changed() method is called automatically by
GTK when neccessary, so don't call it manually.
Remove style context override in session browser
With the dark theme, the default style matches what we need so
don't override the style context. This avoids hitting deprecated
GTK functions.
Remove unused 'wait' function from shooter plugin
Specify versions when importing libs
Switch to use gdk_cursor_new_for_display
gdk_cursor_new_for_display() is preferred over gdk_cursor_new()
which is now deprecated
convert to use GTask instead of GSimpleAsyncResult
GSimpleAsyncResult has been deprecated in recent GIO, so
switch over to use GTask internally.
2015-05-10 Pascal Mons <pascal_mons@hotmail.com>
Misc fixes to the help docs
Fix spelling errors and use capitalization of all
nouns/verbs in titles.
2015-03-18 Daniel P. Berrange <berrange@redhat.com>
Explicitly link to backend library for strict linkers
2015-03-17 Daniel P. Berrange <berrange@redhat.com>
Updates for 0.7.0 release
Update translations from zanata
Add autoconf make for dealing with patches to configure/Makefiles
Add itstool and gtk-doc to RPM deps
Remove unused variable
2015-03-13 Daniel P. Berrange <berrange@redhat.com>
Update repo url to gitlab.com
2015-03-12 Daniel P. Berrange <berrange@redhat.com>
Add further help manual pages
Remove left over reference to progress bar
Replace progress bar with a spinner
The progress bar in latest GTK does not render in a way
that is attractive in the toolbar. In addition file downloads
are fast enough that detailed progress info is not really
needed. It is sufficient to just use a spinner button to
show the user that an operation is taking place.
2015-03-11 Daniel P. Berrange <berrange@redhat.com>
Introduce plugin for repeated shooting sequences
Add a 'shooter' plugin which allows shooting to be repeated
in a sequence with an optional gap between shots.
Add workaround for gphoto camera busy problems
After downloading and/or deleting files, it is often not
possible to capture / preview an image right away, as the
camera reports busy. Add a 100ms sleep to give it time to
come back to life. This should really be fixed in gphoto
and reverted here later.
Add a simplified script class to help non-C plugins
The gobject introspection based languages have problems
with propagating GErrors to & from the C layer, as well
as dealing with the async ready callbacks. Introduce a
simplified script class that avoids these problems.
This relies on GTask introduced in glib 2.36
Add framework for scripting capture operations
Add a new EntangleScript class to be used for scripting the
capture of images on the camera. The EntangleScriptConfig
class provides user interface for configuring scripts.
Switch to using a shared library instead of static
When linking to static convenience libraries, the linker will
drop any .o files which are not referenced in the final
executable. This is despite the fact their symbols may be
exported for using by dynamically loaded plugins. Switch to
using a shared library so all code is guaranteed to be kept
available.
Remove duplicated compiler flags when linking
2015-03-08 Daniel P. Berrange <berrange@redhat.com>
Introduce a yelp application manual
Update copyright dates
Set default window icon for application
2015-03-06 Daniel P. Berrange <berrange@redhat.com>
Switch from transifex to zanata for managing translations
To update
# cd po
# rm entangle.pot
# make entangle.pot
# zanata push
# zanata pull
2015-03-04 Daniel P. Berrange <berrange@redhat.com>
Import new logo files
Bug #22528
2015-02-05 Daniel P. Berrange <berrange@redhat.com>
Updates for 0.6.1 release
Refresh translations from transifex
Add keywords to desktop & appdata files
Revert "Fix capture during live view"
This reverts commit 7af569be4ff35c4ca340c58878ee88a48beca910.
Revert to old behaviour, because disabling live view before capture
breaks ability to use manual focus :-(
2014-11-27 Daniel P. Berrange <berrange@redhat.com>
Fix photobox plugin for recent widget name changes
Fix capture during live view
When the capture target is set to "memory card" an "PTP busy" error
will be received when trying to capture an image while live view is
active. Workaround this by explicitly disabling live view when
capturing an image, instead of letting gphoto do this for us.
Workaround gphoto bug detecting changed value for viewfinder.
Avoid memory leak when waiting for camera events
2014-11-07 Daniel P. Berrange <berrange@redhat.com>
Prevent over exposure of raw files
Disable libraw auto brightness feature which totally overexposes
dark images like deep sky shots.
2014-10-23 Daniel P. Berrange <berrange@redhat.com>
Fix ordering of restoring controls to honour preferences
Make the control panel editable
Add a button with a popup menu to allow the list of controls
to be changed.
Rip out layout cruft from session browser that confused GTK
The session browser re-layout code was causing problems with
rendering in GTK resulting in major UI problem. Rip it all
out since it didn't appear to have any beneficial purpose.
Allow camera picker to show more than one line at a time.
Remove use of GtkMisc APIs
Remove code to disable double buffering
GTK3 basically needs to have double buffering turned on all the
time, so don't disable it.
Convert float to double
Floats are promoted to doubles when passed to var-args, so remove
the explicit casts to float in favour of double.
Rewrite condition to avoid gcc signed overflow warnings
Import new manywarnings.m4 module from gnulib
Skip -Wbad-function-cast warning
GLib triggers warning
warn.c: In function ‘foo’:
warn.c:7:385: warning: cast from function call of type ‘long unsigned int’ to non-matching type ‘void *’ [-Wbad-function-cast]
if (g_once_init_enter (&initialization_value))
but this cast is entirely expected and harmless so we should not
warning on this.
Fix some syntax check errors with tabs and for loops
2014-10-05 Daniel P. Berrange <berrange@redhat.com>
Introduce per-camera model preferences to record control UI
To prepare for customizable control panels, introduce a camera
preferences object that will be created once per model name.
Rewrite control panel to not suck so much
Instead of adding all camera controls by default, only add a
small useful set (aperture, shutter, iso, white balance, quality
and image size).
Require GTK 3.4
2014-10-04 Daniel P. Berrange <berrange@redhat.com>
Strip trailing '2' from widget labels
Some settings have multiple widgets and gphoto adds a trailing '2'
so strip this off.
Make entangle_control_group_get_by_path recursive
Ensure that entangle_control_group_get_by_path can find child
widgets to arbitrary depth by making it recursive
Set a more sensible min height for histogram
Move preferences object into the frontend
The preferences are inherantly related to the user interface so
should be part of the frontend codebase.
Avoid adding the same plugin to preferences multiple times
2014-10-01 Daniel P. Berrange <berrange@redhat.com>
Refactor camera operation out into a new automata object
To facilitate its use in scripts, pull the code for controlling
camera capture/preview out into a separate automata object.
2014-09-30 Jehan <jehan@girinstud.io>
Support of freedesktop's Thumbnail Management Standard.
Add electronic shutter sub-option to continuous preview mode.
2014-09-29 Jehan <jehan@girinstud.io>
Minor configure bug on gio dependency check.
2014-09-21 Daniel P. Berrange <berrange@redhat.com>
Add missing capture icons to Makefile.am
2014-09-19 Jehan <jehan@girinstud.io>
Fix support for VPATH builds
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
|